重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

A1入力した2~100000の間の数字について以下の範囲に該当する数字をB1に抽出する関数を作りたいのですが・・・

2~8の場合2を返す
9~15の場合3を返す
16~25の場合5を返す
26~50   8
51~90   13
91~150   20
151~280   32
281~500   50
501~1200   80
1201~3200   125
3201~10000   200

自分なりに
=IF(L23<=8,"2",IF(L23<=15,"3",・・・・以下略
のようなものを作ったのですがif9個目以上でエラーになり計算されません。

どなたかお知恵を貸してください。

A 回答 (4件)

ちょっと長いですが、CHOOSE関数とMATCH関数を使用します。


=CHOOSE(MATCH(B1,{2,9,16,26,51,91,151,281,501,1201,3201,10001}),2,3,5,8,13,20,32,50,80,125,200)
これでいかがでしょうか。
    • good
    • 0
この回答へのお礼

早速のご回答有難う御座います。

大変参考になり、無事解決する事が出来ました。

ありがとうございました。

お礼日時:2005/04/22 08:28

=IF(OR(A1<2,A1>10000),"",LOOKUP(A1,{2,2;9,3;16,5;26,8;51,13;91,20;151,32;281,50;501,80;1201,125;3201,200}))


とするか、

このような表を、 IF(OR(A1<2,A1>10000),"",LOOKUP(A1,[範囲])) とすればよいでしょうね。
 2    2
 9    3
 16    5
 26    8
 51    13
 91    20
151    32
281    50
501    80
1201   125
3201   200
    • good
    • 0
この回答へのお礼

ご教授有難う御座います。

大変参考になりました。

お礼日時:2005/04/22 08:30

No.1で回答したものです。


=CHOOSE(MATCH(B1,{2,9,16,26,~~
ここ、「B1」ではなく「A1」でした。
訂正します。すみません。
    • good
    • 0

単純に行うなら変則的(?)な方法ですが、適当な場所下記の表を作ります。


ここでは、[A3]から表を作ったとします。

00
22
93
165
268
5113
9120
15132
28150
50180
1201125
3201200
100010

0と10001が入っているのはエラーを防ぐ為です。

そして、[B1]に「VLOOKUP(A1,A3:B15,2,TRUE)」と入力します。

「VLOOKUP」関数の詳細はヘルプを参照してください。

上記の表を見せたくない場合は、別のシートに表を入力し、[A3:B15]の部分を変更します。

たとえば、関数を「Sheet1」に、表を「Sheet2」の[A1]から入力した場合、

「VLOOKUP(A1,Sheet2!A1:B13,2,TRUE)」とすれば良いです。
    • good
    • 0
この回答へのお礼

大変詳しく解説していただき有難う御座いました。

お礼日時:2005/04/22 08:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!