- ベストアンサー
EXCELで3つの条件を満たす関数!
例えば、 A1のセルが空白ならB1は空白。 A1のセルが<1>ならB1は1+1。 A1のセルが<2>ならB1は2+2。 というように3つの条件を満たす為にはどういう計算式を使用すれば宜しいのですか? 宜しくお願いします
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 >=IF(A1=1,B1=1+1,IF(A1=2,B1=2+2,"")) これは確かにエラーになりますね。ごめんなさい。 慌ててました。(^^; >A1が空白ならB1は空白。 >A1が1ならB1はC1-D1を計算する。 >A1が2ならB1はC1-E1を計算する。 なら、セルB1に =IF(A1=1,C1-D1,IF(A1=2,C1-E1,"")) でどうですか?
その他の回答 (7)
- imogasi
- ベストアンサー率27% (4737/17070)
多分質問の回答を名付けるなら、IF文をネスト(巣篭もり)すると言うタイプであると言います。 =IF(第1条件,第1条件を満たした時の数式,IF(第2条件,第2条件を満たした時の数式,IF(第3条件,第3条件を満たした時の数式,満たさなかった時の数式)))です。 これならご存知のような気もしますが。 数式には条件に使ったセルの値も使えますし、それ以外のセルの値も使えます。式を入れるセルは使えませんが。 質問の<>の使い方は、誤解を生んだようです。「」 の方がまだ良かったのではと思いました。2-3年質問を見ていますが珍しいです。
- mshr1962
- ベストアンサー率39% (7417/18945)
#3のmshr1962です。こんな方法もあります。 =CHOOSE(A1+1,"",C1-D1,C1-E1) 数値以外や0≦A1<3に該当しないと#VALUE!になりますが...
- shishishishi
- ベストアンサー率39% (362/921)
No1です。 それなら =IF(A1="","",IF(A1=1,C1-D1,IF(A1=2,C1-E1,"想定外"))) です。
- yahtzen
- ベストアンサー率46% (189/410)
=IF(A1=1,A1+1,IF(A1=2,A1+2,"")) もしくは =IF(A1=1,C1-D1,IF(A1=2,C1-E1,"")) ではいかがでしょう?
- mshr1962
- ベストアンサー率39% (7417/18945)
VBAを使わないならIF文のネストになります。 ただこの場合はネストしなくても =IF(A1="","",A1+A1) 又は=IF(A1="","",A1*2) でできませんか? "1+1"を文字列として表示なら =IF(A1="","",A1&"+"&A1) としてください。
- hinebot
- ベストアンサー率37% (1123/2963)
条件が3つだけなら、IF文を重ねればOKです。 =IF(A1=1,B1=1+1,IF(A1=2,B1=2+2,"")) 一応、全部条件外れても空白にしました。 でも、1+1とかは A1+1 のことかしら? あとは適当に編集してください。
お礼
早々の回答ありがとうございます。 やはり同じく貼り付けてもエラーになります。 1+1とは説明しやすいように表現しただけでして、実際は他のセルの数値から他のセルの数値を引いてその答えにある数字を足すというような作業をします。 説明しなおすならば A1が空白ならB1は空白。 A1が1ならB1はC1-D1を計算する。 A1が2ならB1はC1-E1を計算する。 これならどうでしょうか?
- shishishishi
- ベストアンサー率39% (362/921)
=IF(A1="","",IF(A1=1,"1+1",IF(A1=2,"2+2","想定外"))) 3条件以外はどうするかわからなかったので”想定外”としました。
お礼
早々のご回答ありがとうございます。 上記の式をコピー、貼付したのですが、確かに空白のときは空白でした。 ですが、<1>と入力すると<1+1>と表示し、<2>と入力すると<2+2>とそのまま表示されるのはなぜでしょうか? <1+1>というのはその計算そのものをして欲しいので、結果は<2>と表示されて欲しいのです。 説明する為に分かりやす<1+1>と書きました。 宜しくお願いします。
お礼
早々の回答ありがとうございました。 申し訳ございません。 他の方の補足説明にあるとおり、計算方法がちょっと違うのです。 A1のセルを計算するのではなく、他のセル通しを計算したかったのです。 説明のしかたが悪くて申し訳ございませんでした。