dポイントプレゼントキャンペーン実施中!

お世話になっています。
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は空白で帰ってきてしまいます。
足し算した値を返してもらうにはどうすればよいでしょうか。
関数のご指導お願いいたします。

A 回答 (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関数。
    • good
    • 0
この回答へのお礼

回答ありがとうございます

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

お礼日時:2007/06/03 21:39

空白という意味が、単に「0」を表示させたくないだけなら、


難しく考えず、B1を「=SUM(A1:A3)」或いは「=A1+A2+A3」として、
B1の表示書式を「#.##0;-#,##0;」としておけば良いのだけなのでは?

こうすれば、http://security.okwave.jp/qa3048360.htmlで質問されているような、
「#VALUE」エラーは出ません。
よく使われる「""」は空白ではなく、「長さ0の『文字列』」なので計算には使えなくなってしまうのです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/06/03 21:48

該当セルだけ 0を表示させず空白にしたいなら


数式は
=SUM(A1:A3)
として、セルの書式設定でユーザー定義とし
0;0; と入力して下さい。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/06/03 21:43

No5です。


No1、No2の方のやりかただとマイナスの値が入った場合に問題があると思います。

関数で実現したいならこんなのはどうでしょう?
IF(COUNT(A1:A3) > 0, SUM(A1:A3),"")

COUNTは数値が入っているセルの個数を数える関数だそうです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/06/03 21:36

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

    • good
    • 0
この回答へのお礼

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

お礼日時:2007/06/03 21:35

要するに全部空白の時にはB1は0ではなくて空白


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

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

お礼日時:2007/06/03 21:33

No.3です。


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

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

お礼日時:2007/06/03 21:30

ども。


こうではないですか?
=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文を書いていくとよいです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/06/03 21:29

次の方法は如何でしょうか。


=IF(SUM(A1:A3)=0,"",SUM(A1:A3))
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/06/03 21:25

=+IF(A1+A2+A3=0,"",A1+A2+A3)



これで、3つとも空白の時は空白
一カ所でも数字があれば合計が表示されます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/06/03 21:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!