Power Automate Desktopで請求書などのファイルから情報を抽出してExcelに転記する方法

  • URLをコピーしました!

請求書や領収書などのファイルから情報を自動で抽出し、Excelに転記できたら便利ですよね。**Power Automate Desktop(PAD)**を使えば、PDFやテキストファイルからデータを取得し、Excelに整理して保存することが可能です。

本記事では、テキスト抽出からExcel転記までの手順を詳しく解説し、さらに処理の効率化のためにサブフローを活用する方法についても説明します。


目次

フローの概要

このフローでは、次の手順で請求書データを処理します。

  1. テキスト抽出:請求書などのファイルから必要な情報を抽出
  2. ファイル名変更:請求書のファイル名を整理
  3. Excel転記:抽出したデータをExcelに入力
  4. Excel転記のサブフロー化:フローを整理し、再利用しやすくする
  5. 複数のPDFを一括処理:サブフローを使って複数の請求書を処理

それでは、詳しく手順を見ていきましょう。


① テキスト抽出

請求書などのPDFファイルからテキストを取得する方法です。

手順

  1. PADの**「ファイルの操作」**から「フォルダー内のファイルを取得」アクションを追加し、請求書が保存されているフォルダー内のファイルを一覧取得
  2. 取得した各ファイルに対して、**「PDFからテキストを抽出」**アクションを使用
  3. 抽出したテキストを変数(例:extractedText)に保存

👉 ポイント

  • 請求書のフォーマットが固定なら、正規表現(RegEx)を使って必要なデータだけ抜き取ると便利
  • 「OCRを使用する」にチェックを入れると、スキャンPDFでも抽出可能(ただし精度はファイルによる)

② テキスト抽出後のファイル名変更

抽出した請求書のデータを整理するため、ファイル名を変更して保存します。

手順

  1. 抽出した請求書の内容から会社名や日付を取得(例:CompanyName_20240101.pdf 形式に変更)
  2. **「ファイルの名前を変更」**アクションを使用して、整理しやすい名前に変更
  3. 変更後のファイル名をログに記録(必要に応じて)

👉 ポイント

  • 会社名・日付を取得するために、正規表現や文字列操作を活用すると精度が向上
  • 例えば、「請求日:2024/01/01」などのフォーマットから20240101を抽出する

③ テキスト抽出データをExcelに転記

抽出したデータをExcelファイルに記録します。

手順

  1. **「Excelの起動」**アクションでテンプレートExcelを開く
  2. **「ワークシート内のセルに書き込む」**アクションで、抽出データを入力
    • 例:
      • CompanyName → A列
      • InvoiceDate → B列
      • TotalAmount → C列
  3. **「Excelを保存して閉じる」**アクションでデータを保存

👉 ポイント

  • 転記する項目が増える場合、Excelのヘッダー行(タイトル行)とデータの対応を明確に
  • フォーマットが統一されていれば表の最終行を特定し、次の空き行にデータを追加する

④ Excel転記処理をサブフロー化

この「Excel転記」処理をサブフローとして作成すると、フロー全体をスッキリ整理でき、再利用も簡単になります。

サブフロー作成方法

  1. PADの「サブフロー」パネルで「+」をクリックし、新しいサブフローを作成(例:WriteToExcel
  2. サブフローの引数として、転記するデータを定義
    • 例:
      • CompanyName(会社名)
      • InvoiceDate(請求日)
      • TotalAmount(合計金額)
  3. 上記のExcel転記処理をサブフロー内に移動
  4. メインフローでは「サブフローの実行」アクションを使い、データを渡して呼び出す

👉 ポイント

  • 引数を使ってデータを渡すことで、汎用的に使える
  • 複数の処理を統一でき、フローの変更時に修正箇所が減る

⑤ 複数のPDFを一括処理

最後に、複数の請求書を一括処理する方法です。

手順

  1. **「フォルダー内のファイルを取得」**アクションでPDFリストを取得
  2. **「ループ」**を使って、取得した各PDFファイルに対して以下の処理を実行:
    • **「サブフロー(テキスト抽出)」**を実行し、情報を取得
    • **「サブフロー(Excel転記)」**を呼び出し、データを保存
  3. すべてのファイルを処理したら、完了ログを出力

👉 ポイント

  • エラー発生時の処理を組み込む(例:エラーが出たファイルを別フォルダに移動)
  • 大量のファイルがある場合、並列処理を検討

よくある質問

Q1. OCRを使っても正しくテキストが抽出されない

A. OCRの精度はPDFの品質に依存します。以下の対策を試してください:

  • フォントが埋め込まれていないPDFは、OCRが正しく動作しない場合あり
  • Adobe AcrobatなどでOCRを適用してからPADで処理するのも一つの手段

Q2. Excelの最終行にデータを追加する方法は?

A. 「ワークシート内の最終行を取得」アクションを使い、次の空き行にデータを入力できます。

Q3. PDFがスキャン画像のみでテキストデータがない場合は?

A. 「PDFからテキストを抽出」アクションでOCRを有効にするか、別のOCRツール(Tesseract OCRなど)を使うと精度が向上します。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

目次