抽出先のブックだけを開き、ブック名と検索値で検索抽出するなら、SWITCH関数(Excel2016ではCHOOSE関数)で抽出元のブックのセル範囲を切り替えて抽出しよう。
目次
例題1|複数のブックから検索抽出する
- 抽出するブックはすべて開く。
- 「電話番号」を求めるセル(C3セル)を選択し、「=VLOOKUP(」と入力する。
- [検索値]…「ID検索」のセル(B3セル)を選択する。
- [範囲]…「SWITCH(」と入力する。
- [式]…A3セルを選択する。
- [値1]…「”220-01”」と入力する。
- [結果1]…[ウィンドウの切り替え]ボタンから「220-01」ブックを選択して抽出するセル範囲を選択する。
- [値2]…「”220-02”」と入力する。
- [結果2]…[ウィンドウの切り替え]ボタンから「220-02」ブックを選択して抽出するセル範囲を選択する。
- [規定または値3]…[””](空白)を入力する。
- [列番号]…抽出する列の番目「3」を入力する。
- [検索方法]…完全一致なので「0」と入力して、「Enter」キーで数式を確定する。
【数式】=VLOOKUP(B3,SWITCH(A3,”220-01″,'[220-01.xlsx]A’!$A$2:$C$3,“220-02″,'[220-02.xlsx]B’!$A$2:$C$2,””),3,0)
数式の解説
「SWITCH(A3,“220-01”,‘[220-01.xlsx]A’!$A$2:$C$3,“220-02”,‘[220-02.xlsx]B’!$A$2:$C$2,“”)」の数式は、A3セルのブック名が「220-01」なら「220-01.xlsx」のA2セル~C3セル、「220-02」なら「220-02.xlsx」のA2セル~C2セルのセル範囲を抽出する。VLOOKUP関数の引数[範囲]に組み合わせることで、B3セルの「A002」をA3セルの「220-01」ブックのA2セル~C3セルのセル範囲から検索し、一致した行にある3列目の電話番号「080-****-0002」が抽出される。
Excelデータダウンロード
以下のリンクを右クリックし、Excelデータをダウンロードください
Excel-sample00.xlsx
Excel-sample01.xlsx
Excel-sample02.xlsx
例題2|複数のブックから検索抽出する
- 抽出するブックはすべて開く。
- 表外のセル(A4セル)を選択し、A3セルに入力したら「1」からの連続した番号が入力されるようにIF関数で条件式を入力する。
- 「電話番号」を求めるセル(C3セル)を選択し、「=VLOOKUP(」と入力する
- [検索値]…「ID検索」のセル(B3セル)を選択する。
- [範囲]…「CHOOSE(A4,」と入力する。
- [ウィンドウの切り替え]ボタンからブックを切り替えながら、[値1]に「220-01」ブックの抽出するセル範囲を選択、[値2]に「220-02」ブックの抽出するセル範囲を選択する。
- [列番号]…抽出する列の番目「3」を入力する。
- [検索方法]…完全一致なので「0」と入力して、「Enter」キーで数式を確定する。
【数式】=VLOOKUP(B3,CHOOSE(A4,'[220-01.xlsx]A’!$A$2:$C$3,
‘[220-02.xlsx]B’!$A$2:$C$2),3,0)
数式の解説
「=IF(A3=“220-01”,1,2)」の数式は、A3セルに「220-01」と入力したら「1」、「220-02」と入力したら「2」が求められるように条件式を作成する(シートの数だけIF関数を組み合わせて条件式を作成する)。
「CHOOSE(A4,‘[220-01.xlsx]A’!$A$2:$C$3,‘[220-02.xlsx]B’!$A$2:$C$2)」の数式は、A4セルに「1」が入力されると引数[値1]の「220-01」ブックのA2セル~C3セル、A4セルに「2」が入力されると引数[値2]の「220-02」ブックのA2セル~C2セルのセル範囲を抽出する。
VLOOKUP関数の[範囲]に組み合わせることで、B3セルの「A002」をA3セルの「220-01」ブックのA2セル~C3セルのセル範囲から検索し、一致した行にある3列目の電話番号「080-****-0002」が抽出される。
Excelデータダウンロード
以下のリンクを右クリックし、Excelデータをダウンロードください
Excel-sample00.xlsx
Excel-sample01.xlsx
Excel-sample02.xlsx
応用1|
ブック名を入力せずに、検索値だけで該当のデータを抽出するなら、
❶数式を作成したブック内の別シートにすべてのブックを1つにまとめたテーブルとしてPower Queryで取り込んでおき、そのテーブルをもとに検索抽出する数式を作成しましょう。この場合、同じブック内のシートから検索抽出できるので、❷XLOOKUP/VLOOKUP関数だけで検索抽出でき、ブックの追加や変更が合っても[更新]ボタン1つで反映させることができます。
また、参照元のブックがたとえ1つの場合でも、共有フォルダ内などのネットワーク上にブックを作成しているとき、数式を入れた参照先のブックを開き、次に参照元のブックを開いて編集を有効にするボタンを押すとエラーになってしまい、正しく参照できないトラブルが起きることがあります。そんなときの対処法にはいろいろありますが、数式を作成したブック内のシートに、参照元のブックをPower Queryで取り込んでおけば、そのテーブルをもとに検索抽出する数式を作成することで対処できます。
Excelデータダウンロード
以下のリンクを右クリックし、Excelデータをダウンロードください
Excel-sample00.xlsx
Excel-sample01.xlsx
Excel-sample02.xlsx
あわせて読みたい
101-00|VLOOKUP進化版!XLOOKUPの使い方!データ抽出方法のまとめ
10101|XLOOKUPのデータ抽出方法 【Excel】練習用サンプルデータ(例題)①をダウンロードする Excel練習用サンプルデータ|ダウンロード ↓「手書き」追記説明 【Excel】…
あわせて読みたい
101-01|VLOOKUP進化版!「XLOOKUP」の使い方!柔軟な「データ検索」を行うVLOOKUPに代わる新しい関数【…
ExcelのXLOOKUP関数は、柔軟な検索と取得を行う新しい関数です。この記事では、XLOOKUP関数の使い方やポイントについて詳しく解説します。 関数 関数の説明 XLOOKUP関数…
あわせて読みたい
XLOOKUPの複数条件|2つ・3つ以上・OR条件の書き方と無料サンプル
XLOOKUP関数で複数条件を指定する方法を解説。&でつなぐ2つ・3つ以上の条件、「〜以上」を含む条件、OR条件、別シート、該当が複数あるときのFILTER、XLOOKUPがない場合のINDEX+MATCHまで。無料サンプル付き。
あわせて読みたい
XLOOKUP関数で別シートから検索・抽出する方法|複数条件の数式と実例
XLOOKUP関数で別シートから値を取得する基本式と、複数条件で検索する方法を解説。サンプルのセル位置・結果を示し、#N/Aや数値と文字列の違い、複数行を取り出す場合の使い分けも確認できます。
あわせて読みたい
s022|検索値に該当するデータのうち特定の項目(列) だけ抽出する【XLOOKUP関数、VLOOKUP関数】|Excel…
複数列の表から検索値に一致するデータを指定の列から抽出するなら、XLOOKUP関数やVLOOKUP関数を使う。 目的 指定列から検索抽出 使用する関数 Microsoft2021/365 :XLO…
あわせて読みたい
XLOOKUPで検索した行の複数列をまとめて取り出す方法|VLOOKUP×COLUMNも解説
検索した行の複数列をまとめて取り出すには、XLOOKUPの戻り値範囲を複数列にします。Excel 2019以前では、VLOOKUPとCOLUMN関数の組み合わせで取り出せます。練習用ファイルで確かめられます。
あわせて読みたい
s025|検索値に該当するデータのうち離れた複数列を抽出する方法【XLOOKUP関数、VLOOKUP関数、MATCH関数…
複数列の表から検索値に一致するデータを、2列目、5列目、7列目…などの離れた複数の列を抽出するときは、XLOOKUP/VLOOKUP関数を使って数式を作成し、その数式をコピー…
あわせて読みたい
s027|どの列を検索対象にしても抽出する方法【FILTER関数、XLOOKUP関数、INDEX関数、SUMPRODUCT関数、R…
検索値に電話番号を入力しても、名前を入力しても、該当するデータを表から抽出したい。そんな時は、検索値があるデータの列を抽出してから、検索値と一致する行のデー…
あわせて読みたい
Excelのクロス抽出|XLOOKUP・INDEX+MATCHで商品×倉庫を検索
Excelのクロス抽出は、行見出しと列見出しが交差するセルを取り出す方法です。商品と倉庫で在庫数を調べる場合などに使います。XLOOKUPの入れ子、またはINDEX+MATCHで求められます。
あわせて読みたい
s029|クロス表の見出しとデータを入れ替えた別のクロス表を作成【XLOOKUP関数、TEXT関数、IFNA関数、IN…
クロス表のデータを見出しにした別のクロス表を作成したいときは、XLOOKUP関数の引数[検索範囲]にXLOOKUP関数を組み合わせた数式を作成しよう。 目的 クロス表検索抽…
あわせて読みたい
Excelで日付・期間を検索する方法|XLOOKUP・VLOOKUPの近似一致
指定日が含まれる期間の料金を探すなら、XLOOKUPの一致モードを -1 にします。「指定日と一致する開始日、なければ指定日より前で最も近い開始日」を探す近似一致です。同じ日付の行だけを探す完全一致とは使い分けます。
あわせて読みたい
s033|検索値を含むワードを検索して該当データを抽出する方法【XLOOKUP関数、VLOOKUP関数】|Excel関数…
検索値が検索対象の列のデータと完全一致ではなく、部分的に一致する場合は、XLOOKUP関数やVLOOKUP関数の引数の[検索値]にワイルドカードを使って抽出しよう。 目的 …
あわせて読みたい
s034|検索値を含むワードを検索して該当データを抽出する方法【XLOOKUP関数、LOOKUP関数】|Excel関数…
検索値の一部しかない検索対象のデータから、該当データを抽出するなら、XLOOKUP/LOOKUP関数の引数[検索範囲]にFIND関数を使って数式を作成しましょう。 目的 部分一…
あわせて読みたい
XLOOKUPで複数該当をすべて抽出できる?FILTERとの違いと2件目の取得
XLOOKUPは通常、条件に一致する最初の1行を返します。戻り範囲を複数列にしても、同じ条件の全明細を返すわけではありません。複数該当をすべて表示したい場合はFILTER、最後の1件ならXLOOKUPの検索モード-1を使います。 無料Excelサンプル付き。
あわせて読みたい
XLOOKUPで複数シートをまとめて検索|VSTACKと2条件の指定
複数シートを横断して1件を検索するには、VSTACKで各シートの検索列と戻り列を同じ順番につなぎ、XLOOKUPに渡します。Microsoft 365・Excel 2024向けです。Excel 2021ではVSTACKを使わない入れ子の方法を選びます。 無料Excelサンプル付き。
あわせて読みたい
S037|複数シートから検索して抽出【XLOOKUP関数、IFNA関数、VLOOKUP関数】|Excel関数によるデータ抽出…
XLOOKUP関数とINDEX関数はセル参照を抽出できるため、セルに貼り付けた写真や図を検索値で抽出することができる。ただし、数式は名前の参照範囲に入力すること。 目的 …
あわせて読みたい
XLOOKUPで別シート・複数シートから検索する方法|VSTACK・INDIRECT
XLOOKUPで別シートを検索する場合は、検索範囲と戻り範囲にシート名を付けます。複数シートをまとめて探したいときはVSTACK、セルに指定した1枚のシートを探したいときはINDIRECTを組み合わせます。目的に合う方法を選びましょう。
あわせて読みたい
S039|シート名と検索値を入力して該当データを抽出【XLOOKUP関数、VLOOKUP関数、INDIRECT関数】|Excel…
Excel2021/2019/2016では、クリップボードやPower Queryで1つの表にするしかない。しかし、もしデータの変更に対応したい等の場合は、検索値に該当するデータが1つ目の…
あわせて読みたい
S045|複数ブックからブック名と検索値に該当するデータを抽出【XLOOKUP関数、VLOOKUP関数、SWITCH関数…
抽出先のブックだけを開き、ブック名と検索値で検索抽出するなら、SWITCH関数(Excel2016ではCHOOSE関数)で抽出元のブックのセル範囲を切り替えて抽出しよう。 目的 複…
あわせて読みたい
x001|Excelで「XLOOKUP関数」を使用してデータを検索する方法
ExcelのXLOOKUP関数は、指定したキーを検索し、対応する値を返すための強力なツールです。従来のVLOOKUP関数やHLOOKUP関数に代わるもので、より柔軟で簡単に使用できる…
あわせて読みたい
VLOOKUP・HLOOKUP・XLOOKUP・MATCH・INDEXの違いと使い分け|検索関数5つの書き方
VLOOKUP・HLOOKUP・XLOOKUP・MATCH・INDEXの違いと使い分けを、同じ商品表で比較して解説。縦に探す・横に探す・位置を返すの違い、HLOOKUPの正しい書き方、書き方の早見。無料サンプル付き。
あわせて読みたい
g713|Excel XLOOKUP関数:表引き検索の決定版!VLOOKUP/HLOOKUPを超える柔軟性
Excelで表形式のデータから特定の値を検索する際、従来のVLOOKUP関数やHLOOKUP関数にはいくつかの制約がありました。そこで登場したのがXLOOKUP関数です。XLOOKUP関数は…
あわせて読みたい
XLOOKUPで複数列をまとめて取得|スピルで商品名・分類・単価を表示
1つの商品IDから商品名・分類・単価をまとめて返すには、XLOOKUPの戻り範囲を複数列にします。数式は左端の1セルに入力し、結果が右へ広がる空間を空けます。同じIDに一致する複数行をすべて返す機能とは異なります。 無料Excelサンプル付き。
あわせて読みたい
XLOOKUPで逆引き検索する方法|検索列より左の値も取り出せる(VLOOKUPとの違い)
XLOOKUPなら、検索する列より左にある値も取り出せる「逆引き」が簡単です。検索範囲と戻り値範囲を別々に指定するため、VLOOKUPの制約を受けません。書き方をVLOOKUPと比べて解説。無料サンプル付き。
あわせて読みたい
XLOOKUPの入れ子を図解|行と列の2条件で交点を検索する方法
XLOOKUPを入れ子にすると、「券種」と「年齢区分」のような縦横2つの見出しから、交点の金額を取り出せます。内側のXLOOKUPで1行を選び、外側のXLOOKUPでその行から1列を選ぶ、という順番で読むと理解しやすくなります。
あわせて読みたい
XLOOKUPで2つの条件を検索|&連結と条件比較の使い分け
XLOOKUPで2条件を指定する方法は、検索値と検索列をそれぞれ&でつなぐ方法と、2つの比較式を掛け合わせる方法があります。文字列を単純連結すると別の組み合わせが同じ値になることがあるため、区切り文字を入れるか条件ごとに比較します。 無料Excelサンプル付き。
あわせて読みたい
XLOOKUPの範囲を自動拡張|テーブル参照・列全体指定の使い方
XLOOKUPの参照範囲をデータ追加に合わせて広げるには、元データをExcelの「テーブル」にし、列名で参照する方法が便利です。A2:A100のような固定範囲では、101行目に追加したデータは検索されません。
あわせて読みたい
XLOOKUPで横方向に検索|年・月の見出しから売上を取得する方法
XLOOKUPは縦の一覧だけでなく、横に並んだ年・月の見出しも検索できます。検索範囲を1行、戻り範囲を対応する1行に指定します。列の位置がそろっていれば、離れた行や見出しより上の行も戻り範囲にできます。 無料Excelサンプル付き。
あわせて読みたい
XLOOKUPで「以上・未満」を検索|一致モード-1・1と境界値の考え方
XLOOKUPで「70以上80未満」のような範囲を検索するには、下限値の表を用意して第5引数の一致モードを -1 にします。入力値以下で最も近い下限が選ばれるため、得点別の評価や金額別のランクを求められます。
あわせて読みたい
XLOOKUPとIFの組み合わせ|未入力・在庫数・複数条件で表示を変える
XLOOKUPとIFを組み合わせると、「未入力なら検索しない」「検索結果の数値で表示を変える」といった処理ができます。IFは条件分岐、XLOOKUPは表から値を探す役割です。複数条件そのものを検索したい場合とは式を分けて考えると分かりやすくなります。
あわせて読みたい
XLOOKUPの部分一致|ワイルドカードで前方・後方・含む検索
XLOOKUPで「名前の一部を含むデータ」を探すには、検索値に * を付け、第5引数の一致モードを 2 にします。前方一致は「山田*」、後方一致は「*子」、途中に含む場合は「*一郎*」です。通常は最初に一致した1件を返します。
あわせて読みたい
a3|Excel XLOOKUP関数「縦横検索」とVLOOKUPからの進化
ExcelのXLOOKUP関数は、VLOOKUP関数の課題を克服し、より柔軟なデータ検索を可能にする強力なツールです。この記事では、XLOOKUP関数の基本的な使い方から、VLOOKUP関数…
コメント