• ベストアンサー

エクセル関数 計算結果による文字列選択について

エクセル関数についての質問です。  使用ソフト:excel2003 計算結果により文字列を選択する方法についてです。 IFを使わず、別表を用いずにできる方法がないでしょうか?  計算式:値A/値B    計算結果: 0以下の場合・・・”失格”        0~5の場合・・・”注意”        5~7の場合・・・”標準”        8以上の場合・・・”優秀” このような感じに、計算式の結果により、それに対応する文字列を表示させたいと思っています。 IF分で可能ですがもっとシンプル?な方法があれば教えて頂きたい。 VOOKUP、choose、match等でできそうでできないようです。 よろしくお願いします。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

次の方法は如何でしょうか。 =LOOKUP(セル,{-99999,0,5,8},{"失格","注意","標準","優秀"}) 尚、条件は0未満、5未満、8未満、8以上としています。

takoichi4
質問者

お礼

回答ありがとうございます。 正に求めていた答えです。 これでスムーズに作業が進められます。 ありがとうございました。

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんにちは。 ということは、残りのMATCHかな?(^^; でも、数値のダブりがありますね。  計算結果: 0以下の場合・・・”失格"        1~4の場合・・・”注意”        5~7の場合・・・”標準”        8以上の場合・・・”優秀” と変えさせていただきます。 =INDEX({"失格","注意","標準","優秀"},,MATCH(MAX(C1,0),{0,1,5,8},1)) 一応、これは、CHOOSE関数も使えますね。 =CHOOSE(MATCH(MAX(C1,0),{0,1,5,8},1),"失格","注意","標準","優秀") ISERROR によるエラー処理は必要でしたら、加えてください。 例:C1 を対象とした場合 =IF(ISERROR(C1),"",INDEX({"失格","注意","標準","優秀"},,MATCH(MAX(C1,0),{0,1,5,8},1)))

takoichi4
質問者

お礼

回答ありがとうございます。 こんなに速攻で、色々な回答を色々な方に教えて頂いて感謝。 (matchとかで、できなさそうと質問に書かなければ良かった・・。^^;A) 関数の組合せ、非常に勉強になりました。 ありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

(1)VLOOKUP系列の関数は3種あり、配列形式のものもあります (2)普通のVLOOKUPで配列の記述方法でもできると思う A列の値は整数値に限定して考える。 例データ A列   B列  C列 1 注意 注意 2 注意 注意 3 注意 注意 4 注意 注意 5 注意 注意 6 標準 標準 7 標準 標準 8 優秀 優秀 9 優秀 優秀 10 優秀 優秀 11 優秀 優秀 12 優秀 優秀 13 優秀 優秀 14 優秀 優秀 15 優秀 優秀 16 優秀 優秀 17 優秀 優秀 18 優秀 優秀 19 優秀 優秀 0 注意 注意 -1 失格 失格 ーーー 検索表で F1:G5 -20 失格 0 注意 6 標準 8 優秀 100 ーーー B列B1は=VLOOKUP(A1,$F$1:$G$5,2,TRUE) とれて下方向に式を複写。 ーー 本質問でいう>別表を用いずにできる・・ はC1セルに =VLOOKUP(A1,{-20,"失格";0,"注意";6,"標準";8,"優秀";100,""},2,TRUE) と入れて下方向に式を複写。 結果は上記C列 ーーー 横方向は、(カンマ)で並べ、改行は;(セミコロン)で行うルールで、上記F1:G5のセル内容を第2引数に表現するだけ。

takoichi4
質問者

お礼

回答ありがとうございました。 VLOOKUPのヘルプを見ても出来無さそうと判断していましたが、 しっかりと回答通りでできました。 丁寧な回答、ありがとうございました。

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

VLOOKUP関数の場合 -999 失格    0 注意    5 標準    8 優秀 =VLOOKUP(検索値,範囲,2,TRUE) CHOOSE関数の場合 =CHOOSE(MAX(MIN(検索値+1,9),0),"失格","注意","注意","注意","注意","注意","標準","標準","標準","優秀")

takoichi4
質問者

お礼

回答ありがとうございました。 質問の内容に答えを出して貰っただけでなく、 ChooseでのMAXとMINの組合せ方、非常に参考になりました。 私の頭、固いなぁと感じてます。 迅速な回答、ありがとうございました。

関連するQ&A

専門家に質問してみよう