プロが教えるわが家の防犯対策術!

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

A 回答 (6件)

C1:D4に


00
36.0
83.0
160.0
といれB1に=VLOOKUP(A1,$C$1:$D$4,2,TRUE)
といれるのはどうでしょう。
3以下はどう決めるのでしょう。
各セルは数値の小数点以下1桁に表示形式をすること。
    • good
    • 0

#2,3,4のmshr1962です。


>しかし、なぜ-99999なのでしょうか?
-99999というのは例えです。
入力される数値(今回は気温)で考えられる最低の値にすればいいのです。

数値の下限が分からない場合は、MIN関数(最小値を求める)で
MIN(A:A)
とするのも一つの方法ですが...
    • good
    • 0

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

この回答への補足

ありがとうございます!!!

しかし、なぜ-99999なのでしょうか?

補足日時:2004/11/26 13:34
    • good
    • 0

#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にしたいのですが、その場合はどうしたらいいのでしょうか?

補足日時:2004/11/26 13:17
    • good
    • 0

#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),"")
この式では駄目でした。。。。

補足日時:2004/11/26 12:31
    • good
    • 0

#NAMEになるのは、全角の記号を使っているためと思われます。

「≦」を「<=」などにすればOKだと思います。

=IF(A1>C1,"0.0",IF(D1<=A1>C1,"3.0",IF(E1<=A1>D1,"6.0","")))
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/11/26 12:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!