4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

スキャンPDFをExcelへ自動転記したい!初心者がDifyとMakeで業務効率化に挑戦

4
Last updated at Posted at 2026-06-10

PDFからエクセルへの転記をラクしたい!

小売業で働くYasuと申します。スーパー銭湯♨大好きで、最近はボートレースにもはまりつつあります。

私が担当している業務に、「契約書の管理」というものがあります。業務内容を簡単に時系列で説明すると、下記のような感じになります。

:point_right:契約内容にもとづき、各お取引先に進捗報告を依頼
:point_right:各お取引先から進捗報告がGmailで返信(エクセルまたはPDF)
:point_right:エクセルで届いた報告書は、アクセスで集計表に自動転記。
    PDFで届いた報告書は、手入力で転記

1つの報告書につき、転記する項目が18個あり、時間もかかるうえに打ち間違いもしょっちゅう:unamused:  スキャンされたPDFなので、エクセルのデータ取得機能も使えず:cry: なんとか、時短+精度向上ができないものか考え、手始めに 「自動+手動」 のツールをつくってみました!
image.png

報告書の一例

赤枠で囲っている箇所が、集計表に転記したい箇所です。
image.png

集計表

この集計表に転記し、一元化しています。
image.png

使い方

:point_right:報告書PDFをチャットボットに添付します。「プロンプトに沿って、抽出して」と入力。
    添付するPDFは1枚でも複数枚でも対応可能です。
image.png
:point_right:あらかじめ指定しているプロンプトに従い、下記のような返答が返ってきます。
image.png
:point_right:返ってきた文面をすべてコピーし、エクセルに値貼り付けし、仮置きします。すると、
1行目に各項目、2行目にPDF1つ目、3行目にPDF2つ目、4行目にPDF3つ目が貼り付きます。
image.png
:point_right:「データ」タブ→「区切り位置」機能を使用し、項目ごとに分割します。
image.png
image.png
:point_right:集計表エクセルに値貼り付けし、完成です。
image.png

作り方

たいした手順はありませんが、作り方を紹介します。プロンプト内の項目名を変更すれば、他のPDFにも対応できると思います。

使用したもの 用途
Dify(チャットボット) プロンプトの入力
Gemini2.5 flash PDFから必要データを抽出

:point_right:チャットボットのプロンプトに下記をコピペ(:computer:ChatGPTと相談しながら作成しました)

以下の帳票データから必要項目を抽出してください。
出力は必ず「タブ文字(\t)のみ」で区切ってください。
スペースは禁止します。
CSVではなくTSV形式で出力してください。
【重要ルール】
・区切りは必ずタブ(Tabキー)
・スペース区切り禁止
・JSON禁止
・説明禁止
・日付の表記はyyyymmdd
・1行目:項目名
・2行目:値
【項目】
対象部門
取引先名称
契約内容欄の最初5桁又は6桁のコード
契約書No
入金予定日
契約期間開始
契約期間終了
計算期間開始
計算期間終了
割り戻し金(税抜き)上部
消費税8%
8%合計
割り戻し金(税抜き)下部
消費税10%
10%合計
割戻し金合計(税抜)
消費税
税込金額

と、ここまで 自動+手動 でのツールを作成してきました。実際に使用してみると、入力間違いはなくなったが、手作業の工程が多く、さほどラクになっていない!という結果でした。
image.png

PDFからエクセルへの転記をもっとラクしたい!

次にチャレンジするのは、完全自動化のツールづくりです。Googleドライブに報告書PDFを投函し、ボタン1クリックでスプレッドシートに転記されるのが理想!
ただ、まだまだ私の知識不足で完成には至っていません。最終工程のスプレッドシートへアウトプットするところでつまずいていますので、そこに至るまでの工程を掲載しておこうと思います。

Makeのシナリオ

image.png

フローチャート

Google Driveのファイルを取得し、HTTPリクエストを経由してJSON形式に加工し、Googleスプレッドシートに書き込むまでの流れです。
image.png

作り方(ステップ1)

ここをクリックすると開きます まず、GoogleDrive内に報告書PDFを保管するフォルダを作成しておきます。ここでは、フォルダ名「割り戻し金確認書PDF保管」で作成しました。指定フォルダからPDFを検索するモジュールとして、GoogleDrive(Watch Files in a Folder)を使用します。

image.png

作り方(ステップ2)

ここをクリックすると開きます

ステップ1で検索したPDFファイルをダウンロードするためにGoogle Drive(Download a File)を使用します。

image.png

作り方(ステップ3)

ここをクリックすると開きます

ステップ2でダウンロードしたスキャンPDFは画像データなので、OCR APIを使用し画像から文字を抽出するという作業を実施します。

image.png

作り方(ステップ4)

ここをクリックすると開きます

ステップ3で抽出した文字は、まだ文字列のままです。ここでは、文字列情報をDifyに送り、AIでJSON形式に整形させます。

image.png

作り方(ステップ5)

ここをクリックすると開きます

ステップ4で得られたJSON文字列をMakeで扱える項目データに変換します。今回、ここが ボトルネック となっている箇所です。1つ前のモジュールのBody contentへのプロンプトを何度も修正しましたが、解決に至っておりません:weary:

image.png

作り方(ステップ6)

ここをクリックすると開きます

項目データを指定したシート・列に書き込んでいきます。(未完成)

image.png

おわりに

現状は、JSONモジュールに項目別データがインプットできていないというところが解決できておりません。このツールが完成すれば、確実に月初の集約業務がラクになります。あきらめずに最後まで完成させ、再度記事の投稿をしたいと思います。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?