表の抽出方法を教えてください

解決済みの質問

表の抽出方法を教えてください

:::::::::::::::::::::::::::::aaaa::::bbbb::::cccc::::dddd
:::0~1000::::::::::::::700:::::800:::::900::::1000
1001~2000:::::::::800:::::900::::1000::::1200
2001~3000::::::1000::::1300::::1600::::1800

上記のような表で1400のbbbbの時に900を抽出する方法を教えてください

投稿日時 - 2010-02-28 00:00:09

連想キーワード:

QNo.5711777

すぐに回答ほしいです

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

料金表か何かでしょうか、縦横の検索ですよね。表を
    A  B   C   D  E
1  検索 1400 bbbb
2     aaaa bbbb cccc dddd
3 1000  700 800 900 1000
4 2000  800 900 1000 1200
5 3000 1000 1300 1600 1800
・・・と表と準備します。
仮にB1とC1に検索したい値を入れているとして
=VLOOKUP(B2,A:E,MATCH(C2,A2:E2,FALSE),TRUE)
としてみてください。
VLOOKUP関数で縦方向に検索して、VLOOKUP関数の列数のところに
MATCH関数で2行目を検索して合致した列の番号が入るようにします。

投稿日時 - 2010-02-28 08:49:59

ANo.1

0人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(2件中 1~2件目)

ANo.3

B1セルからE1セルにかけてaaaa,bbbb,cccc,ddddが入力されており、0~1000などの値がA2セルから下方に入力されているとします。
そこで例えばG1セルに1400、G2セルにbbbbと入力したとし、その答えをG3セルに表示させるとしたら次の式をG3セルに入力します。

=INDEX(A:E,ROUNDUP(G1/1000,0)+1,MATCH(G2,A1:E1,0))

投稿日時 - 2010-02-28 08:59:13

ANo.2

こんにちは!
一例です。
↓の画像で説明させていただきます。
この種の方法は区分け部分の境界をどのようにするかによって方法が変わってきます。
たとえば○以上~△未満 とするか □を超え~▽以下 とするかです。
行の値が整数で小数点以下がない!という前提であればお示しの表そのままでOKなのですが
微妙な数値の境界をどうするか?という場合には
上側の表のように降順に並び替えます。
そして、K2の数式を
=IF(COUNTBLANK(I2:J2)>0,"",INDEX(D2:G4,MATCH(I2,C2:C4,-1),MATCH(J2,D1:G1,0)))
とすれば希望の結果が表示できると思います。
尚余計なお世話かもしれませんが、下側の表の場合は
K8セルに
=IF(COUNTBLANK(I8:J8)>0,"",INDEX(D8:G10,MATCH(I8,A8:A10,1),MATCH(J8,D7:G7,0)))
という数式を入れています。

尚、行の値は3000を超えないものとします。
以上、長々と書きましたが
参考になれば幸いです。m(__)m

投稿日時 - 2010-02-28 08:50:04

お礼

ありがとうございました。
大変助かりました

投稿日時 - 2010-03-01 06:43:47

あわせてチェックしたい
  • www.aaa.com/bbb/ccc.cと表示させたい ...
  • 2ちゃんねるで・・・ ...
  • aaa.bbb.ccc という、「ドット」で区切られた文字列があった場 ...
PR
【回答募集中】花粉にひと言、物申す![ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら