パワークエリでPDFを取り込む ― 基本編
― 「データの取得」→「PDFから」で表を直接Excelに取り込む全手順 ―

💡 パワークエリとは?

パワークエリ(Power Query)は、Excelに標準搭載されているデータ取得・変換ツールです。外部データソース(ファイル、データベース、Web、PDFなど)からデータを読み込み、列の分割・フィルター・型変換・結合といった加工をGUI操作で行い、結果をExcelシートやデータモデルに出力します。

最大の特徴は、加工ステップが「クエリ」として記録・保存される点です。元のPDFファイルが更新されても「すべて更新」ボタンひとつで同じ加工を自動的に再実行できます。Word変換のように毎回手作業を繰り返す必要がありません。

【2】前提条件と対応バージョン

バージョンPDFコネクタ備考
Excel 2013非対応パワークエリはアドインとして提供されたがPDFコネクタなし
Excel 2016非対応パワークエリが標準搭載されたがPDFコネクタは未搭載
Excel 2019対応PDFコネクタ搭載。基本的なテーブル抽出が可能
Microsoft 365対応(最新版)継続的に検出精度が向上。推奨環境
前提
テキストベースのPDFであること。スキャンした画像PDFはテキスト情報がないため取り込めません。PDFをAdobe Readerで開いて Ctrl+A で文字が選択できればOKです。

【3】基本手順:PDFの表をExcelに取り込む

STEP 1 — Excelを開き、「データ」タブをクリックします。

STEP 2 — 「データの取得」→「ファイルから」→「PDFから」を選択します。

STEP 3 — ファイル選択ダイアログが表示されるので、取り込みたいPDFファイルを選択して「インポート」をクリックします。

STEP 4 — 「ナビゲーター」画面が表示されます。PDFから検出されたテーブルとページの一覧が左側のツリーに表示されます(詳細は次のセクション)。

STEP 5 — 取り込みたいテーブルを選択し、右側のプレビューで内容を確認します。

STEP 6 — そのまま取り込む場合は「読み込み」をクリック。整形が必要な場合は「データの変換」をクリックしてパワークエリエディターを開きます。

【4】ナビゲーター画面の見方

ナビゲーターはPDFの構造を「ページ」と「テーブル」の2つの単位で表示します。

ナビゲーター
請求書.pdf
Table001 (Page 1)
Table002 (Page 2)
Table003 (Page 3)
Page001
Page002
Page003
種類名前の例内容
TableTable001, Table002…PDFから検出された表データ。行・列の構造が自動推定される。取り込みに最も適した形式。
PagePage001, Page002…ページ全体のテキスト。表以外のテキスト(見出し、注釈など)も含む。表の検出に失敗した場合のフォールバック。
テーブルが検出されない場合
PDF内の表が罫線のない「スペース揃え」の表だと、Table として検出されないことがあります。その場合は Page を選んでパワークエリエディターで手動整形するか、Word変換をフォールバックとして使います。

【5】パワークエリエディターでの基本整形

「データの変換」をクリックするとパワークエリエディターが開きます。ここでデータの整形を行います。操作はすべて自動的にステップとして記録されます。

5-1. 1行目をヘッダーに昇格

「ホーム」タブ →「1行目をヘッダーとして使用」をクリックします。1行目のデータが列名になります。

5-2. 不要な列の削除

不要な列のヘッダーを右クリック →「列の削除」。または必要な列だけを選択(Ctrlクリック)→ 右クリック →「他の列の削除」。

5-3. データ型の変更

列ヘッダーの左にある型アイコン(ABC、123 など)をクリックし、正しいデータ型(整数、10進数、日付、テキストなど)を選択します。数値列が「テキスト」になっている場合はここで「整数」や「10進数」に変更します。

5-4. 空白行のフィルター除去

キーとなる列のフィルターボタン(▼)をクリック →「null」と「空白」のチェックを外して「OK」。これでデータのない行が除去されます。

5-5. 列の分割

1つの列に「郵便番号 住所」のようにスペース区切りで複数のデータが入っている場合:該当列を選択 →「変換」タブ →「列の分割」→「区切り記号による分割」→ スペースを指定 → OK。

【6】Excelシートへの読み込み

STEP 1 — パワークエリエディターで整形が完了したら、「ホーム」タブ →「閉じて読み込む」をクリックします。

STEP 2 — データがExcelシートにテーブルとして出力されます。テーブル名はクエリ名と同じになります。

STEP 3 — 読み込み先を変更したい場合は「閉じて読み込む」の▼ →「閉じて次に読み込む…」で、既存のシート・セル位置・データモデルなどを指定できます。

読み込み結果のイメージ

ABCDE
1日付商品名数量単価売上
22026/1/5商品A10050050,000
32026/1/5商品B501,20060,000
42026/1/8商品C20030060,000
(PDFの全データが自動整形されて出力)
「クエリと接続」パネル
読み込み完了後、Excel右側に「クエリと接続」パネルが表示されます。ここにクエリ名・読み込み行数・最終更新日が表示されます。クエリをダブルクリックすると、パワークエリエディターを再度開いて整形ステップを修正できます。

【7】データの更新(リフレッシュ)

パワークエリの最大のメリットは、PDFファイルが更新されたときにワンクリックで再取り込みできることです。

STEP 1 — 元のPDFファイルを新しいバージョンに差し替えます(同じファイル名・同じ場所に保存)。

STEP 2 — Excelで「データ」タブ →「すべて更新」をクリックします。

STEP 3 — パワークエリが自動的にPDFを再読み込みし、同じ加工ステップを適用して結果を更新します。手作業は一切不要です。

ファイル名やパスが変わった場合
右側の「クエリと接続」パネルでクエリをダブルクリック → パワークエリエディター →「ホーム」→「詳細エディター」で File.Contents("パス") 部分を新しいパスに変更します。

【8】実践例:売上レポートPDFを取り込む

シナリオ:3ページにまたがる月次売上レポートPDF(ヘッダー+50行の明細表)を取り込む

STEP 1 — 「データ」→「データの取得」→「PDFから」→ ファイル選択。

STEP 2 — ナビゲーターに Table001、Table002、Table003 が表示される。プレビューで確認すると3つとも同じ列構造の表(日付・商品名・数量・単価・売上)。

STEP 3 — 3つすべてにチェックを入れ、「データの変換」をクリック。3つのクエリが別々に作成される。

STEP 4 — パワークエリエディターで「ホーム」→「クエリの追加」→「3つ以上のテーブルを追加」で Table001・Table002・Table003 を結合。1つのクエリにまとまる。

STEP 5 — 「1行目をヘッダーとして使用」→ 2ページ目・3ページ目の重複ヘッダー行をフィルターで除去(「日付」列で "日付" という文字列を除外)。

STEP 6 — データ型を設定して「閉じて読み込む」。50行すべてが1つのExcelテーブルに出力される。

ポイント
ページまたぎの表を結合する際、各ページの先頭に重複するヘッダー行が含まれることがあります。結合後にフィルターで除去するのが定番の対処法です。

【9】よくあるつまずきポイント

症状 原因と対処法
「PDFから」メニューが見つからない Excel 2016以前ではPDFコネクタが搭載されていません。Excel 2019以降にアップグレードするか、Word変換を使ってください。
テーブルが1つも検出されない PDFの表に罫線がなく、スペースだけで列を揃えている場合に起こります。Page(ページ全体のテキスト)を選んで取り込み、パワークエリエディターで「列の分割」を使って手動で整形します。
列がズレている セル結合を含む複雑な表はパワークエリでも正確に認識できないことがあります。パワークエリエディターで「列の入れ替え」「列の分割・統合」を使って修正します。
日本語の列名が文字化けする まれにPDFのエンコーディング問題で文字化けが起きます。パワークエリエディターで列名をダブルクリックして手動で正しい名前に変更してください。
数値が文字列になっている 型アイコン(列ヘッダー左)をクリックして「整数」「10進数」「通貨」など適切な型に変更します。¥記号が付いている場合は「値の置換」で¥を削除してから型変換します。

📝 まとめ

パワークエリのPDFコネクタを使えば、PDFの表データをExcelに取り込む作業が「ファイルを指定 → テーブルを選択 → 整形 → 読み込み」の一連のフローになります。加工ステップがクエリとして保存されるため、PDFが更新されるたびに「すべて更新」を押すだけで最新データが反映されます。Word変換と比較して、操作ステップが少なく、再利用性が高く、ページまたぎの表も結合できるという大きな利点があります。

パワークエリの基本操作は → GUIマスターシリーズ①〜⑥
応用操作は → 応用編⑦〜⑪