• ベストアンサー

EXCEL IF関数に関する質問

EXCELです。よろしくお願いします。 A列(A1~A300まで) に0~100までの数字が入っています。 B列に80以上100以下ならA、    60以上79以下ならB、    40以上59以下ならならC、    20以上39以下ならD、    0以上19以下ならEを 入れたいのです。 そして C列にB列がAなら5、    B列がBならば4、 B列がCならば3、 B列がDならば2、    B列がEならば1 を入れたいのです。 B1とC1のどのような関数を入れればよいですか。 教えてください。 よろしくお願いします。  

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

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

1番シンプルなのは B1=LOOKUP(A1,{0,20,40,60,80},{"E","D","C","B","A"}) C1=INT(A1/20)

その他の回答 (2)

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

#1です。すみません後のほうの式+1するのを忘れました。 C1=INT(A1/20)+1 です。 あくまでB列の結果で出したいのなら C1=70-CODE(B1) でできます。

noname#70673
noname#70673
回答No.2

こんにちは。 スマートな方法ではなく、ゴリゴリと力技です。その分応用しやすいかと思います。 B1に、 =IF(A1<=100,IF(A1>=80,"A",IF(A1>=60,"B",IF(A1>=40,"C",IF(A1>=20,"D",IF(A1>=0,"E","-"))))),"+") C1に、 =IF(B1="A",5,IF(B1="B",4,IF(B1="C",3,IF(B1="D",2,IF(B1="E",1,"*"))))) です。 A1が0以下のときは、”-”、100より大きい数字の時は”+”が出ます。 また、C1では、B1がA~Eいずれの記号でもないとき、”*”が出ます。 色々応用してください。

関連するQ&A