事務・アシスタントのExcel作業をAIで自動化する方法
この記事の要点
事務・アシスタントが毎月繰り返すExcel集計・フォーマット整理・マクロ作成をAIで自動化する具体的な手順とプロンプト例。VBAコードの生成方法も解説する。
結論:「やりたいこと」を日本語で伝えれば数式もマクロも作ってもらえる
事務・アシスタントが毎月こなすExcel作業には、フォームや申請書のフォーマット整理、集計表の更新、条件付き書式の設定、複雑な条件で集計するSUMIFS・VLOOKUP・INDEX/MATCHの組み合わせなど、一から調べると時間がかかるものが多い。
AIツールに「やりたいこと」を日本語で説明するだけで、数式・VBAコード・Power Queryの手順を生成してもらえる。Excel関数の仕様を調べ直したり、VBAの構文を手探りで試す時間が大幅に減る。
使うAIツールの特徴
| ツール | Excel対応方法 | 適した用途 |
|---|---|---|
| Claude Pro | テキストで説明・コード生成 | 数式・VBAコードの生成と説明 |
| ChatGPT Plus | テキスト・ファイルアップロード | 数式生成・データ分析 |
| Microsoft Copilot(Excel内) | Excelファイルに直接組み込み | ファイルを開いたまま数式提案 |
| Gemini(Google Sheets) | Googleスプレッドシート上 | Sheets関数・Apps Script生成 |
VBAやPower Queryのコードを生成させる場合はClaude ProかChatGPTが使いやすい。Microsoft Copilotはファイルを開いたまま操作できる利点がある。
手順①:複雑な数式をAIに作成させる
ステップ1:シート構造とやりたいことを具体的に伝える
数式の精度はシート構造の説明の詳しさで決まる。以下を整理してからプロンプトを入力する。
- シート名と参照するシートの数
- 各列のヘッダー名と列のアルファベット
- データの入力形式(日付の形式・数値か文字列か)
- 何をどのように計算・抽出したいか
複合条件でデータを集計する数式を生成させるプロンプト例
Excelの数式を作ってください。
【シート構成】
シート名:申請データ
A列:申請者名
B列:申請部署
C列:申請日(YYYY/MM/DD形式)
D列:申請種別(「備品」「消耗品」「交通費」のいずれか)
E列:金額(数値、円)
F列:承認状況(「承認」「却下」「審査中」のいずれか)
【集計シートの構成】
A2:部署名(プルダウンで入力)
B2:月(2026/6 のような形式)
C2:集計したい申請種別(「全部」または種別名)
【作成したい数式】
集計シートD2に入れる数式として、
「A2の部署・B2の月・C2の種別(全部の場合は全種別)・承認済みのみ」
の条件で金額を合計する数式を作ってください。
数式と各関数の役割も説明してください。
ステップ2:数式の動作確認と修正
数式を貼り付けて期待通りの値が返ってくるかをテストする。サンプルデータで計算した手動の結果と照合する。差異が出た場合はデータの確認も含めてAIに返す。
手順②:繰り返し作業をVBAマクロで自動化する
ステップ1:自動化したい操作を手順として書き出す
VBAコードを正確に作成させるには、自動化したい操作を手順として文章にすることが重要だ。「クリックしてこのボタンを押して…」という感覚を文章に変換する。
毎月のフォーマット整理を自動化するVBAプロンプト例
ExcelのVBAマクロを作ってください。
【やりたい操作の手順】
1. 「raw_data」シートのA列〜F列を対象にする
2. D列(申請種別)が空白の行を削除する
3. A列(申請者名)を昇順に並び替える
4. 1行目をヘッダー行として、2行目以降のデータに交互の背景色を設定する
(奇数行:薄い青 #DDEEFF、偶数行:白 #FFFFFF)
5. A〜F列の幅を内容に合わせて自動調整する
6. 完了したらメッセージボックスで「整形が完了しました」と表示する
【補足】
・Excel 365(Windows)で動作する形式にしてください
・シート名は必ずダブルクォートで囲んでください
ステップ3:VBAコードをExcelに貼り付けて実行する
- Excelを開いて「Alt + F11」でVBAエディタを起動する
- 「挿入」→「標準モジュール」を選ぶ
- 生成されたコードを貼り付ける
- 「F5」で実行する
初回は必ずバックアップコピーを取ってから実行する。本番データへの不意の変更を防ぐためだ。
エラーが出た場合のプロンプト例
先ほど作成したVBAコードを実行したところ、以下のエラーが出ました。
エラーメッセージ:「実行時エラー '9': インデックスが有効範囲にありません」
エラーが発生した行(デバッグモードで黄色くなった行):
Sheets("raw_data").Select
実際のシート名は「rawdata」(アンダーバーなし)でした。
このシート名に合わせてコードを修正してください。
手順③:Power Queryで複数ファイルの結合を自動化する
毎月届く各部署のExcelファイルを一つのシートにまとめる作業は、Power Queryで自動化できる。
Power Queryの設定手順を教えてもらうプロンプト例
Excel Power Queryの設定手順を教えてください。
【やりたいこと】
毎月、各部署から同じフォーマット(A〜E列・ヘッダーあり)のExcelファイルが
同一フォルダに保存されます。
このフォルダ内の全ファイルを自動で結合して、1枚の集計シートを作りたいです。
【環境】
・Excel 365(Windows)
・ファイル形式:.xlsx
・ファイル名:「部署名_YYYYMM.xlsx」(例:営業部_202606.xlsx)
以下を教えてください。
1. フォルダ指定からデータ結合までのステップ手順
2. 毎月のファイル追加後に更新する操作(クリックするだけで更新できる方法)
3. 注意点
うまくいかない場合の対処法
VBAを実行したらデータが消えた
元に戻す(Ctrl+Z)が効かない場合に備え、VBA実行前は必ずファイルのコピーを別名で保存しておく。コードを依頼する際に「処理前にバックアップシートを作成するコードも追加してください」と一文加えると安全だ。
数式は合っているが参照がずれる
絶対参照($)と相対参照の指定をプロンプトに明示する。「数式をコピーしても列の参照がずれないように、A列の参照は絶対参照($A$)にしてください」と条件を加える。
Copilotの提案が使いにくい
CopilotはExcel内で動作するが、提案の粒度が荒い場合がある。「この数式の意味を説明してください」「もう少し単純な数式に書き直してください」と対話形式で調整できる。
事務・アシスタント固有の活用場面
毎月の勤怠集計を1クリックで完了させる
毎月同じ手順で行う勤怠データの集計作業をVBAマクロにまとめると、翌月以降は「実行」ボタンを1回押すだけで完了する。AIに「以下の手順(①〜⑦)をVBAマクロにしてください」と手順書を貼り付けると、定型作業が自動化できる。担当者が不在でも別の人が実行できるので引き継ぎにも役立つ。
マクロの使い方を社内マニュアルにまとめておくと属人化が防げる(マニュアル作成)。
複数部署の申請データを統合する集計ツールを自分で作る
各部署が独自フォーマットで提出する経費申請・備品申請のExcelファイルを統合集計する仕組みをPower QueryとVBAで構築する際、AIに設計を相談すると「まずPower Queryでデータ結合し、次にVBAで集計と書式設定を実行する」という組み合わせを提案してもらえる。専門知識がなくても、やりたいことを説明するだけで構造の設計ができる。
データ集計の考え方についてはデータ集計・分析も参照してほしい。
関連記事
よくある質問
ExcelのマクロやVBAをAIに作ってもらうことはできますか?
できる。「どのシートの」「どの列を」「どう処理したいか」を具体的に伝えるとVBAコードを生成してくれる。生成したコードはExcelのVBAエディタに貼り付けて実行する。動作確認は必ず実施する。
Power Queryの設定もAIで教えてもらえますか?
教えてもらえる。現在のデータの構造と最終的に作りたい出力形式を説明すると、Power Queryの手順とMコードを提示してくれる。Microsoft CopilotはExcel上で直接提案できる。
AIが作ったVBAコードが動かない場合はどうすればよいですか?
エラーメッセージとコードをそのままAIに貼り付けて「この条件でエラーが出ます。修正してください」と返す。シート名・列のヘッダー・データ形式を一緒に伝えると修正精度が上がる。
Excelのショートカットや便利な操作もAIに教えてもらえますか?
教えてもらえる。「○○の操作を素早く行うショートカットを教えてください」「この作業を減らす方法はありますか?」と聞くと、作業効率化のヒントが得られる。