エクセルで現金の収入・支出の帳簿を月ごとに
作成しようとしています。帳簿の書式は以下の通りです。

A列→日付
B列→摘要欄(収入・支出の具体的内容)
C列→収入金額
D列→支出金額
E列→残高金額

なお、E2セルには前月までの繰越金額を入力しています。
また、E3からのセルには「=E2(残高)+C3(収入)-D3(支出)」
の関数式を組んでいます。

ところが帳簿をつける係は私の母親で、各セルにテンキーを
入力するのが精いっぱいです。「コピペ」のことを覚えてもらう
のが大変困難です。そこで入力者が頼りないので、
予め表に関数式を組もうと考えています。

収入・支出があった時点で、E4以下のセルに「コピペ」で
「=E2+C3-D3」の関数式を組めばいいのですが、
それでは、E列全体にその関数式の答えである残高が
表記されてしまい、見栄えがよくありません。

前振りが長くなって申し訳ありません。
ここからが質問の具体的内容です。

上記のようなケースでC列(収入)やD列(支出)が、
未発生のときについては、同行のE列(残高)の
数値が未表示となるよう関数式を教えてください。

手書きのノートで同じ作業をすれば、最後に収入・支出が
発生した時の残高がノートの途中に残り、それより下の
残高欄は空白になると思いますが、イメージ的にはそんな感じです。

ご存知の方どうぞよろしくお願いします。
なおパソコンはWindows Vistaを使っています。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

こんばんは!


一例です。
E3セルに
=IF(COUNTBLANK(C3:D3)=2,"",E2+C3-D3)
という数式を入れオートフィルで下へコピーではどうでしょうか?m(__)m
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。

ダミーで帳簿を作って検算をしてみたら
ちゃんと帳尻が合いました。

お礼日時:2011/04/14 08:59

 回答番号:ANo.3です。



>ただ残念ながら以下の式を使って
検算をしてみたところ帳尻が合いませんでした。

>=IF(COUNT($C3,$D3)=0,"",$E$2+SUM($C3:$C3)-SUM($D$3:$D3))

 申し訳御座いません、回答欄に数式を入力した際に、入力ミスをしてしまい、Cを1つ余分に入力しておりました。。

[誤]

=IF(COUNT($C3,$D3)=0,"",$E$2+SUM($C$C3:$C3)-SUM($D$3:$D3))


[正]

=IF(COUNT($C3,$D3)=0,"",$E$2+SUM($C$3:$C3)-SUM($D$3:$D3))


 補足欄に書かれた質問者様の式は、収入の合計を求める際に、

SUM($C3:$C3)

という様に、合計範囲が始まるセルを指定する部分を、行番号を相対参照にしておられる事が、帳尻が合わなくなる原因です。
 ですから、範囲の始まりのセルの行番号を指定する部分も、絶対参照となる様に$を付けて

SUM($C$3:$C3)

として下さい。


>1.$E$2→E2にして絶対参照を外す。

 その様にされては、もし、1つ上の行のE列のセルが空欄となった場合には、それ以下の行における残高の計算が狂います。(試しに、収入と支出の両方共、空欄にした行を、途中に設けてみて下さい)
 $E$2の部分は、絶対参照のままの方が宜しいです。


>2.SUM($C3:$C3)-SUM($D$3:$D3)をSUM($C3:C3)-SUM($D$3:D3)とする。

 その数式をE4以下にコピーする場合には、2の変更を行っても、計算結果には全く影響しませんから、2の変更は無意味です。
 アルファベットの前の$は、列番号を絶対参照とするもので、列が変わっても指定する列番号が変わらない様にしています。
 E3セルをコピーして、E4以下に貼り付けても、列は同じE列のままですから、列番号を絶対参照にした場合と、列番号を相対参照にした場合とでは、結果が変わる訳ではありません。
 一方、数字の前の$は、行番号を絶対参照とするもので、行が変わっても指定する行番号が変わらない様にしています。
 そのため、

SUM($C$3:$C3)

という数式と

SUM($C3:$C3)

という数式を、E3セルに入力してから、E4以下に貼り付けた場合を比較すると、合計するセル範囲は次の様に変化します。

E3 $C$3:$C3 $C3:$C3 $C3:C3
E4 $C$3:$C4 $C4:$C4 $C4:C4
E5 $C$3:$C5 $C5:$C5 $C5:C5
E6 $C$3:$C6 $C6:$C6 $C6:C6

 この様に、E4以下に貼り付けた場合には、$C$3:$C3以外の範囲設定以外では、C3から、その行までの合計にはなっていません。
 合計範囲が正しくないため、

SUM($C3:$C3)

では、正しい結果が得られず、

SUM($C$3:$C3)

にする必要がある訳です。
    • good
    • 0
この回答へのお礼

たびたびのご回答ありがとうございます。

=IF(COUNT($C3,$D3)=0,"",$E$2+SUM($C$3:$C3)-SUM($D$3:$D3))
の式を入力してコピペすると帳尻が合いました。

お礼日時:2011/04/15 08:31

エラーチェックと言いますがエラーではなく,エクセルのお節介機能の一つです。


添付図のような警告だった場合,リストに並べた数式が自分の行や列とずれたセル範囲を参照しているので,計算範囲がズレてませんか?と確認を出してきています。

黄色い!からエラーチェックオプションのダイアログを出し,添付図のように余計な事は考えなくて良いよと設定を変えてしまいます。
「関数式の答えの表示を予め消す方法」の回答画像4
    • good
    • 0
この回答へのお礼

たびたびのご回答ありがとうございます。
エクセルのおせっかい機能の一つとして
気にしないようにします。

お礼日時:2011/04/14 23:02

 その様な場合には、



=IF(COUNT(C3,D3)=0,"",E2+C3-D3)

とします。
 COUNT関数は、括弧内に指定されているセル、或いはセル範囲に、数値が入力されているセルが幾つあるのかをカウントする関数です。
 IF関数は、

IF([論理式],[真の場合],[偽の場合])

という形式で表され、
[論理式]の部分が成り立っている場合には、[真の場合]の部分で指定される値を表示し、
成り立っていない場合には、[偽の場合]の部分で指定される値を表示する関数です。

 ですから、

=IF(COUNT(C3,D3)=0,"",E2+C3-D3)

という関数は、C3セルとD3セルの2個のセルの内、数値が入力されているセルが0個の場合、即ち、数値が入力されているセルが無い場合には、

""

という部分で、「"」で囲まれた内容を表示します。
 この場合は""の中には何も無いため、
即ち、C3セルとD3セルの2個のセルの内、数値が入力されているセルが無い場合には、何も表示しない様にするという訳です。
 そして、C3セルとD3セルの2個のセルの内、数値が入力されているセルが、0個では無い場合、即ち、数値が入力されているセルがある場合には、

E2+C3-D3

の計算結果が表示されます。


 尚、C列とD列に入力が無い場合には、E列に何も表示させない様にすると、途中の行に収入や支出が無い行、例えば、何かの補足等だけが入力されている行が存在すると、E列の表示の途中に空欄の行が1行挟まる事になり、

E2+C3-D3

の計算結果が

0+C3-D3

という事になってしまい、その行よりも上の行の残高が反映されなくなります。
 ですから、前月までの繰越金額が、毎月必ずE2セルに入力されているものとすれば、E3に入力する関数は、次の様な数式とした方が、良いかも知れません。

=IF(COUNT($C3,$D3)=0,"",$E$2+SUM($C$C3:$C3)-SUM($D$3:$D3))

 この式をE3セルに入力してから、E3セルをコピーして、E4以下に貼り付けておけば、例えばE4セルの数式は、

=IF(COUNT($C4,$D4)=0,"",$E$2+SUM($C$3:$C4)-SUM($D$3:$D4))

という様に、Excelが自動的に4行目に合う様に変換してくれます。
 SUMは指定された範囲に存在する数値の合計を求める関数ですから、

SUM($C$3:$C4)

という部分は、C3~C4の合計、即ち、3行目~4行目の収入の合計値になります。

SUM($D$3:$D4)

という部分は、D3~D4の合計、即ち、3行目~4行目の支出の合計値になります。

$E$2

という部分は、E2セルの値、即ち前月までの繰越金額になります。
 従って、

$E$2+SUM($C$3:$C4)-SUM($D$3:$D4)

の部分は、

前月までの繰越金額+その行までの収入の合計-その行までの支出の合計

を表し、収入や支出に記入漏れが無い限りは、その行の残高の値になります。

この回答への補足

早速のご回答ありがとうございます。

ただ残念ながら以下の式を使って
検算をしてみたところ帳尻が合いませんでした。

=IF(COUNT($C3,$D3)=0,"",$E$2+SUM($C3:$C3)-SUM($D$3:$D3))

他の回答者様と比較して自分なりに分析したところ

1.$E$2→E2にして絶対参照を外す。
2.SUM($C3:$C3)-SUM($D$3:$D3)を
 SUM($C3:C3)-SUM($D$3:D3)とする。

にした方がいいのではないかと思い、変えてみたところ
繰越残高(E2セル)と各収入金額の合算は、
合致ししました。ただそこから支出金額を引くとなると
数値が合わなくなります。

他に改善する点がお気づきでしたら
ご教示願います。

お忙しいところ誠に恐れ入りますが、
よろしくお願い申し上げます。

補足日時:2011/04/14 09:50
    • good
    • 0

>「=E2+C3-D3」の関数式を組めばいいのですが、



この式と「数値を未表示にする」を組み合わせると,エラーの原因になります。

E3:
=IF(C3+D3,SUM($E$2,$C$2:C3)-SUM($D$2:D3),"")
以下コピー
などのようにしてみます。

この回答への補足

早速のご回答ありがとうございます。

ダミーで帳簿を作って検算をしてみたら
ちゃんと帳尻が合いました。

ただE列(繰越残高)についてE2セルと
その時で最終記入したE列のセル以外の
セルの左端に緑の三角がついて、
エラーのお知らせがつきます。

これらのセルは「エラーを無視する」という
ことで処理してもよろしいでしょうか?

たびたびの質問、誠に恐れ入ります。

補足日時:2011/04/14 09:10
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング