都道府県穴埋めゲーム

添付したような、会計(家計簿的な)収支表を作成したいと考えております。
収入だけのときも、支出だけのときもあります。K列とL列にどのような関数の式がよいのか、思いつくままに別の関数で式を組んでみました。

K列には=SUM($G$2:G2)-SUM($I$2:I2)の式を、
L列には=SUBTOTAL(109,$G$2:G2)-SUBTOTAL(109,$I$2:I2)の式を組みました。

結果は同じなので、問題はなさそうなのですが、表をスッキリさせる意味で、G4、I4は空欄の為、K列やL列の結果セルK4、L4も空欄にしたい。上記の関数式ですと、収入、支出変動がない場合は、前の行の値がそのまま入力されてしまいます。このような場合の対処の仕方を教えてください。もちろん表の最終形にはK列かL列の片方を採用します。上記以外の最適な関数式もあればご教授ください。

なお、G列にはD列E列からの掛算式を組んでいます。また、収入だけのときも、支出だけのときもあるので、手入力もします。

「エクセル2007 空欄セルの扱い」の質問画像

A 回答 (4件)

添付画像が薄くて見難い。


やりたいことも文章にストレートに書いてないので、質問の目的がよくわからない。
自分の作った式だけ書いても真意は伝わらない。文章で文言なりを添えること。質問者が超ベテランであれば書いた式に疑いも無いのだろが。このの質問コーナーはそんなレベルではない。
ーー
「収入セル、支出セルとも数字が入力なければ、残高欄は空白にしたい」
この1行で同ですか。
収入支出残高残高
764007640076400
52000128400128400
128400
3100030340129060129060
10000119060119060
左側の式は私の例場合D列で
D2 =+A2-C2
D3 =D2+A3-C3
以下式複写
右側の式は私の例の場合F列で
F2セルは =IF(AND(A2=0,C2=0),"",A2-C2)
F3セルは =IF(AND(A3=0,C3=0),"",D2+A3-C3)
以下行は式複写
結果上記の通り。
SUMやSUBTOTALを使う意味がよくわからない。文字列セルがあっても数字だけ足してくれる機能にX風目したのか。
私は帳簿付けの収入ー支出ー残の仕組みを使った。
本来数字が来る列に説明コメントなどはいらないものとして。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。私の知識レベルが低すぎたみたいです。文才もなく申し訳ございません。ご回答中の・・

収入支出残高残高
764007640076400
52000128400128400
128400
3100030340129060129060
10000119060119060

の意味すら、解りませんでした。
ありがとうございます。

お礼日時:2011/07/03 11:12

残高を出すのは,ふつーにSUM関数だけで十分です。


SUBTOTAL関数は,オートフィルタと併用して「絞った結果見えている行だけを集計する」のに使います。
今の表から,たとえば「特に会合の行だけ集めて」収支を集計したいみたいな特殊なことをしたい時には利用できますが,拝見した限りではあまりそういう使い方は無いと思います。


今のところ返金(マイナスの収入や支出)は無い予定なので
K2:
=IF(SUM(G2,I2),SUM($G$2:G2)-SUM($I$2:I2),"")
のような計算で十分と思います。




#別の方法
「おつり」って何か最初判りませんでしたが,折角J列を作ったなら残高もこちらから計算する手もあります。

J2:
=G2-I2
K2:
=SUM($J$2:J2)
#参考:あなたの考えた「=SUM($G$2:G2)-SUM($I$2-I2)」のままでも構わない

さらにJ列を選択,ホームタブの「条件付き書式▼」から「新しいルール」で「数式を使用して書式設定するセルを決定」を開始,
数式として
=OR(G1="",I1="")
書式ボタンで表示形式のユーザー定義を選び
;;;
と設定しておきます

K列を選択,ホームタブの「条件付き書式▼」から「新しいルール」で「数式を使用して書式設定するセルを決定」を開始,
数式として
=AND(G1="",I1="")
書式ボタンで表示形式のユーザー定義を選び
;;;
と設定しておきます
「エクセル2007 空欄セルの扱い」の回答画像3
    • good
    • 0
この回答へのお礼

早々のご回答、ありがとうございました。言葉足らずな感じでしたが、私の主旨を読み取って頂きその上、ご丁寧な回答まで下さり、大変感謝申し上げます。
「おつり」の表現をして混乱を招いたのかもしれませんが、これは「差益」とでも言いましょうか。残金に上乗せする金額でもあります。
なかなかハイレベルなご回答ではありますが、自分なりの検証も含めご検討させていただきます。
先生のエクセル知識に脱帽です・・。
ありがとうございました。

お礼日時:2011/07/03 11:09

回答No1です。


このようなときはSUM関数を使うようにすればよいでしょう。
表現が間違っていましたね。COUNT関数でG列やI列に数値のデータがあるときにのみSUM関数を使うようにすることですね。
    • good
    • 0

このようなときはSUM関数を使うようにすればよいでしょう。



例えばK2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(COUNT(G2,I2)>0,SUM(G$2:G2)-SUM(I$2:I2),"")

L2セルについても同じようにすればよいでしょう。
    • good
    • 0
この回答へのお礼

早々のご回答、大変感謝いたします。ご指摘の方法にて実行すると、セル左上にエラーインジケータが表示されますが、私の求めている形の結果となり、大変満足しております。このエラーは空欄セルを文字とみなして「数式内に文字列が入ってるで!」とエクセルが言っているのですかね?たぶん??
普段、エクセルを使うことのない私なので、市販のエクセル本を参考に色々と考えてみたのですが、やはり限界があり、お力を拝借したいと思った次第です。
ありがとうございました。

お礼日時:2011/07/03 10:59

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


おすすめ情報