Excelを使っていて、「この関数はどう書けばいい?」「毎回同じ作業を自動化できない?」「VBAを作りたいけれどコードが分からない」と困ることがあります。
こうした場面では、ChatGPTやCopilotなどの生成AIをExcel業務の補助として活用できます。
関数の作成、VBAコードのたたき台、エラー原因の調査、自動化方法の整理など、使える場面は少なくありません。
ただし、「生成AIに任せればExcel業務をすべて自動化できる」というわけではありません。
生成された関数やコードには誤りが含まれる可能性があり、最終的な確認は人が行う必要があります。
この記事では、生成AIをExcel業務でどのように活用できるのか、できることと注意点を整理します。
生成AIはExcel作業にどう使える?
生成AIの便利なところは、「やりたいこと」を文章で相談できることです。
たとえば、
- 条件に合うExcel関数を考えてほしい
- 繰り返し作業を自動化したい
- VBAコードを作りたい
- エラーの原因を調べたい
- データをどのように整理すればよいか知りたい
といった相談ができます。
Excelに詳しくない場合でも、「何をしたいのか」を文章にできれば、解決方法を探すための補助として利用できます。
一方で、生成AIはExcelの代わりではありません。
Excelが実際の計算やデータ処理を行い、生成AIは「どう処理するかを考える」「数式やコードを作る」といった部分を補助する、と考えると分かりやすいでしょう。
Excel自動化そのものの方法については、Excel作業を自動化する方法7選の記事で整理しています。
Excel関数を考えてもらう
生成AIを活用しやすい場面の一つが、Excel関数の作成です。
たとえば、「A列の日付が今月で、B列が『完了』になっている行のC列を合計したい」というように、やりたいことを文章で伝えて関数の候補を作ってもらう方法があります。
関数名が分からなくても、「何をしたいのか」から相談できる点が便利です。
また、すでに入っている複雑な数式について「この数式が何をしているのか説明して」と質問し、理解を助けてもらう使い方もできます。
ただし、作成された数式は実際の表の構成やデータ形式に合っているか確認しましょう。
数件のサンプルデータで、期待した結果になるかテストしてから広い範囲へ適用すると確認しやすくなります。
生成AIでVBAコードを作成する3つのコツ
生成AIはVBAコードを作る際の補助にも利用できます。
たとえば、複数シートのデータを一つにまとめる、条件に一致した行を別シートへ転記する、指定フォルダー内のファイルを順番に処理する、といった処理のコード案を作ってもらえます。
コツ1:「どのシートから・どの列を・どの条件で・どこへ」を分けて伝える
いきなり「便利なマクロを作って」と頼むと、意図と違うコードになりがちです。次のように条件を具体的に書くと、目的が伝わりやすくなります。
- ×「売上を転記するマクロを作って」
- ○「シート『売上』のA列の日付が今月の行だけを、シート『今月分』のA列以降に転記するVBAを作って。1行目は見出しなので転記対象外。処理後に『○件転記しました』と表示して」
コツ2:表の構成を先に書く
列の並びや見出し、データの入っている範囲を伝えると、実際の表に合うコードになりやすくなります。
(例)「A列=日付、B列=担当者、C列=金額。見出しは1行目、データは2行目から。最終行は毎月変わる」
コツ3:説明もあわせて頼む
「コードの各行が何をしているか、コメント付きで書いて」と頼むと、内容を確認しやすくなります。自分で意味を追えないコードは、そのまま使わないのが安全です。
ただし、生成されたコードを内容を確認せずに実行するのは避けましょう。ファイルの削除、上書き保存、大量データの変更などを含む処理は、必ずコピーしたファイルやサンプルデータで動作確認してから使います。確認手順は、後半の「AIが生成したコードを使う前のチェックリスト」にまとめています。
エラー原因を調べる
「昨日まで動いていたマクロが動かなくなった」という場合にも、生成AIを原因調査の補助として使えます。
エラーメッセージ、止まっているコード、期待している動作などを整理して質問すると、確認すべきポイントの候補を出してもらえます。
ただし、原因が必ずVBAコードにあるとは限りません。
シート名やファイル名の変更、参照先の違い、データ形式など、Excelファイル側に原因がある場合もあります。
そのため、「エラーが出た」→「AIにコードを書き直してもらう」とすぐに進むのではなく、「どこで止まっているか」「何が変更されたか」「どこまで正常に動くか」を切り分けることが大切です。
データ整理方法を考える
生成AIは、データそのものを処理するだけでなく、「どのような表にすれば扱いやすいか」を考える用途にも使えます。
たとえば、「毎月届く売上データを一つの表にまとめたい」という場合に、どんな列が必要か、日付はどの形式にするか、元データをどう統一するか、集計用データと表示用データを分けるか、などを相談できます。
Excel自動化では、コードを書く前のデータ整理が重要です。
元データの形式が毎回大きく違えば、自動処理も複雑になります。
まずデータの形を整え、その後に関数・Power Query・VBAなど適切な方法を選ぶ方が、自動化しやすくなることがあります。
定型作業の自動化を設計する
生成AIを「コードを書く道具」だけではなく、「自動化方法を考える相談相手」として使う方法もあります。
たとえば、「毎週5個のCSVファイルを開いて、必要な列だけ一つのExcelファイルにまとめている」という作業があれば、ファイルを読み込む→必要な列を取得する→データ形式をそろえる→一つの表にまとめる→結果を確認する、というように作業を分解できます。
そのうえで、Excel標準機能、Power Query、VBA、Webツールなど、どの方法が適しているか検討します。
生成AIだけでは完結しにくい作業
生成AIは便利ですが、すべてのExcel業務を任せられるわけではありません。
特に、
- 入力データの形式が毎回大きく違う
- 人による判断が多い
- 例外処理が非常に多い
- 正確性が特に重要
- 他のシステムとの複雑な連携が必要
といった業務では、AIだけで完全自動化するのが難しい場合があります。
また、会社の機密情報や個人情報などを外部のAIサービスへ入力できるかどうかは、利用するサービスの規約だけでなく、所属組織のルールも確認する必要があります。
「全部AIに任せる」のではなく、人が判断する部分と自動化できる部分を分けることが重要です。
AIが生成したコードを使う前のチェックリスト
生成AIが出力したVBAコードや関数は、一見正しく見えても、想定と違う処理をする可能性があります。業務で使う前に、次の順番で確認しましょう。
- 元のファイルをコピーして、コピー側で試す(バックアップ)
- 何をするコードかを確認する(AIに「何をするコードか3行で説明して」と聞いてもよい)
- 削除・上書き・保存・他ファイルの操作が含まれていないか探す(Kill、Delete、Save、Close などの命令が含まれる場合は特に注意)
- 数件のサンプルデータで実行し、手計算の結果と一致するか確認する
- 空白のセル、文字列が入った数値、最終行など、想定外のケースでも試す
- 問題がなければ実際の作業へ適用する。うまくいかない場合は、エラーメッセージと状況を伝えてAIに相談する
判断の目安は、「結果を自分で確認できる範囲の作業か」「失敗しても元に戻せるか」の2つです。どちらかが「いいえ」なら、AIの出力をそのまま使わず、詳しい人にも確認してもらうのが安心です。
生成AIは「正解を必ず出してくれる仕組み」ではなく、「自動化を考えたり作ったりする作業を支援する道具」として使うのが基本です。
AIとExcelの活用方法を一覧で確認したい場合は、AIとExcelで仕事を効率化する方法まとめ|自動化できる作業と始め方もあわせてご覧ください。
Excel×AIを使えるようになる学習手順
これからExcelと生成AIを組み合わせて使いたい場合、最初から難しいVBAコードを書く必要はありません。
まず、「Excelで何を効率化したいか決める」→「Excel標準機能や関数でできるか確認する」→「生成AIに方法を相談する」→「必要ならVBAなどを使う」→「小さなデータで検証する」という順番で進めると取り組みやすくなります。
生成AIでExcel作業を効率化するときに大切なのは、「AIに全部任せること」ではありません。
自分が行っている作業を整理し、AIに任せられる部分を見つけ、結果を人が確認する。
この組み合わせから始めることで、Excel業務の効率化に生成AIを活用しやすくなります。
VBAの頼み方はAIにVBAを書いてもらう方法|頼み方の手順と使う前の注意点で詳しく解説しています。
学ぶ順番は、Excel×生成AIの学習ロードマップ|何をどの順番で学ぶかで整理しています。
AI時代にVBAを学ぶ必要があるかは、生成AI時代にもVBAは必要?書く力より「読んで確かめる力」を整理で考え方をまとめています。
※広告・PR:以下は、筆者自身が出品・販売している商品・サービスのご案内です。
自動化すべきか、関数で足りるのかなど、進め方を整理したい方向けに、ココナラで相談を受け付けています。こちらの相談サービスには、Excelファイルの作成・修正は含みません。
▶ Excel自動化の前に、やるべきか整理します: https://coconala.com/services/4426233
※内容によっては対応できない場合があります。まずは状況をお知らせください。


