- ベストアンサー
Excelの複数の条件にあった式を教えて下さい。
A B C D E 1 4.7 16 8 3 2 5.8 0.0 3.0 6.0 3 4.5 4 2.16 5 3.55 ・ ・ ・ ・ Aの列には1日の平均気温が入力されています。(A31まで) B1に、「A1が16℃以上だったら0.0、8℃以上16℃未満だったら3.0、3℃以上8 ℃未満だったら6.0」と式を作り、B2から下の欄も、「 」内の条件でした いのですが、教えてもらえないでしょうか? 宜しくお願いします。 あらかじめ、C1~E1に16℃、8℃、3℃と言う意味で数字を入れています。 C2~E2にも、条件を満たしたら、この数字になりなさいという意味で数字を 入れています。 IF文を使ってB1に =IF(A1>C1,”0.0”,IF(D1≦A1>C1,”3.0”,IF(E1≦A1>D1,"6.0",""))) と式を入れたのですが、#NAMEとエラーが出てきます。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
C1:D4に 0 0 3 6.0 8 3.0 16 0.0 といれB1に=VLOOKUP(A1,$C$1:$D$4,2,TRUE) といれるのはどうでしょう。 3以下はどう決めるのでしょう。 各セルは数値の小数点以下1桁に表示形式をすること。
その他の回答 (5)
- mshr1962
- ベストアンサー率39% (7417/18945)
#2,3,4のmshr1962です。 >しかし、なぜ-99999なのでしょうか? -99999というのは例えです。 入力される数値(今回は気温)で考えられる最低の値にすればいいのです。 数値の下限が分からない場合は、MIN関数(最小値を求める)で MIN(A:A) とするのも一つの方法ですが...
- mshr1962
- ベストアンサー率39% (7417/18945)
#2,3のmshr1962です。 >3℃以下も6.0にしたいのですが、その場合はどうしたらいいのでしょうか? C列の3を-99999のような低い数値にすれば表示されます。 =INDEX({"6.0","3.0","0.0"},1,MATCH($A1,{3,8,16},1)) の場合はMATCH内の3を変更ですね。
- mshr1962
- ベストアンサー率39% (7417/18945)
#2のmshr1962です。 >この式では駄目でした。。。。 えーと、#2のほうに書いたのですが、C列とE列の内容を入れ替えてますか? 先頭行がC<D<Eの状態でないと正しく判定できません。 こんな方法もありますが =INDEX({"6.0","3.0","0.0"},1,MATCH($A1,{3,8,16},1))
補足
すいません、C列とE列の内容を入れ替えました。 そしたら出来ました!! =INDEX({"6.0","3.0","0.0"},1,MATCH($A1,{3,8,16},1)) の式も答えが出てきました。 あたしの質問内容に見落としがありましたが、 3℃以下も6.0にしたいのですが、その場合はどうしたらいいのでしょうか?
- mshr1962
- ベストアンサー率39% (7417/18945)
#1の方の回答でもOKですが C D E 3 8 16 6.0 3.0 0.0 (比較する数値の小さいほうが左)なら =IF(A1>=3,HLOOKUP(A1,$C$1:$E$3,2),"") でも表示は可能です。 追記:表示形式を数値で小数点以下桁数1のほうが文字よりいいと思いますが...
補足
すいません。。。 =IF(A1>=3,HLOOKUP(A1,$C$1:$E$3,2),"") この式では駄目でした。。。。
- Samurai-Jack
- ベストアンサー率18% (130/697)
#NAMEになるのは、全角の記号を使っているためと思われます。「≦」を「<=」などにすればOKだと思います。 =IF(A1>C1,"0.0",IF(D1<=A1>C1,"3.0",IF(E1<=A1>D1,"6.0","")))
お礼
出来ました!!!ありがとうございました(^^)v
補足
ありがとうございます!!! しかし、なぜ-99999なのでしょうか?