• ベストアンサー

次の条件に使える式をご存知ないですか?

セル A  B C      1 10 あ    11 20 い    21 30 う という表があったとします。 12 ← 11~20の間なので、隣のセルに「い」と表示できるような式をどなたかご存知ないでしょうか?? 宜しくお願いします!!  

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 数値を入力セルをE1とすると、隣りのセル(F1)に、 =VLOOKUP(E1,$A$1:$C$3,3,TRUE) と入力します。 なお、上式だと、E1の値が1未満だとエラーになり、30より大きい場合は全て「う」になります。 もし、30>=数値>=1の範囲外は非表示にするなら、 =IF(AND(E1>=1,E1<=30),VLOOKUP(E1,$A$1:$C$3,3,TRUE),"") となります。 また、各関数の詳細はヘルプなどを参照して下さい。

その他の回答 (2)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

No.1です。 No.2の人のようなIF文を重ねる(ネストといいます)方法は、表が8行以上だと対応出来ません。 仮に、IF文で出来たとしても、見た目もメンテナンス性も悪いです。 基本的には、VLOOKUPやMATCHなどの検索関数を使用すべきでしょうね。 検索関数は、関数の初歩ではなく、やや中級です。 No.2の人がIF文を使用したのは、検索関数を知らなかった(つまり初心者)のか、それともあえて使用しなかったのか・・・ 表の行数が未定として回答するのは、回答の初歩のような気もするが・・・

koba_ponpon
質問者

お礼

ありがとうございました! おかげで完璧な式ができました!! ちなみに行は52行(1年分の週番号)ありましたので、#1さんの式でないと難しかったと思います。 VLOOKUP関数は知っていたのですが、範囲指定で「11~20はB」という指定が出来るとは知りませんでした。目からウロコな気持ちです。 関数は奥が深いですね

回答No.2

 Excelの関数の初歩。これぐらいは自分でできないとね。 =IF(A4<1,"他",IF(A4<=10,"あ",IF(A4<=20,"い",IF(A4<=30,"う","他"))))

koba_ponpon
質問者

お礼

書きこみいただいて、どうもありがとうございました!

関連するQ&A