- ベストアンサー
エクセルの関数
エクセル(2000)の関数について以下はどのように表せば良いでしょうか? A1セルの値が、0<~<=10の範囲であればB1を返し、 10<~<=20の範囲であればB2を返し、 ・ ・ ・ 90<~<=100の範囲であればB10を返し、 それ以外であれば"err"を返す。 以上、宜しくお願い致します。
- みんなの回答 (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の部分を、変えたセル範囲に直してください。
その他の回答 (3)
- merlionXX
- ベストアンサー率48% (1930/4007)
#1です。 > 例えば、A1セル値が5であればB1セル値を、88であればB9セルを表示させると言うことになります。 エクセルではそういうのを「参照」と言います。 #1で書いた式はまさにそうなっていると思うのですが、何が表示されましたか?
お礼
ありがとうございました。 予想通りの値が返ってきました。 範囲が10ずつで無い場合や、参照セルがランダムの場合は難しそうですね。 例えば、 A1セルの値が、0~10の範囲であればB5を返し、 11~20の範囲であればD2を返し、 21~50の範囲であればB10を返し、 51~100の範囲であればC11を返し、 それ以外であれば"err"を返す。見たいな感じで。 教えて頂いた関数を掘り起こして確認して行きます。 ありがとうございました。
- yone_ken
- ベストアンサー率42% (34/80)
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】という値が返ります。 この考えを応用してみてください。
お礼
ありがとうございます。 範囲参照と言う関数があるんですね。 応用させて頂きます。
- merlionXX
- ベストアンサー率48% (1930/4007)
> B1を返し B1セルを参照ということですね? =IF(A1="","",IF(AND(A1>0,A1<101),INDIRECT("B"&ROUNDUP(A1/10,0)),"Err")) ではいかがでしょうか?
お礼
色々と教えて頂き誠にありがとうございました。
補足
分かりにくくてすみません。 A1セル値がある範囲に入っていれば、それぞれの範囲対象となるセル値を表示させたいのです。 A1セルの値が、 0<A1<=10の範囲であれば、B1セル値を表示させ、 10<A1<=20の範囲であれば、B2セル値を表示させ、 ・ ・ ・ 80<A1<=90の範囲であれば、B9セル値を表示させ、 90<A1<=100の範囲であれば、B10セル値を表示させ、 上記以外であれば"err"を表示させる。 表示させるのは、関数を入力したセルです。 例えば、A1セル値が5であればB1セル値を、88であればB9セルを表示させると言うことになります。
お礼
ありがとうございました。 理想に近づきました。 セルを調整して対応して行こうと思います。