• ベストアンサー

エクセルの関数

エクセル(2000)の関数について以下はどのように表せば良いでしょうか? A1セルの値が、0<~<=10の範囲であればB1を返し、        10<~<=20の範囲であればB2を返し、 ・ ・ ・        90<~<=100の範囲であればB10を返し、 それ以外であれば"err"を返す。 以上、宜しくお願い致します。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

#1-3です。 では F1;G4セルの範囲に以下の対比表を作ってください。 0 B5 11 D2 21 B10 51 C11 数式を =IF(A1="","",IF(AND(A1>=0,A1<=100),INDIRECT(VLOOKUP(A1,F1:G4,2,TRUE)),"err")) としてみてください。 もし、F1;G4セルの範囲では不都合であれば、都合のいい場所に変え、数式のF1:G4の部分を、変えたセル範囲に直してください。

poppoyaya
質問者

お礼

ありがとうございました。 理想に近づきました。 セルを調整して対応して行こうと思います。

その他の回答 (3)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

#1です。 > 例えば、A1セル値が5であればB1セル値を、88であればB9セルを表示させると言うことになります。 エクセルではそういうのを「参照」と言います。 #1で書いた式はまさにそうなっていると思うのですが、何が表示されましたか?

poppoyaya
質問者

お礼

ありがとうございました。 予想通りの値が返ってきました。 範囲が10ずつで無い場合や、参照セルがランダムの場合は難しそうですね。 例えば、 A1セルの値が、0~10の範囲であればB5を返し、        11~20の範囲であればD2を返し、        21~50の範囲であればB10を返し、        51~100の範囲であればC11を返し、 それ以外であれば"err"を返す。見たいな感じで。 教えて頂いた関数を掘り起こして確認して行きます。 ありがとうございました。

  • yone_ken
  • ベストアンサー率42% (34/80)
回答No.2

VLOOKUPはどうですか? 例   A  B  C  D 1    0  10  A 2    11  20  B 3    21  30  C       ↓ 10    91  100  J と表を作り、 A1に入力する値を。 A2に=IF(A1>100,"err",VLOOKUP($A$1,$C$1:$E$10,3,TRUE)) と関数を入れます。 例えば、A1に【26】と入力すると、A2に【C】という値が返ります。 この考えを応用してみてください。

参考URL:
http://www3.tokai.or.jp/excel/kansu/vlookup.htm
poppoyaya
質問者

お礼

ありがとうございます。 範囲参照と言う関数があるんですね。 応用させて頂きます。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

> B1を返し B1セルを参照ということですね? =IF(A1="","",IF(AND(A1>0,A1<101),INDIRECT("B"&ROUNDUP(A1/10,0)),"Err")) ではいかがでしょうか?

poppoyaya
質問者

お礼

色々と教えて頂き誠にありがとうございました。

poppoyaya
質問者

補足

分かりにくくてすみません。 A1セル値がある範囲に入っていれば、それぞれの範囲対象となるセル値を表示させたいのです。 A1セルの値が、 0<A1<=10の範囲であれば、B1セル値を表示させ、 10<A1<=20の範囲であれば、B2セル値を表示させ、 ・ ・ ・ 80<A1<=90の範囲であれば、B9セル値を表示させ、 90<A1<=100の範囲であれば、B10セル値を表示させ、 上記以外であれば"err"を表示させる。 表示させるのは、関数を入力したセルです。 例えば、A1セル値が5であればB1セル値を、88であればB9セルを表示させると言うことになります。

関連するQ&A