• ベストアンサー

excel初心者です。

excel初心者です。 2つの条件式を1つにまとめたいのですが、エラーが起こってしまいます。 ご助言の程、よろしくお願いします。 =IF(OR(A1="",B1=""),"",B1-A1) =IF(OR(A1="",C1=""),"",C1-A1) =IF(OR(A1="",D1=""),"",D1-A1) 上記3つの式なのですが、やりたいことは、 A1かつ、B1またはC1またはD1に値が入った場合、それぞれに対応する計算を行う。 それ以外は、空欄とする。 という条件式です。 この3式を1つにまとめることは可能でしょうか? よろしくお願い致します。

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

  • ベストアンサー
回答No.3

このままじゃ不可能ですね。 B1、C1、D1のうち複数に値がある場合の扱いが不明です。たとえば B1に値があったらC1やD1は無視するとか、逆にD1が優先だとか、実 はB1からD1までの合計から引いちゃってほしいとか、はたまた複数 に値が入るのはエラーだから空文字列にしてほしいとか、そういう ところが大切なんですよ。 最後のパターンの場合は =if(and(A1<>"",count(B1:D1)=1),sum(B1:D1)-A1, "") みたいな感じになるんですけどね。

yoshino08
質問者

お礼

上記の計算式でできました。 大変ありがとうございます。

その他の回答 (2)

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.2

1つにまとめるには、どの条件が優先するのかを決めなくてはいけません。 B1とC1に値が入っているときは、「B1-A1」「C1-A1」のどちらを計算するのでしょう? B1→C1→D1の順番で評価するなら、 =IF(A1<>"",IF(B1<>"",B1-A1,IF(C1<>"",C1-A1,IF(D1<>"",D1-A1,""))),"") でしょうか…。

  • ziziwa1130
  • ベストアンサー率21% (329/1546)
回答No.1

=IF(A1="","",IF(B1<>"",B1-A1,IF(C1<>"",C1-A1,IF(D1<>"",D1-A1,"")))) で良いんですが、B1>C1>D1という優先順位になります。

関連するQ&A

専門家に質問してみよう