こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel2003の数式設定について教えて下さい。

Excel2003の数式設定について教えて下さい。

【C1セル】には 数式「=IF(A1="","",A1)」
【D1セル】には 数式「=IF(B1="","",B1)」
【E1セル】には 数式「=IF(AND(ISBLANK(C1),ISBLANK(D1)),"",(IF((C1+D1)=0,"---",C1+D1)))」
と設定した状態で、

【A1セル】に 数値「100」と入力し、
【B1セル】に 数値「200」と入力した場合、
【E1セル】は 「300」と出力されますが、

【A1セル】、もしくは【B1セル】を 空欄にした場合、
【E1セル】は エラーとなり、「#VALUE」と出力されてしまいます。

小生としては、【C1セル】【D1セル】の両セルとも表示上は空欄の為、
ISBLANK関数でTRUEと判定し、【E1セル】は空欄になってほしいのですが、
【C1セル】や【D1セル】には数式が設定されている為、
ISBLANK関数でTRUEと判定されずに、「IF((C1+D1)=0」の演算でエラーとなっている様です。

小生が実現したいこと、
「【C1セル】と【D1セル】の数式の実行結果が空欄以外の時のみ、
 【E1セル】の数式を実行する。」
の方法をご存知の方、教えて下さい。お願い致します。

投稿日時 - 2011-03-08 14:27:16

QNo.6578401

すぐに回答ほしいです

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

No.1の方のだと、A1とB1のどちらかが空白の場合もエラーになってしまうので、

=IF(OR(C1="",D1=""),"",(IF((C1+D1)=0,"---",C1+D1)))

ですかね。(※ANDをORとしてください)

投稿日時 - 2011-03-08 14:55:56

お礼

早速の回答ありがとうございます。
確かに、A1とB1のどちらかが空白の場合はE1は空欄になってしまいますね。
=IF(OR(C1="",D1=""),"",(IF((C1+D1)=0,"---",C1+D1)))
を用いると、A1とB1のどちらかに値が入っていれば、E1に値が表示されました。

投稿日時 - 2011-03-08 15:27:45

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(6)

ANo.6

こんにちは!
こういうことですかね?

E1セルに
=IF(COUNTBLANK(C1:D1),"",IF(SUM(C1:D1)=0,"---",SUM(C1:D1)))

ではどうでしょうか?m(__)m

投稿日時 - 2011-03-08 15:08:08

お礼

早速の回答ありがとうございます。
小生の投稿した内容は「A,B,C,D,Eセル」を使用することにしていますが、
実際に実現したいのは、異なるシートや間の開いたセルを参照しようとしています。
よって、COUNTBLANK関数では難しそうですね。
それにしても、色々な方法があるのですね。
勉強になりました。
今回は「異なるシートや間の開いたセルを参照する」ということから、
個別に「""」で判定しようと思います。
回答を下さった皆様、本当にありがとうございました。

投稿日時 - 2011-03-08 15:42:48

ANo.5

一例です。
C1:D1の数式やAND条件も不要、ISBLANKは対象セルに数式が入力されているのでFALSEです。
ご例示の数式を整理しましたが如何でしょうか。
=IF(COUNT(A1:B1)=2,IF(A1+B1=0,"---",A1+B1),"")

投稿日時 - 2011-03-08 14:58:39

お礼

早速の回答ありがとうございます。
COUNT関数で数値の入っているセルの数を数えるのですね。
小生の例では、A1かB1のどちらかに数値が入っていれば有効にしたいので
COUNT(A1:B1)>0
にすればいいのですね。
色々な方法があるのですね。勉強になります。

投稿日時 - 2011-03-08 15:39:12

計算するセルの中身よりも、計算結果がエラーになってるかを判定したら良いと思います

=IF(ISERROR(C1+D1),"---",C1+D1)

投稿日時 - 2011-03-08 14:58:38

お礼

早速の回答ありがとうございます。
小生の投稿した内容は「A,B,C,D,Eセル」を使用することにしていますが、
実際に実現したいのは、異なるシートや間の開いたセルを参照しようとしています。
そこで、まず数式が書かれたセルの空欄判定の方法を教えて頂きたく、投稿しました。
確かに、小生の投稿した例では、ISERROR関数で判定するのがベストかもしれませんね。

投稿日時 - 2011-03-08 15:32:48

ANo.2

=IF(COUNTBLANK(C1:D1)>0,"",(IF((C1+D1)=0,"---",C1+D1)))

投稿日時 - 2011-03-08 14:51:49

お礼

早速の回答ありがとうございます。
COUNTBLANK関数で実現できました。
COUNTBLANK関数なら、数式が入っていても演算結果が空欄("")ならカウントしてくれるのですね。
勉強になりました。

投稿日時 - 2011-03-08 15:21:18

ANo.1

=IF(AND(C1="",D1=""),"",(IF(SUM(C1:D1)=0,"---",SUM(C1:D1))))
としてみます。


参考:
「""」が計算されたセルはご質問で書かれている通りISBLANKでは計算できませんが,その場合どうしたらいいのかは既にC1,D1セルの式で出来ていますね。

注意:
時折見かけますが
SUM(C1+D1)
じゃないので,間違えないように注意して下さい。

投稿日時 - 2011-03-08 14:44:11

お礼

早速の回答ありがとうございます。
ISBLANK関数では実現できないのですね。
「""」で試したら上手くいきました。
小生の投稿した内容は「A,B,C,D,Eセル」を使用することにしていますが、
実際に実現したいのは、異なるシートや間の開いたセルを参照しようとしています。
よって、個別に「""」で判定すれば、実現できそうです。

投稿日時 - 2011-03-08 15:14:11

あなたにオススメの質問