PDFからExcelへの表抽出方法:5つの方法を比較
PDFは表をx,y座標の散在するテキスト断片として保存します。行も列もセルもありません。ここでは、無料のブラウザベースツールからPythonスクリプトまで、そのデータを実際にスプレッドシートに取り込む方法を説明します。

Excelに取り込みたい表が含まれるPDFをお持ちですか?それは財務報告書、銀行取引明細書、請求書、あるいは研究論文かもしれません。データは画面上にきれいに整理された行と列で表示されています。しかし、それを抽出してみると、すべてがバラバラになってしまいます。
これは、PDFがデータ形式ではなく表示形式であるためです。PDFの仕様には、「テーブル」、「行」、「列」という概念はありません。構造化された表のように見えるものは、実際にはキャンバス上の特定のx,y座標に配置された多数のテキスト断片です。その構造をスプレッドシートに抽出することは、リバースエンジニアリングの問題であり、さまざまなツールがさまざまな成功度でこれを処理します。
このガイドでは、PDFから表を抽出する5つの方法、それぞれの最適な使用時期、そして問題が発生した場合の対処法について説明します。
PDFからの表抽出が難しい理由

PDF形式には表がない
PDF仕様(ISO 32000-2:2020)は、個々の文字を正確な座標に配置するオペレーターのシーケンスであるコンテンツストリームを定義しています。たとえば、「日付 | 説明 | 金額」のような単純な表の行は、次のように保存される場合があります。
BT /F1 10 Tf 72 650 Td (01/15/2026) Tj 200 0 Td (Office Supplies) Tj 180 0 Td (125.00) Tj ET<table>、<tr>、<td>タグはありません。行の識別子もありません。列の境界もありません。セルを囲むように見える線は、テキストとは完全に切り離された個別の描画操作です。抽出ツールは、空間的な関係から全体の構造を推測する必要があります。
3種類の表罫線
罫線付き(格子)表は、各セルに目に見える線があります。これらの線はセルの境界を明確に定義するため、抽出が最も簡単です。正式な財務諸表、政府のフォーム、標準化されたレポートでよく見られます。
罫線なし(ストリーム)表は、線がまったくありません。構造は空白の配置によってのみ定義されます。行全体で一貫したx座標を共有するテキスト項目が、暗黙の列を形成します。研究論文、請求書、製品カタログでよく見られます。
半罫線表は、部分的な罫線のみを持ちます。通常、セクション間には水平線がありますが、垂直の区切り線はありません。銀行取引明細書、証券レポート、公共料金の請求書で非常に一般的です。これらの表は、部分的な罫線が格子モードのパーサーを誤解させ、罫線がないことがストリームモードの信頼性を低下させるため、抽出が最も困難です。
タグ付きPDFとタグなしPDF
タグ付きPDFには、見出し、段落、表セルを識別する構造メタデータが含まれています。タグなしPDFにはこれらがなく、抽出ツールは生の座標のみを取得します。ほとんどのPDFはタグなしであり、事実上すべての銀行取引明細書、請求書、財務報告書が含まれます。
方法1:PDFSub 表抽出(無料+AIフォールバック)
PDFSubの表抽出ツールは、コストを最小限に抑えながら精度を最大化する3段階のアプローチを使用しています。
ステージ1:座標ベース検出(ブラウザ、無料)
ツールはまず、ブラウザ内で完全に抽出を試みます。
- PDFコンテンツストリームを解析して、x,y座標を持つすべてのテキスト項目を抽出します。
- y座標の近接性に基づいてテキスト項目を行にグループ化します。
- 行全体のx座標の配置パターンを分析して、列の境界を検出します。
- 最低3行、2列、70%以上の信頼性が必要です。
良好な表が見つかった場合、構造化されたデータを即座に取得できます。サーバーへのアップロードなし、AIクレジットの消費なし、ファイルがデバイスを離れることはありません。
ステージ2:サーバーサイド抽出(pdfplumber、無料)
座標ベース検出で表が見つからない場合、ツールはサーバー上でpdfplumber(MITライセンス)を使用します。これは、明示的な線(描画された罫線)と暗黙の線(単語の配置パターン)の両方を検出し、交差を見つけ、長方形を識別し、テキストをセルにマッピングします。
ステージ3:AI抽出(クレジット使用)
スキャンされたPDF、複雑なレイアウト、またはルールベースの方法で解析できない表の場合、ツールはAI搭載のビジョン抽出にフォールバックします。表が複雑であることがわかっている場合は、「AI抽出を強制」を切り替えて、このステージに直接スキップすることもできます。
出力形式: Excel(.xlsx)、CSV、JSON。
最適な用途: ソフトウェアをインストールせずに迅速に抽出する場合。デジタルPDFは、最大限のプライバシーのために完全にブラウザで処理されます。
方法2:ExcelのPower Query(Windowsのみ)
Excel 2019以降およびWindows上のMicrosoft 365で利用可能:データ → データの取得 → ファイルから → PDFから。
仕組み
- データ → データの取得 → ファイルから → PDFからをクリックします。
- PDFファイルを選択します。
- Power Queryに、検出された表がページごとにリストされたナビゲーターパネルが表示されます。
- 必要な表を選択し、データの変換をクリックしてクリーンアップしてから、読み込みをクリックします。
強み
- Excelに組み込まれている - Microsoft 365サブスクライバーに追加料金なし
- Power Queryの変換エンジンは、後処理(下方向フィル、ピボット、列のマージ)をうまく処理します。
- ソースPDFが更新された場合、データを更新できます。
- 同じPDFから複数のテーブルに接続できます。
制限事項
- Windowsのみ - Excel for Mac、Excel Online、モバイルでは利用できません。
- 罫線なし表には苦労する - 明確な罫線付き表で最も効果的です。
- OCRなし - スキャンされた/画像PDFから抽出できません。
- 複数ページの表は問題がある - 各ページが個別の表としてインポートされることが多く、手動での結合が必要です。
- 複数行のセル - セル内の折り返しテキストは、複数の行に分割されることが多く、クリーンアップが必要です。
最適な用途: シンプルで罫線付きの表を持つWindowsユーザーで、Microsoft 365を利用している場合。
方法3:Adobe Acrobat(有料)
ファイル → PDFを書き出し → スプレッドシート → Microsoft Excelワークブック
価格(2026年)
- Acrobat Standard:月額12.99ドル(年間プラン)
- Acrobat Pro:月額19.99ドル(年間プラン)
- Export PDF(スタンドアロン):より低価格の変換専用プラン
強み
- スキャンされたドキュメント用のOCRが組み込まれています。
- 通常、シンプルな罫線付き表の書式を保持します。
- Proではバッチ処理が可能です。
制限事項
- 表抽出のみには高価 - 年間156〜240ドル
- セルの結合や複数ページにまたがる複雑な表では、依然として出力がずれることがあります。
- 処理のためにAdobeのクラウドにファイルがアップロードされる場合があります。機密性の高い財務データには問題があります。
- デスクトップのインストールが必要です。
最適な用途: すでにAcrobat Proを契約しており、OCRを使用した表の抽出を時々必要とするユーザー。
方法4:コピー&ペースト(手動)
最も直感的なアプローチですが、表の場合は最も失敗しやすい方法です。
一般的な問題
- すべてのデータが1列に - 表全体が列の区切りなしで貼り付けられます。
- 数値がテキストになる - 通貨記号、括弧、区切り文字が数値形式を壊します。
- セル内の複数行コンテンツがファントム行を作成する - セル内で2行に折り返された説明が、2つの別々の行になります。
- ヘッダーがデータから分離される - ヘッダー行が切り離されます。
- 列のずれ - 文字間隔がタブに変換されないため、データがずれます。
部分的な回避策
Excelに貼り付け、次にスペースまたは固定幅の区切り文字を使用してデータ → 区切り位置指定ウィザードを使用します。「連続した区切り文字は1つとして扱う」を有効にします。これは非常にシンプルで、空白が多い表には機能しますが、複数単語のセルコンテンツがあるものには失敗します。
最適な用途: 単一の小さくてシンプルな表を最後の手段として抽出する場合。
方法5:Pythonライブラリ(開発者向け)
MITライセンスの3つのライブラリが、PDF表抽出をプログラムで処理します。
Tabula-py
Tabula(Java)のPythonラッパー。Javaランタイムが必要です。
- 罫線付き表用の格子モード(線と交差を検出)
- 罫線なし表用のストリームモード(テキスト配置を使用)
- スクリプトでのバッチ処理に適しています。
- OCRサポートなし。
Camelot
格子モードとストリームモードも提供します。
- 罫線付き表では、Tabulaよりも一般的に優れたパフォーマンスを発揮します。
- ストリームモードには、微調整のためのより多くの設定パラメータがあります。
- 各抽出で精度レポートを提供します。
- Ghostscriptの依存関係が必要です。OCRサポートなし。
pdfplumber
座標ベースのアプローチ:すべての文字とその正確な位置を抽出し、構造を推測します。
- 最も幅広い種類の表に対応します。
- 最も多くの制御を提供しますが、より多くの設定が必要です。
- これはPDFSubがサーバーサイドで使用しているライブラリです。
- OCRサポートなし。
最適な用途: 定期的な表抽出ワークフローを自動化する開発者、大量の類似ドキュメントを処理する場合。
一般的な問題とその解決策
セルの結合
セルが複数の行または列にまたがる場合、ほとんどのツールはコンテンツを左上のセルに配置して他のセルを空にするか、後続のすべての列をずらします。普遍的な解決策はありません。CSV形式には結合の概念がないため、結合情報は常に失われます。
修正: 表を抽出し、Excelで手動で結合のアーティファクトを修正します。同じ結合パターンを持つ定期的な表の場合は、後処理スクリプトを検討してください。
セル内の複数行コンテンツ
セル内で折り返された長い説明は、出力で複数の行になり、後続のすべてのデータをずらします。これは、財務文書で最も一般的な抽出エラーです。
修正: 抽出後、日付と金額が欠落している行を探します。これらは、上の行に属する継続行である可能性が高いです。Excelで、手動で結合するか、ヘルパー数式を使用します。
複数ページにまたがる表
ツールは、表がどこで継続するか、繰り返されるヘッダーを削除するかどうか、ページフッターをフィルタリングする方法を決定する必要があります。多くのツールは、各ページを個別に扱います。
修正: ツールがページごとの結果を返す場合は、シートを結合し、繰り返されるヘッダー行を削除します。ページNの最後の行がページN+1の最初の行と正しく接続されていることを確認します。
通貨書式設定の問題
括弧内の負の数((1,234.56))は、数値ではなくテキストとして貼り付けられます。通貨記号と千単位の区切り文字も数値形式を壊します。
修正: 抽出後、金額列を選択し、「検索と置換」を使用して$、(、)文字を削除します。次に、列を数値として書式設定します。括弧付きの負の数については、(を-に置き換え、)を削除してから、数値形式に変換します。
日付の曖昧さ
01/02/2026 - これは1月2日ですか、それとも2月1日ですか?抽出ツールは文字列をそのまま保持しますが、Excelはロケールに基づいて解釈し直す場合があります。
修正: ソースPDFで日付形式の手がかりを探します(12を超える日数の日付を探します)。インポートする前に、Excelの日付形式をソースと一致するように設定します。
精度比較
| 方法 | シンプルな罫線 | 罫線なし | 半罫線 | スキャンされたPDF |
|---|---|---|---|---|
| PDFSub(座標+AI) | 90–99% | 75–95% | 70–95% | 85–95% (AI) |
| Power Query | 85–95% | 40–60% | 50–70% | 非対応 |
| Adobe Acrobat | 90–95% | 70–80% | 70–85% | 80–90% |
| Tabula | ~68% | 55–70% | 50–65% | 非対応 |
| Camelot | ~73% | 65–75% | 60–70% | 非対応 |
| コピー&ペースト | 30–50% | 10–30% | 10–30% | 不可 |
範囲は、ドキュメントの複雑さによる変動を示します。ベンチマークデータは、Procycons 2025 PDF抽出ベンチマークおよびCamelot比較研究に基づいています。
どの方法を使用すべきか?
| シナリオ | 最適な方法 | 理由 |
|---|---|---|
| 迅速な単発抽出 | PDFSub | インストール不要、ブラウザベース、無料の座標抽出 |
| シンプルな罫線付き表、Windows | Power Query | Excelに組み込まれており、追加費用なし |
| スキャンされたPDF | PDFSub (AI) または Adobe Acrobat | OCR機能が必要 |
| 機密性の高い財務データ | PDFSub | ブラウザベースの処理、ファイルはアップロードされない |
| 定期的なバッチ処理 | Python (pdfplumber) | スクリプト化可能、自動化可能 |
| すでにAcrobat Proを持っている | Adobe Acrobat | すでに契約しており、シンプルな表はうまく機能する |
| 単一の小さな表、ツールなし | コピー&ペースト | 最後の手段、すべてを確認する |
最良の結果を得るためのヒント
ネイティブPDFを使用する。 紙をスキャンするのではなく、ソースからドキュメントをダウンロードします。ネイティブPDFは完璧なテキストを持っているため、抽出の精度が劇的に向上します。
まず表の種類を特定する。 罫線付き表はほとんどのツールで機能します。罫線なし表にはストリームモードまたはAI抽出が必要です。種類を知ることで、最初から適切な方法を選択できます。
無料のルールベースの方法から始める。 まず座標ベースの抽出を試します。ルールベースの方法で結果が悪い場合にのみAIに移行します。これにより、時間とクレジットを節約できます。
常に結果を確認する。 行数、列の配置、数値、合計を確認します。抽出結果を盲目的に信頼しないでください。
数値の書式設定に注意する。 抽出後、Excelで数値が実際に数値(右揃え)であり、テキスト文字列(左揃え)ではないことを確認します。通貨記号と括弧付きの負の数は一般的な原因です。
機密データの場合は、ブラウザベースのツールを優先する。 財務報告書、銀行取引明細書、税務書類には機密情報が含まれています。ブラウザでPDFを処理するツールはファイルをアップロードしないため、データ漏洩のリスクを排除できます。
無料で試す
PDFから表を抽出する準備はできましたか?今すぐファイルをアップロード - PDFSubはまず無料の座標ベース抽出を試み、複雑な表にはAIフォールバックがあります。デジタルPDFは完全にブラウザで処理されます。7日間の無料トライアルを開始してください。