Excelデータベースからデータ抽出|条件に合う複数項目をリスト/表出力

- 「Power Queryで条件に合うデータだけを抽出する方法が知りたい」
- 「大量のデータから、
特定の条件に合う行だけをリストや表として取り出したい」 - 「データベースから自動でデータを抽出して、
別の表を作りたい」
Power Query(パワークエリ)
本記事では、
※ 本記事では「データベース=テーブル」
Excelのデータベースからデータを抽出する方法は複数あります。
- テーブルを閲覧しながら その場で絞り込みたい → フィルター機能 / スライサー機能
- 同一ブック内 のデータベースから値を引きたい → XLOOKUP / VLOOKUP / INDEX+MATCH などの関数(旧バージョンとの互換性を考えるなら VLOOKUP や INDEX+MATCH など)
- 外部 のデータベースからデータを取得したい → Power Query
- 抽出結果を テーブルとして出力 したい / 大容量データ を処理したい → Power Query
各手法の特徴を表で比較します。
| 抽出手法 | 複数の該当項目への対応 | 特徴 |
|---|---|---|
| Power Query | ✅すべての該当項目を抽出 | ✅外部データを安定取得 ✅出力範囲が自動拡張 ✅大容量データに強い ❌設定手順が多い ❌データ更新の操作が必要 |
| フィルター機能/スライサー機能 | ✅マウス操作のみで実行可 ❌データ更新時の自動評価なし | |
| XLOOKUP / VLOOKUP / INDEX+MATCH などの関数 | ❌最初の1件のみ抽出 | ✅旧版Excelで使用可(XLOOKUP以外) |
| FILTER関数 | ✅すべての該当項目を抽出(スピル) | ❌古いExcelでは非対応 ❌テーブル内でスピルできない |
| DGET関数 | ❌複数該当時はエラー | ✅複数条件の設定可 ❌条件設定の表構造が固定 |
該当項目が複数のときのFILTER関数とPower Queryの違い
Power Queryの場合:
出力は 「サイズが自動調整されるテーブル」
FILTER関数の場合:
テーブル内での使用は困難 です。
テーブル外使用の場合でも、

FILTER関数はテーブル内での使用は困難なため、
ここからは、
データベースと条件記入欄の準備
データベース(T_売上データ)
【データベースの例】
テーブル名 : T_売上データ
| 日付 | 店舗名 | 商品名 | 売上 |
|---|---|---|---|
| 2026/05/01 | 東京 | パソコン | 120,000 |
| 2026/05/02 | 大阪 | スマホ | 80,000 |
| 東京 | タブレット | 50,000 | |
| 2026/05/03 | 福岡 | パソコン | 120,000 |
| 東京 | スマホ | 80,000 |
【条件記入欄の例】
テーブル名: T_検索条件
| 店舗名 |
|---|
| 東京 |

テーブル化は必須ではありませんが、
データベースの読み込み
テーブルのマージ(条件に合うデータの抽出)
Power Queryで作成したテーブルは、
[データ] タブの [すべて更新] ボタンをクリックすると更新できます。
Power Query以外にも、
フィルター機能 / スライサー機能
フィルター (オートフィルター)
スライサー機能 を使う場合は、
XLOOKUP / VLOOKUP / INDEX+MATCH関数
XLOOKUP / VLOOKUP / INDEX+MATCH 関数は、
VLOOKUP関数は検索列が固定
VLOOKUP関数は、
検索列を自由に指定したい場合は、
XLOOKUP
=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])数式例:=XLOOKUP("東京", T_売上データ[店舗名], T_売上データ[商品名], "")
VLOOKUP
=VLOOKUP(検索値, 範囲, 列番号, [検索方法])数式例:=VLOOKUP("東京", T_売上データ[[店舗名]:[売上]], 2, FALSE)
INDEX+MATCH
=INDEX(戻り範囲, MATCH(検索値, 検索範囲, [照合型]))数式例:=INDEX(T_売上データ[商品名], MATCH("東京", T_売上データ[店舗名], 0))
FILTER関数
FILTER関数 は、
=FILTER(配列, 条件, [空の場合])数式例:=FILTER(T_売上データ[商品名], T_売上データ[店舗名]="東京", "")
DGET関数
DGET関数 は、
=DGET(データベース, フィールド, 条件範囲)数式例:=DGET(T_売上データ[#すべて], "商品名", T_検索条件[[#すべて],[店舗名]])
本記事の要点は以下の3点です。
- 使い分け :その場で絞り込むなら「フィルター機能」
、 値を即時に引くなら「関数」 、 大容量データの処理や別表の作成なら「Power Query」 を使う - Power Queryでのデータ抽出手順 :条件記入欄とデータベースをPower Query上でマージし、
条件に合う行だけを抽出してテーブルとして出力 する - Power Queryのメリット : 該当項目が複数ある 場合でも、
データベースが外部ファイルにある場合でも、 安定して動作する
Excelで、

















