- ベストアンサー
Excelで、IF関数を使用して空欄にしたところの数値を使用したいのですが
Excel初心者です かなり特別なケースだと思うのですが IF関数を使って、{上と同じ数値なら空欄、そうでない場合は計算結果を表示} というのを、 E9 =IF(SUM(E8,C9)-D9=E8,"",SUM(E8,C9)-D9) という関数を使って作ってみました。 仮に、下のような数値の並びの場合 1 22 333 333 4444 4444 4444 55555 という場合 1 22 333 4444 55555 というように表示したいのですが この関数を見ていただくとわかるとおり 一つ上の数値を参照して計算するため 空欄であれば、そのセルの数値を”0”として認識してしまい 下の計算結果がハチャメチャなものになってしまいます。 空欄を表示しても、数値は参照したい というような場合、どのようにしたらいいのでしょうか もしくは、上の関数を使用した場合 E8が空欄の場合はE7の数値、E7も空欄の場合E6を参照する、というやり方はあるのでしょうか。 自分でも調べてみたのですが、同じようなケースの質問がなかったため質問させていただきました。 どうぞよろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
条件付書式なら E9 「セルの値が」「次の値に等しい」「=E8」で文字色を背景色に設定 でコピーすれば出来ますけど... 数式の件ですが条件では SUM(E8,C9)-D9=E8→E8+C9-D9=E8→C9=D9 となり前列のE8は関係ないことになります。 後半の方ですがE8=C9-D9である場合は =IF(C9=D9,"",SUM(C$8:C8)-SUM(D$8:D8)) で設定できます。
その他の回答 (3)
- merlionXX
- ベストアンサー率48% (1930/4007)
> 一つ一つのセルについて指定していかなくてはならないため面倒なので どう考えても条件付書式だと思いますよ。一度に全部のセルに設定できますから。 E9以下、必要な範囲を選択したら、条件付書式でセルの値が「次の値に等しい」にし、値の欄を「=E8」(「=$E$8」ではなく)とすれば、その範囲のセルはそれぞれ一つ上と同じなら、という条件が一度に設定できます。何もセルを一個ずつ設定する必要は無いのです。
- D-JM
- ベストアンサー率16% (1/6)
必ず「C列の値>D列の値」になるのでしたら以下でいけるかと。 E9 =IF(MAX(E$8:E8)+C9-D9=MAX(E$8:E8),"",MAX(E$8:E8)+C9-D9) そうでない場合は「条件付書式で上のセルと同じなら文字色を背景色に合わせてしまう」とかが簡単そうです。
- Dxak
- ベストアンサー率34% (510/1465)
逆に・・・計算式で工夫するのではなく、条件付書式で工夫した方が、考えるのは、楽だと思いますけど? 回答している意味、判ります?
お礼
ご回答ありがとうございます。 条件式書式の場合、同じ計算式がずーっと並んでいる場合 一つ一つのセルについて指定していかなくてはならないため面倒なので こちらに質問させていただきました。 初心者でもご回答いただいております内容の意味くらいはわかります。 そういう言い方はとても気分をそこねますが 実生活でもそのような言葉遣いをされているのですか?
お礼
ご回答ありがとうございます。 常にC列とD列の値は変動するため、C列の値>D列の値とは限りませんが、 E$8、E8の値は負の値にはならないため、D-JM様がご回答いただいた数式が使えそうです。 使用して表を作ってみたいと思います。 ありがとうございました。