AIチャットボット「ChatGPT」に送る命令文(プロンプト)を研究し、煩雑な業務の「丸投げ」を目指す本連載。久々となる今回のテーマは、意外と手間がかかる「ExcelのPDF化」です。Excelのブック内にある複数のシートを別々にPDF化し、それぞれに名前を付け、決まった場所に保存する――。この工程を自動化するには、ChatGPTにどんな指示をすればいいのでしょうか。筆者オリジナルの演習問題を解きながら、一緒に考えていきましょう。(Excel講師/作家 寺澤伸洋)
演習問題を解きながら
命令文(プロンプト)の書き方を学ぼう
日々の業務において、取引先に送るビジネス文書をExcelで作成するのは日常茶飯事です。そうした文書を先方に送る際は、PDF形式に変換してからメールに添付するのが一般的です。
しかし、1つや2つのデータならともかく、取引先が数十社~数百社に上る場合、各社に送る文書を手作業でPDF化するのは非効率です。
そこで本稿では、そんな定型作業を瞬時に終わらせるExcelマクロ(処理を自動化する機能)を作っていきます。といっても、皆さんが自分でVBAを書く必要は一切ありません。
AIチャットボット「ChatGPT」に適切な命令文(プロンプト)を送れば、コードの記述を「丸投げ」することが可能です。
今回はChatGPTに送る「命令文の書き方」のコツをつかんでもらうために、下記の演習問題を用意しました。Excelの知識があまりなかったとしても、演習問題の解答をご自身の業務に合う形に編集すると、煩雑な作業を自動化できるはずです。
下図のように、Excelシートにベタ打ちされた請求書データがあります。データは「ブック」(複数のシートを一つのファイルにまとめたもの)形式になっており、取引先の数だけシートが作られています。各シートの名称は取引先の社名になっています(画像を拡大してご覧ください)。 あなたは上司から「Excelで作った請求書を、取引先1社ごとにPDFファイルに変換してほしい。その上で、PCのドキュメントフォルダに保存しておいてくれないか」と頼まれました。そのまま先方に送れるように、「PDFファイルの名称を『取引先+様』にするのも忘れないでね」とのことです。
ただ、この業務を手作業でやると膨大な時間がかかってしまいます。今後も上司から同様の仕事を任されそうなので、あなたは以下の対応をマクロで行うことにしました。
(1)ブック内のExcelシートをPDFに変換する
(2)PDFファイルの名前を「シート名+様」にする
(3)ドキュメントフォルダに保存する
この処理を行うマクロをChatGPTに自動生成してもらう(VBAを記述してもらう)ための命令文を考えてください。なお、正しいマクロを上手くアウトプットさせるコツは、次の2つです。
(1)データがどういう状態で入っているのか、冒頭で状況説明をする
(2)できるだけ処理を細かいプロセスに分け、番号をつけながら命令文を記載する
これらを意識しながら、皆さんなりの命令文を作成してみてください。※解答は次ページ