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

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

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

添付したような、会計(家計簿的な)収支表を作成したいと考えております。 収入だけのときも、支出だけのときもあります。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列からの掛算式を組んでいます。また、収入だけのときも、支出だけのときもあるので、手入力もします。

  • a0-0a
  • お礼率91% (22/24)

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

  • ベストアンサー
  • 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/17068)
回答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/7940)
回答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

  • エクセルで教えてください。空白が絡む計算です。

    エクセルで教えてください。 下記の表が有ります。     G    H      I      J 1 収入金額 単価 支払金額 現金残高 2             19,576 3        108 4        410 5        518   19,058 6 7        200 8        159 9       2,345 10       2,345 11       5,049   14,009 12 13 10,000         24,009 14 15       2,322 16        298 17       1,978 18       21,111 19         98 20         45 21         213 22         223 23        1,245 24              27,542   -3,533 25 Iの列はIの列で、Jの列はJの列で、それぞれ同じ関数を入れて、 この表を成り立たせたいです。 GとHの列は、手入力です。 その都度、sum関数を入れれば可能ですが、何か良い方法で 省力化したいです。 悩んでいるのは、H列の空白で区切られたところだけをI列で合計する、 G列に収入が合ったときは、J列の空白を飛ばして上にある値に加算、 G列に収入が無いときは、I列に合計を探し無いときは空白、有るときは 減算する、というからくりを関数でどうやればいいのか、わかりません。 単価は、その都度何行になるか分かりません。1行だったり10行だったり します。区切りは、必ず空白行を作るという事だけです。 宜しくお願いします。

  • セル範囲がすべて空欄の場合、合計値の回答欄が空欄になるエクセル関数は?

    セル範囲がすべて空欄の場合、合計値の回答欄が空欄になるエクセル関数は? A1~P20の範囲に数字(0含む)と空欄が混在しております。 各横軸で合計値を求め、A~Pまで全て空欄だった場合は、空欄にしたいのですが、 SUMだと「0」と表示されてしまいます。 なお、計算範囲のセルが0と表示されている場合は、結果「0」と表示してかまいません。 ISBLANKで1つ1つのセルを指定していく方法もあるのですが、式が長くなってしまいます。 =IF(AND(ISBLANK(A1),ISBLANK(B1),ISBLANK(C1)・・・・・・),"",SUM(A1:P1)) もう少し短い式で上記のような計算ができる関数はあれば教えてください。

  • エクセルの空欄に決まった数値を入れる時の計算式は?

    シートの空欄すべてに決まった値を入れるにはどういう関数あるいは計算式を使ったらよいのでしょうか。計算した値をSumするため、列を新たに設けると、そこの列をSumから外さなくてはならないので不便です。置換ではできないのでしょうか。

  • エクセルSUM関数について

    エクセルをやり始めた程度の初心者です。 今原価に対して利益を示す表を作成しています。 Mの列に利益額を出す下記の関数を作成したのですが =SUM(H2:I2:J2)-SUM(K2:L2)-SUM(D2:E2:F2:G2) M3,M4、M5・・の各セルに上記の関数に数値を変えて行くの 大変なので簡単にできる方法があれば教えてください。 よろしくお願いします。

  • エクセルの条件付きの関数(IFなど)の使い方

    よろしくお願いします。 エクセルの表計算で、例えば、”おこづかい帳”のような、収入または支出を各行ごとに一番右の合計欄に自動で計算していく方法について質問します。 例として、3列2行の表で説明します。 A列は収入、B列は支出、C列は残高です。 一行目のA1、B1、C1は最初の一日目なのでC1セルだけに当初のお金500円が入力されています。二行目のB1またはB2の必ずどちらか1つだけに(収入か支出の)金額が入るとしてその時のB3の残高を自動で算出したいです。(実際の表は、それの繰り返しで何行も下に続いていきます。)B1に収入が200円あれば、B3は700円になり、B2に支出200円があれば、B3は300円になるような計算です。 次のような三つの条件になります。 (1)B1(収入)が空欄の時はB2(支出)の値を用いて、B3=A3-B2(2)B2(支出)が空欄の時はB1(収入)の値を用いて、B3=A3+B1 (3)B1、B2ともに空欄の時は、なにも計算しない(B3も空欄になる) そして、B3に入れる式としてこのような式を作りました。 =IF(OR(B1="",B1>0,B1B2=""),(B3=A3-B2,B3=A3+B1,B3="")) しかし、うまく計算されません。 どこを直せばよいでしょうか?またはIF以外の関数で必要なものがあるのでしょうか?

  • エクセルについて質問です。

    (1)シート1に表を作成して、A列からD列に入力した数値をE列にSUM関数で足し算して自動的に入力できるようにします。  次に、シート2に表をつくります。その表のA列に、シート1の表のE列の数値だけをコーピーできますか。 (2)また、上記のシート1の表のE列(SUM関数が入っている列)に数値が入ると、自動的に上記のシート2の表のA列に同じ数値が入るようにできますか。 ご存知の方がおられましたら、ご教授お願いします。

  • 現金出納帳の差引残高の関数

    お世話になります。 エクセルで現金出納帳を作ろうと思っています。 A~D列には日付や勘定科目などを、Eには収入金額、Fに は支出金額、そしてGには差引残高を自動で計算するよ うに関数を入れました。 すると計算はきちんとできるのですが、Gの列全てに残 高が表示されるので、見苦しいです。 収入・支出をまだ入力していない行にはG欄に残高が表 示されないように関数を入れるにはどのようにすれば よいでしょうか。自分なりに考えて =IF(ISBLANK(E3:F3),"",SUM($E$2:E3)+$G$2-SUM($F$2:F3)) (+$G$2というのは前月繰越残高です。) と入力してみましたが、ダメでした。 分かりにくい文章ではあると思いますが、よろしくご指 導のほどお願いいたします。

  • エクセル2007について教えてほしいのですが

    エクセル2007について教えてほしいのですが 添付した画像にある表でQ列に関数=SUM(I6:L6)をいれて各行IからL迄の答えをQ列に表示させているのですが(I6:L41)のデータをクリアすればQ列のデータも勿論消えてします。 そこでS列にQ列の控えとしてそのままコピペをせずに自動入力させて、尚且つ(I6:L41)のデータを消去した時Qれつは消えてもS列のデータは消えずに累計がとれるようにできないでしょうか。 1週間づつの データを一旦Q列で合計させてS列には1カ月分の合計が上書きで自動に出るようにしたいのです。宜しくお願い致します

  • excelの数式の作り方について

    表を作成し、右端の列をSUMで合計を組んだのですが、その際に未入力の列の合計を「0」ではなく、空欄にするための数式をどなたか教えてください。

  • エクセル もし、セルが空欄なら、その上のセルの値を入力する

    エクセル2002を使用しています。 例えば、A列に順に数値が入っているのですが、ところどころ空欄です。 <こんな感じです。> 12 15 22 33 34 55 <ここまで> 数値は、連番ではありません。不規則です。約300行あります。 本当は、空欄の場所は一つ上のセル数値が入るのです。(連続して空欄になっているところも、一つ上の数値と同じ値が入るのです。) <上の例を当てはめると> 12 15 22 22 ← 33 34 34 ← 34 ← 55 <ここまで> こんな感じにしたいのです。 関数などで一つのセルに入力して、あとはフィルドラッグでコピーするなんていう便利な方法はありませんか? すでに入力している数値が消えないようにしたいのです。 よろしくお願いいたします。

専門家に質問してみよう