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)))