• ベストアンサー

MS Office Excelの関数

下記のことが出力できるエクセルの関数を教えてください。 セルαに入力された数値が1~100の場合はセルβに"A"と出力。101~200の場合は"B"と出力。201~301の場合は・・・・ ご存知の方、よろしくお願いいたします。

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

  • ベストアンサー
  • ng001
  • ベストアンサー率45% (105/232)
回答No.3

No.1の方のアスキーコードを使う方法は「なるほど!」と感心しました。 ところで私がいつも使っている方法もわかり易くていろいろ応用が利きますのでご紹介します。 前提として ●数値をいれるセルは A1 ●その結果の文字を表示させるセルを B1 とします。 次にC1からC5のセルに対してと、D1からD5のセルに対して以下のように入力します。 行番号 C列  D列 1     1  A 2   101  B 3   201  C 4   301  D 5   401  E 次に文字を表示させるB1のセルに次のような関数をいれます。 =VLOOKUP(A1,C1:D5,2) 関数の中の意味については関数のヘルプをごらんになったほうが速いと思いますので、説明を省略します。 この方法ですと1~100までの数値で「A」が表示されます。お分かりだと思いますが「A」以外の文字、たとえば「あなたは優秀です」のような文字列だって表示できます。 基準となるテーブルには「名前」登録しておくと、その範囲を拡大したときなどいちいち関数の範囲をいじらないですみますので便利だと思います。 ご参考まで

ishiro
質問者

お礼

ご回答、ありがとうございます。 確かにできました。 ご丁寧な回答をありがとうございました。

その他の回答 (4)

  • NIWAKA_0
  • ベストアンサー率28% (508/1790)
回答No.5

#3の方に勝手に補足させていただきますが、 VLOOKUP関数よりもLOOKUP関数の方が 使い勝手は良いです。 VLOOKUPは検索表の中から対応する値を、列の間隔で指定するため 途中に項目を挿入したりするとダメになってしまいますが、 LOOKUPは対応値のセル範囲を直接指定できますので、 使い易いのです。 #3の方の表を使わせてもらいますと、LOOKUP関数の場合は =LOOKUP(A1,$C$1:$C$5,$D$1:$D$5) となります。 この時、検査範囲・対応範囲は絶対指定(行・列番号の前にそれぞれ"$"をつける)すると、 この式を他のセルにコピーしても参照する範囲がずれません。

ishiro
質問者

お礼

補足いただきましてありがとうございます。大変勉強になりました。

  • edomin
  • ベストアンサー率32% (327/1003)
回答No.4

#1です。 A1のセルに"80"とか"234"などの数値が入るのですか? 今聞きたいのは、A1に数値が入力されたときにどういう数値を「出力」するのかと言うことです。 表示する"A"や"B"も変動すると言うことでしょうか?

ishiro
質問者

お礼

わかりにくくて申し訳ございません。 訂正させていただきます。 表がありまして <範囲>     <出力する数値> 1  ~100  1241 101~200  2898 201~300  4955   :   : となっており、セルαに入力する数値を<範囲>と照らし合わせて判断し、セルβに<出力する数値>を表示する。ということでした。

  • edomin
  • ベストアンサー率32% (327/1003)
回答No.2

#1です。 具体的に、「A」「B」にはどういう数値が入るのでしょう?

ishiro
質問者

お礼

変動するのですが、80や234といった具体的な数値です。 この数値を入れて、 100ならば 1<80<100 なので 数値"A"を出力するようにしたいのです。

  • edomin
  • ベストアンサー率32% (327/1003)
回答No.1

数値の入力されるセルをあ「A1」として、 表示させたいセルに =CHAR(65+INT((A1-1)/100)) を入力します。

ishiro
質問者

お礼

ご回答、ありがとうございます。 私の書き方が間違っており大変申し訳ないのですが、質問の"A"、"B"は数値です。 もしご存知でしたら再度、ご回答いただけませんでしょうか。

関連するQ&A