• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル2007 空欄セルの扱い)

エクセル2007 空欄セルの扱い

このQ&Aのポイント
  • エクセル2007で会計(家計簿的な)収支表を作成する際の空欄セルの扱いについて教えてください。
  • K列とL列にはSUM関数とSUBTOTAL関数を使用して式を組みましたが、収入や支出がない場合には前の行の値が入力されてしまいます。
  • 表をスッキリさせるために、G4やI4が空欄の場合にK4やL4も空欄にする方法を教えてください。また、他に最適な関数式があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

このようなときはSUM関数を使うようにすればよいでしょう。 例えばK2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(COUNT(G2,I2)>0,SUM(G$2:G2)-SUM(I$2:I2),"") L2セルについても同じようにすればよいでしょう。

a0-0a
質問者

お礼

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

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

添付画像が薄くて見難い。 やりたいことも文章にストレートに書いてないので、質問の目的がよくわからない。 自分の作った式だけ書いても真意は伝わらない。文章で文言なりを添えること。質問者が超ベテランであれば書いた式に疑いも無いのだろが。このの質問コーナーはそんなレベルではない。 ーー 「収入セル、支出セルとも数字が入力なければ、残高欄は空白にしたい」 この1行で同ですか。 収入 支出 残高 残高 76400 76400 76400 52000 128400 128400 128400 31000 30340 129060 129060 10000 119060 119060 左側の式は私の例場合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風目したのか。 私は帳簿付けの収入ー支出ー残の仕組みを使った。 本来数字が来る列に説明コメントなどはいらないものとして。

a0-0a
質問者

お礼

ご回答ありがとうございました。私の知識レベルが低すぎたみたいです。文才もなく申し訳ございません。ご回答中の・・ 収入支出残高残高 764007640076400 52000128400128400 128400 3100030340129060129060 10000119060119060 の意味すら、解りませんでした。 ありがとうございます。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

残高を出すのは,ふつーに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="") 書式ボタンで表示形式のユーザー定義を選び ;;; と設定しておきます

a0-0a
質問者

お礼

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

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

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

関連するQ&A