10/05/2022

Excel。入出金表の残高を手早く算出したいので、どのような数式にしたらいいの【Balance】

Excel。入出金表の残高を手早く算出したいので、どのような数式にしたらいいの

<IF+SUM関数>

単純そうなんだけど、意外とアイディアが必要になる数式というのがあります。


例えば、預金通帳をはじめとした、入出金表です。


次の表で説明します。


D列の残高は、現金残高なので、当然のことながら、行ごとの減算では算出することはできません。


要するに、D3に、

=B3-C3

という数式はありえないわけですね。


ひとつ上のセルの値に、入金。

つまりB列の数値があれば、和算しなければいけませんし、C列の出金に数値がある場合には、減算しなければいけないわけです。


また、修正などのことを考慮すると、D列の数式は、すべて同じにしたほうが、都合がいいわけですね。


そこで、

=D2+(B3-C3)


という数式をD3に設定してみると、残念ながら「#VALUE!」というエラーが表示されてしまいます。


なぜ、D2を設定したのかというと、入金-出金した値を上のセルに足すためですね。


しかし、D2には、「残高」という見出し行の文字が入力されています。


文字と数値を計算することはできませんので、「#VALUE!」というエラーが表示されてしまったわけです。


考え方はいいのですが、単純な四則演算では、このようにエラーが表示されてしまいます。


そこで、SUM関数をつかうことで、解決することができます。

D3につぎの数式を設定して、オートフィルで数式をコピーしました。


=SUM(D2,(B3-C3))


このように、単なる四則演算であっても、SUM関数をつかうことで、エラー表示を回避することができます。


なおSUM関数は、範囲選択内の数値以外は対象外になるので、エラーが発生しないわけですね。


あと、プラスアルファとして、D6は入金・出金の入力が無いにも関わらず、残高が表示されているので、IF関数をつかって、入力がなければ、空白のままにするといいですね。


そこで、数式を次のように修正してみるといいですね。

=IF(A3="","",SUM(D2,(B3-C3)))