• ベストアンサー

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とエラーが出てきます。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.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)
回答No.5

#2,3,4のmshr1962です。 >しかし、なぜ-99999なのでしょうか? -99999というのは例えです。 入力される数値(今回は気温)で考えられる最低の値にすればいいのです。 数値の下限が分からない場合は、MIN関数(最小値を求める)で MIN(A:A) とするのも一つの方法ですが...

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

#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を変更ですね。

kyariaririko
質問者

補足

ありがとうございます!!! しかし、なぜ-99999なのでしょうか?

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

#2のmshr1962です。 >この式では駄目でした。。。。 えーと、#2のほうに書いたのですが、C列とE列の内容を入れ替えてますか? 先頭行がC<D<Eの状態でないと正しく判定できません。 こんな方法もありますが =INDEX({"6.0","3.0","0.0"},1,MATCH($A1,{3,8,16},1))

kyariaririko
質問者

補足

すいません、C列とE列の内容を入れ替えました。 そしたら出来ました!! =INDEX({"6.0","3.0","0.0"},1,MATCH($A1,{3,8,16},1)) の式も答えが出てきました。 あたしの質問内容に見落としがありましたが、 3℃以下も6.0にしたいのですが、その場合はどうしたらいいのでしょうか?

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

#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のほうが文字よりいいと思いますが...

kyariaririko
質問者

補足

すいません。。。 =IF(A1>=3,HLOOKUP(A1,$C$1:$E$3,2),"") この式では駄目でした。。。。

回答No.1

#NAMEになるのは、全角の記号を使っているためと思われます。「≦」を「<=」などにすればOKだと思います。 =IF(A1>C1,"0.0",IF(D1<=A1>C1,"3.0",IF(E1<=A1>D1,"6.0","")))

kyariaririko
質問者

お礼

出来ました!!!ありがとうございました(^^)v

関連するQ&A