• ベストアンサー

エクセル VLOOKUPでの複数のデータ抽出

「表の左端列」で検索する行によって、隣のセルに取り出せるデータの範囲を指定する、 ということは可能でしょうか。 例えば、左端でAを選んだ場合は表のこの範囲から次を選ぶ、 Bを選んだ場合は同じ表の違う範囲から選ぶ、といったようなことです。 普通のVLOOKUPでは1対1、左端で行を選ぶとその行の何列目のデータを取り出すか、 といったことしか出来ないので、それを複数の列の中からさらに選ぶことが出来るように 設定変更したいです。 ご教示よろしくお願いいたします。

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

  • ベストアンサー
  • silverfd
  • ベストアンサー率57% (204/356)
回答No.2

>普通のVLOOKUPでは1対1、左端で行を選ぶとその行の何列目のデータを取り出すか、 その「何列目」を変数にしてしまったらいいんじゃないですかね? データベースにおいて、 X1と同一の見出し(A列)の右側A~E列のうち、 Y1にある「番目」を =VLookup(X1,A1:E10,Y1,0)とか。 X1に入力されている見出しに合致するデータのうち、 Y1列目にある数値が左から該当するデータを持ってこれます。 少なくともVLookupの抽出対象が5個になります。 こういうのじゃなかったですかねw

fiveoclock
質問者

お礼

なるほど....早速のご回答、ありがとうございます。 また、言葉足らずでわかりにくくて申し訳ありません。 いただいたアドバイスを参考にして、 自分なりにまたトライしてみます。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

A1にAかBが入るとして,たとえば =VLOOKUP(A1,範囲,IF(A1="A",5,7),FALSE) などのようにして「Aなら範囲の5列目,そうでないなら範囲の7列目を取ってくる」みたいな事は勿論簡単にできます。 それとも >取り出せるデータの範囲を指定する、 =OFFSET(Sheet2!$A$1,MATCH(A1,Sheet2!A:A,0)-1,IF(A1="A",3,5),1,3) などのような数式を組んで,A1がAなら対象範囲のC列から,そうでないならE列から,横に3セル分のデータ範囲を計算で持ってこさせるのような事だって,そういうことがしたいというのなら出来ます。 こういった方向で何か答えが欲しいというのなら,一体どこ番地の結果をどこ番地のセルにどういう具合に計算結果として表示したいのか,もっと「目に見える姿で」ヤリタイ事をしっかり言葉に書いて,新しいご相談として投稿し直してください。

fiveoclock
質問者

お礼

ご回答ありがとうございます。 早速やってみます。

関連するQ&A

  • ExcelのVLOOKUPを使った検索について+α

    またまた質問させてもらいます・・・ VLOOKUPは本来検索範囲の左端の列を検索していくの ですが、それを他の列をキーにしたいのです。ですが、 元表の順番を変えることができないので、検索できずに 困っています。そこで質問なんですが、 ・元表を変えずに(コピー等を作らずに)、関数内だけで 表を擬似的に並べ替えて、左端の列以外の列を検索キーと した列検索は可能でしょうか?可能なら方法はどうやれば よろしいでしょうか。 ・もしそれがだめな場合他のアプローチはありますが? できれば方法も・・・ あと、もうひとつ質問なんですが、検索範囲を指定する 時に左上のセルの位置は固定で右下のセルが表の行数 によって変化する場合、汎用的に関数で指定することは可 能でしょうか? つまり、B4:H14という範囲指定がある場合、表の行数がひ とつ増えるとB4:H15と範囲指定を変えてくれるような方法 はありますか?ということです。 ということです。それではよろしくお願いします。

  • エクセルのVLOOKUPについて

    エクセルのVLOOKUPについて ものすごく読みづらい、理解しづらいかもしれませんが付き合ってください・・・ エクセルでvlookupを使って検索するときに検索する対象の表(シートではない)が複数あって、表ごとに空白の列で区切ってあって、検索するキーワードの文字列が同じものが複数ある場合、ダブっているものが複数あるので正常に検索することができないですよね? 検索する対象の文字列は全てダブっていないものでないといけないですよね? 検索する列範囲で一列目に検索する文字列の隣にたとえばグラフの範囲を書き込んだら検索する文字列のところにグラフの範囲が表示されますがその範囲に基づいて指定の種類のグラフを作成するような関数はありますか? 聞きたいことの要約 文字列で検索する 検索する範囲の2列目にグラフの範囲を書き込む VLOOKUPを検索する文字を書くところに入れる 文字で検索する グラフの範囲が返され自動的に縦棒グラフが自動的に表示される この様なことができますか?

  • VLOOKUP機能を使用した複数データ抽出 Excel使用

    VLOOKUPでなくても構いませんが、この関数を使用すると抽出出来るデータ数は1個のみになりますね?  当然、そのセル内での設定ですので、単数データになりますが、 指定範囲の中に複数の重複しているデータもあるので、全部抽出したいです。 要するに複数のデータを抽出したいと考えてます。 裏技を教えていただきたいです。 宜しくお願いします。

  • エクセルのVLOOKUP関数の応用

    VLOOKUP関数は、 ”AがBXとCYの範囲内でその左端のどれかと一致すればその行のD列目のデータをコピーする”というような文法で使うと思います。 それの発展系として、 "AがBXとCYの範囲内でその3列目のどれかに一致し、かつ、その行の左端が”合計”ならばその行のD列目のデータをコピーする”というようにできないでしょうか。 すなわち検索する列番号を指定することと、それに検索する条件を1つ付加するということです。前者の問題は列を入れ替えれば良いのですが、もしあれば教えて頂きたいです。後者の問題の方が切実なのですが。よろしくお願いします。

  • VLOOKUPの列番号について

    VLOOKUPを使っていて、疑問に思ったことがありました。 わかる方がいれば、是非教えてください。 なぜ、列番号はセル参照ではいけないのでしょうか? VLOOKUP(検索値, 範囲, 列番号, 検索の型) ヘルプを確認したところ、以下のようなものでした。 【列番号 範囲 内で目的のデータが入力されている列を、左端からの列数で指定します。列番号 に 1 を指定すると、範囲 の左端の列の値が返され、列番号 に 2 を指定すると、範囲 の左から 2 列目の値が返されます 】と、言っていることは理解できるのですが、範囲内といってもセルに番地はあるわけで、それを使っても良いのでは・・・? なぜ、セルの番地ではなく「1列目」なんでしょうか? 説明の足りない文章で大変申し訳ないのですが、何卒よろしくお願いします。

  • Excelでデータ抽出!

    かなり切羽詰ってます。助けてください。 excelで3×15の表を作ってそこからデータを抽出したいのです。列と行の数値はそれぞれ別のセルからの参照にしたいのですが...。ifとかvlookupとかいろいろ使ってみたのですがうまくいきません。エクセルでゆーところの'B3'を出したいだけのことなのですが...。誰か助けてください。

  • EXCELマクロ 検索 VLOOKUP

    Excelマクロで 検索とその結果のコピーを行いたいのですが、全くの素人のためご教授願えればと思います。 Excel2002で 2つの表から共通する部分をKEYに付随するデータ抜き出したいと思っています。関数VLOOKUPを使えば簡単な作業かと思いますがVBAではそのVLOOKUPやFIND、それにLOOPなどの使い方が今ひとつ理解 できません。 具体例として 表1には A-Z列まで約1000行のデータが存在します。 表2は表1と同じシート上の直ぐ隣列AA-AK列まで表1より必ず多い行数のデータが存在します。また表1のA列にあるデータは すべて必ず表2のAA列に含まれます。 行いたい作業は、VLOOKUPのような検索で、表1A列と表2AA列に共通したデータがあった場合、表2の該当セルを基準としてALからBJ列セルに表1の該当行のデータB-Z列をすべてコピー貼り付けすることです。 A・AA列とも同列内では重複も空白もなくソートされています。 これら以外の列には同じValueのデータや空白が存在します。またデータ件数(行数)も表1・2とも一定ではなく都度変動します。 解りやすくご説明いただけると幸いです。宜しくお願いいたします。

  • EXCELのVLOOKUPについて

    はじめまして VLOOKUP機能を使っていたら行き詰ってしまったので質問します。 =VLOOKUP(検索値、範囲、列番号、検索の型) と言う形で作っているのですが 列番号のところを行番号で指定したい場合は どのようなコマンドを入れればよろしいのでしょうか? 宜しくお願いします。

  • エクセル、VBA、抽出複数検索について

    エクセル、VBA、VLOOKUP、MATCH関数等について出来る方法があれば教えてください。 インチごとに分けてあるシートがあり、(在庫表です) これを参照して、別ブックへVLOOKUP等を使って、サンプルデータのシート4のように表示させたいのですが、 何か方法を使って出来ることは可能でしょうか? 問題点が複数あります 1、VLOOKUPの範囲について、B列が結合されていて、C列は複数行あるため、商品名が入ってきません。 C列については、何千件とデータがあるため、結合することは不可能です。 一致している条件としては商品コードが必ずあり、商品名には「/」が入っております。 =CONCATENATEとVLOOKUPは一緒に使うことは可能ですか? もしくはINDEX関数やIF、SUMPRODUCT等を使うのでしょうか? シート4のような形に出来る方法があれば、教えてほしいです。 VBAは詳しくはないのですが、VBAで出来るのであれば、教えてほしいです。 在庫表はとても作り方が悪いのですが、これを作り直すと言うことは、不可能です。 グループ会社で使っているため、なんとかこの在庫表を使いたいです。 VBAでA列をA5からA100にコードのみ入れた場合、B列に商品名が入るようにVBAで作ることは可能でしょうか? もしくは、検索条件を2つ使って、一つは商品コード完全一致+あいまい検索で【/】で商品名を入れることは可能でしょうか? 関数は調べたのですが、関数では難しいのかなと思います。 宜しくお願い致します。

  • Vlookupの応用?

    通常、VLOOKUPを使い、検索する場合は、 =VLOOKUP(検索値,範囲,列位置,検索の型)となると思います。 このうち、検索値と範囲(の左端)、列位置をどこかのセルから取得するにはどのようにすればよいでしょうか? たとえば、 A1セルには1と入力(A列を参照)、B1セルには2と入力(B列を参照)、C1セルには3と入力すると、 A3セル=VLOOKUP(A3,B:Z,3,false) となるようにしたいのですが、どのようにすればよいでしょうか。 お願いします。

専門家に質問してみよう