• ベストアンサー

空白セルを作りたい

お世話になっています。 A1+A2+A3の合計をB1に表示させるとします。 A1、A2、A3には、それぞれ数字が入る場合も、未入力(空白)の場合もあります。 1、A1空白、A2空白、A3空白の場合、B1に空白。 2、A1空白、A2 数字、A3空白の場合、B1はA2の数字(空白を除いて足し算した値を返す)の式を作りたいと思い、B1に =IF(A1="","",IF(A2="","",IF(A3="","",SUM(A1+A2+A3))))としましたが、1はできますが、2ができません。A1、A2、A3どれかひとつでも空白セルがあると、B2は空白で帰ってきてしまいます。 足し算した値を返してもらうにはどうすればよいでしょうか。 関数のご指導お願いいたします。

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

  • ベストアンサー
  • zizi-chan
  • ベストアンサー率66% (14/21)
回答No.8

=IF(A1="","",IF(A2="","",IF(A3="","",SUM(A1+A2+A3)))) 上記の作成された数式ですが、IF関数の場合は、外側にあるIFの条件がより強くなります。(IF関数を使用する時の、とても大切なルールです) ですからこの式の条件の力関係は 1位:A1が空白ならば空白  そうでなければ 2位:A2が空白ならば空白  そうでなければ 3位:A3が空白ならば空白  そうでなければ 4位:SUM(A1:A3) といった条件の順位になります。 という事で、この式の場合A1、A2、A3のいずれか1つでも空白ならば空白になってしまいます。なぜならSUM関数が入っているのは、一番条件の順位がひくい場所だからです。 SUM関数が使われるのは、空白のセルが1つもない時だけになります。 AND関数を使ってみました。 =IF(AND(A1="",A2="",A3=""),"",SUM(A1:A3)) セルA1とA2とA3のすべてが空白ならば空白、そうでなければSUM関数。

don9
質問者

お礼

回答ありがとうございます お礼が遅くなりましたが、書類提出に間に合わせることができました。 理由もかいてくださったので、わかりやすかったです。 また教えてください。ありがとうございました。

その他の回答 (9)

noname#79209
noname#79209
回答No.10

空白という意味が、単に「0」を表示させたくないだけなら、 難しく考えず、B1を「=SUM(A1:A3)」或いは「=A1+A2+A3」として、 B1の表示書式を「#.##0;-#,##0;」としておけば良いのだけなのでは? こうすれば、http://security.okwave.jp/qa3048360.htmlで質問されているような、 「#VALUE」エラーは出ません。 よく使われる「""」は空白ではなく、「長さ0の『文字列』」なので計算には使えなくなってしまうのです。

don9
質問者

お礼

回答ありがとうございます 両方の質問を見てくださったんですね。お心遣いいただいてほんとに嬉しかったです。 早速使わせていただきます。 また教えてください。ありがとうございました。

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.9

該当セルだけ 0を表示させず空白にしたいなら 数式は =SUM(A1:A3) として、セルの書式設定でユーザー定義とし 0;0; と入力して下さい。

don9
質問者

お礼

回答ありがとうございます セルの書式設定のユーザー定義という方法もあるんですね! ちょっと難しく考えすぎたかもしれませんね。また教えてください。ありがとうございました。

  • luckymako
  • ベストアンサー率55% (29/52)
回答No.7

No5です。 No1、No2の方のやりかただとマイナスの値が入った場合に問題があると思います。 関数で実現したいならこんなのはどうでしょう? IF(COUNT(A1:A3) > 0, SUM(A1:A3),"") COUNTは数値が入っているセルの個数を数える関数だそうです。

don9
質問者

お礼

回答ありがとうございます 考え方もかいてくださって、わかりやすかったです。 また教えてください。ありがとうございました。

  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.6

=IF(AND(A1="",A2="",A3=""),"",SUM(A1:A3))

don9
質問者

お礼

回答ありがとうございます なるほど、ANDとSUMを使うという手もあるんですね!また教えてください。ありがとうございました。

  • luckymako
  • ベストアンサー率55% (29/52)
回答No.5

要するに全部空白の時にはB1は0ではなくて空白 どこかに数字が入っていれば足し算の結果をB1に出したいということでいいですか? ちなみにA1、A2、A3に空白ではなく0が入っていた場合はB1は空白でいいのですか? 0を空白として表示させるだけならば メニューバーの ツール→オプションの 表示タブの ウィンドウオプション欄の ゼロ値のチェックをはずせば空白になります。

don9
質問者

お礼

回答ありがとうございます 説明が足りませんでしたね。0も入力する場合があったので、ゼロ値のチェックではできませんでした。また教えてください。ありがとうございました。

  • sizu-sizu
  • ベストアンサー率41% (113/275)
回答No.4

No.3です。 ありゃ,No.1,2さんの方がまとめた式にしておられますね。重複したIFより,下のほうが分かりよいと思います。私のはdon9さんの段階を追ったものをそのまま直そうとしたものですので,コンパクトに済む方法を覚えられた方がよろしいですね。 いやはや,すいませんでした。

don9
質問者

お礼

回答ありがとうございます 何度もみていただいて、ありがとうございます。また教えてください。ありがとうございました。

  • sizu-sizu
  • ベストアンサー率41% (113/275)
回答No.3

ども。 こうではないですか? =IF(A1="",IF(A2="",IF(A3="","",SUM(A1+A2+A3)),SUM(A1+A2+A3)),SUM(A1+A2+A3)) ご質問にある内容ですと,A1が空白ならば,A2,A3を参照することなくB1は空白,A1に数字が入っていた場合2段目のIFに行きますが,そこでA2が空白であるならば,A3を参照することなく空白になってしまいます。全てが空白という条件を乗り越えるためには,IF内の2段目の真の値の場合の処理に次のIF文を書いていくとよいです。

don9
質問者

お礼

回答ありがとうございます 理由もかいてくださって、わかりやすかったです。 また教えてください。ありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

次の方法は如何でしょうか。 =IF(SUM(A1:A3)=0,"",SUM(A1:A3))

don9
質問者

お礼

回答ありがとうございます。 SUMを使う手もあったんですね。 関数は奥深くて難しいです(^^ゞ また教えてください。ありがとうございました。

  • pch6295
  • ベストアンサー率27% (16/59)
回答No.1

=+IF(A1+A2+A3=0,"",A1+A2+A3) これで、3つとも空白の時は空白 一カ所でも数字があれば合計が表示されます。

don9
質問者

お礼

回答ありがとうございます。 やってみたらできました! 書類提出に間に合わすことができました。 また助けてください。ありがとうございました。

関連するQ&A