- ベストアンサー
空白セルを作りたい
お世話になっています。 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は空白で帰ってきてしまいます。 足し算した値を返してもらうにはどうすればよいでしょうか。 関数のご指導お願いいたします。
- みんなの回答 (10)
- 専門家の回答
質問者が選んだベストアンサー
=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関数。
その他の回答 (9)
空白という意味が、単に「0」を表示させたくないだけなら、 難しく考えず、B1を「=SUM(A1:A3)」或いは「=A1+A2+A3」として、 B1の表示書式を「#.##0;-#,##0;」としておけば良いのだけなのでは? こうすれば、http://security.okwave.jp/qa3048360.htmlで質問されているような、 「#VALUE」エラーは出ません。 よく使われる「""」は空白ではなく、「長さ0の『文字列』」なので計算には使えなくなってしまうのです。
お礼
回答ありがとうございます 両方の質問を見てくださったんですね。お心遣いいただいてほんとに嬉しかったです。 早速使わせていただきます。 また教えてください。ありがとうございました。
- suekun
- ベストアンサー率25% (369/1454)
該当セルだけ 0を表示させず空白にしたいなら 数式は =SUM(A1:A3) として、セルの書式設定でユーザー定義とし 0;0; と入力して下さい。
お礼
回答ありがとうございます セルの書式設定のユーザー定義という方法もあるんですね! ちょっと難しく考えすぎたかもしれませんね。また教えてください。ありがとうございました。
- luckymako
- ベストアンサー率55% (29/52)
No5です。 No1、No2の方のやりかただとマイナスの値が入った場合に問題があると思います。 関数で実現したいならこんなのはどうでしょう? IF(COUNT(A1:A3) > 0, SUM(A1:A3),"") COUNTは数値が入っているセルの個数を数える関数だそうです。
お礼
回答ありがとうございます 考え方もかいてくださって、わかりやすかったです。 また教えてください。ありがとうございました。
- redowl
- ベストアンサー率43% (2140/4926)
=IF(AND(A1="",A2="",A3=""),"",SUM(A1:A3))
お礼
回答ありがとうございます なるほど、ANDとSUMを使うという手もあるんですね!また教えてください。ありがとうございました。
- luckymako
- ベストアンサー率55% (29/52)
要するに全部空白の時にはB1は0ではなくて空白 どこかに数字が入っていれば足し算の結果をB1に出したいということでいいですか? ちなみにA1、A2、A3に空白ではなく0が入っていた場合はB1は空白でいいのですか? 0を空白として表示させるだけならば メニューバーの ツール→オプションの 表示タブの ウィンドウオプション欄の ゼロ値のチェックをはずせば空白になります。
お礼
回答ありがとうございます 説明が足りませんでしたね。0も入力する場合があったので、ゼロ値のチェックではできませんでした。また教えてください。ありがとうございました。
- sizu-sizu
- ベストアンサー率41% (113/275)
No.3です。 ありゃ,No.1,2さんの方がまとめた式にしておられますね。重複したIFより,下のほうが分かりよいと思います。私のはdon9さんの段階を追ったものをそのまま直そうとしたものですので,コンパクトに済む方法を覚えられた方がよろしいですね。 いやはや,すいませんでした。
お礼
回答ありがとうございます 何度もみていただいて、ありがとうございます。また教えてください。ありがとうございました。
- sizu-sizu
- ベストアンサー率41% (113/275)
ども。 こうではないですか? =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文を書いていくとよいです。
お礼
回答ありがとうございます 理由もかいてくださって、わかりやすかったです。 また教えてください。ありがとうございました。
- mu2011
- ベストアンサー率38% (1910/4994)
次の方法は如何でしょうか。 =IF(SUM(A1:A3)=0,"",SUM(A1:A3))
お礼
回答ありがとうございます。 SUMを使う手もあったんですね。 関数は奥深くて難しいです(^^ゞ また教えてください。ありがとうございました。
- pch6295
- ベストアンサー率27% (16/59)
=+IF(A1+A2+A3=0,"",A1+A2+A3) これで、3つとも空白の時は空白 一カ所でも数字があれば合計が表示されます。
お礼
回答ありがとうございます。 やってみたらできました! 書類提出に間に合わすことができました。 また助けてください。ありがとうございました。
お礼
回答ありがとうございます お礼が遅くなりましたが、書類提出に間に合わせることができました。 理由もかいてくださったので、わかりやすかったです。 また教えてください。ありがとうございました。