※本記事にはアフィリエイト広告が含まれています。
AIでExcel作業を自動化する方法【マクロ不要で誰でもできる】
「毎月同じExcel作業を繰り返している」「関数が複雑すぎて使いこなせない」「VBAを勉強する時間はない」——そんな悩みを持つビジネスパーソンは多いです。
実は、AIを使えばこれらの問題を一気に解決できます。ChatGPTにやりたいことを日本語で説明するだけで、複雑な関数もVBAマクロも自動生成してくれます。本記事では、実際のExcel業務に使える具体的な手順を解説します。
AIとExcelを組み合わせる3つのアプローチ
アプローチ1:ChatGPTで関数・マクロを生成する
やりたいことを説明 → コードをコピペ → Excel上で実行
アプローチ2:Microsoft Copilot(Excel内蔵AI)を使う
Microsoft 365の有料プランに含まれるAI機能。Excel上で直接AIに指示できます。
アプローチ3:Pythonスクリプトで自動化する
より高度な自動化が必要な場合。ChatGPTでPythonコードを生成して実行します。
本記事では、最もハードルが低い**アプローチ1(ChatGPTを使う方法)**を中心に解説します。
基本の使い方:ChatGPTにExcel作業を依頼する
効果的な依頼の仕方
Excelで以下の作業をしたいです。
【シートの構成】A列:商品名, B列:売上金額, C列:日付
【やりたいこと】C列が先月のデータのみ、B列の合計を出したい
【使えるExcelのバージョン】Microsoft 365
数式を教えてください。
ポイントは「シートの列構成」を伝えること。これがないと、ChatGPTは汎用的な答えしか出せません。
活用例1:複雑な関数を自動生成する
XLOOKUP / VLOOKUP の代替
Excel 365で使えるXLOOKUP関数を教えてください。
A列に社員番号、B列に氏名が入っているリストがSheet2にあります。
Sheet1のA列に入力した社員番号をもとに、Sheet1のB列に氏名を自動表示したいです。
出力例(ChatGPTが生成)
=XLOOKUP(A2,Sheet2!A:A,Sheet2!B:B,"該当なし")
「=XLOOKUP(A2,Sheet2!A:A,Sheet2!B:B,“該当なし”)」——これを自分で調べると30分かかるかもしれませんが、ChatGPTなら数秒です。
条件付き集計(SUMIFS / COUNTIFS)
Excel関数を教えてください。
A列:担当者名、B列:案件ステータス(「完了」「進行中」「保留」のいずれか)、C列:売上金額
「担当者が鈴木で、ステータスが完了の案件の売上合計」を出したい
生成される関数:
=SUMIFS(C:C,A:A,"鈴木",B:B,"完了")
活用例2:VBAマクロを自動生成する
VBAを書いたことがない人でも、ChatGPTに依頼するだけでマクロを作れます。
例:複数シートのデータを1枚に集約するマクロ
Excel VBAで以下の処理をするマクロを書いてください。
【処理内容】
このブックには「1月」「2月」「3月」という名前のシートがあります。
各シートのA1:D100のデータを、「集計」という新しいシートに縦に連結してください。
各シートのデータをコピーするとき、シート名をE列に自動入力してください。
初心者でも実行できるよう、コードの各行にコメントを入れてください。
ChatGPTが完全なVBAコードを出力します。あとはExcelの「開発」タブからVBAエディタを開き、コードを貼り付けて実行するだけです。
VBAエディタの開き方(Excel)
- Alt + F11 を押す
- 「挿入」→「標準モジュール」
- 生成されたコードをペースト
- F5(または「実行」ボタン)で実行
マクロ実行前に必ずやること
- ファイルをバックアップしてから実行する
- 初回は小さいテストデータで確認する
活用例3:データ整形・クリーニング
不規則なデータを整える
実務でよくあるのが「表記揺れ」問題。例えば「株式会社○○」「(株)○○」「㈱○○」が混在しているケースです。
ExcelのA列に会社名が入っていますが、以下のような表記揺れがあります。
・「株式会社」「(株)」「㈱」が混在している
・全角・半角スペースが混在している
これをすべて「株式会社」+社名の形式に統一するVBAを書いてください。
住所データの分割
ExcelのA列に「東京都渋谷区○○1-2-3」のような住所が入っています。
これを「都道府県」「市区町村」「町名以降」の3列に分割する方法を教えてください。
Excelの関数でできますか?VBAが必要ですか?
活用例4:グラフ・レポートの自動作成
VBAを使えば、データ更新のたびに手動でやっていたグラフ・レポート作成も自動化できます。
以下の処理をするVBAマクロを書いてください。
1. 「データ」シートのA1:C100を基に、月別売上の折れ線グラフを作成する
2. グラフのタイトルは「月別売上推移」
3. 「レポート」シートの指定セル(A5)にグラフを配置する
4. 既存のグラフがある場合は更新する(重複して作成しない)
活用例5:メールの一括送信(OutlookとExcelの連携)
ExcelのリストからOutlookで一括メールを送るVBAも作れます。
ExcelのA列にメールアドレス、B列に名前、C列に送信内容(個別テキスト)が入っています。
VBAを使って、各行の宛先に個別のメールをOutlookで自動送信するコードを書いてください。
送信前に確認ダイアログを表示してください。
Microsoft Copilot for Excel を使う場合
Microsoft 365 Businessプランに含まれるCopilot for Excelは、Excel内で直接AIに指示できます。
できること
- 「このデータのトレンドを分析して」
- 「売上が前月比で下がっている行をハイライトして」
- 「このデータをピボットテーブルにまとめて」
自然言語で指示できるため、ChatGPTでコードを生成してコピペする手間すら省けます。ただし有料プラン(Microsoft 365 Copilot、1ユーザー月額約4,500円)が必要です。
よくある失敗と対処法
失敗1:エラーが出てマクロが動かない 対処:エラーメッセージをそのままChatGPTに貼り付けて「このエラーの原因と修正方法を教えてください」と聞く。
失敗2:関数が想定と違う結果を返す 対処:「こういうデータに対してこの関数を使ったら○○という結果になりましたが、正しくは○○になるべきです。何が間違っていますか?」と聞く。
失敗3:処理が非常に遅い 対処:「このVBAコードの処理速度を改善してください。特にループ処理を効率化してください」と依頼する。
Excelスキルをキャリアアップにつなげよう Excel×AI自動化の実務スキルは、業務効率化担当・データアナリスト・事務職など幅広い求人で高く評価されています。今のスキルを活かせる仕事を探してみませんか。dodaで求人を探す
まとめ:Excel自動化はAIで民主化された
VBAやExcel関数の専門知識がなくても、ChatGPTにやりたいことを日本語で説明するだけで、複雑な自動化が実現できる時代になりました。
最初の一歩として、「今週一番面倒だったExcel作業」をChatGPTに相談してみてください。驚くほど簡単に解決策が出てきます。
関連記事
関連ツール
JSONデータを即座に整形・検証 → JSONフォーマッター 正規表現をリアルタイムでテスト → 正規表現テスター
月々の支出バランスを見直す → 家計簿シミュレーター フリーランスの適正時給を計算 → フリーランス報酬計算ツール 安全なパスワードを即座に生成 → パスワード生成ツール
関連テンプレート
この記事の内容をすぐ実践できるExcelテンプレートはこちら:
- Excel家計簿テンプレート — 自動計算・グラフ付き
- Excel請求書テンプレート — インボイス制度対応
- OKR管理テンプレート — 信号機表示付き目標管理
- KPIダッシュボード — 前月比自動計算
本記事にはアフィリエイトリンクが含まれています。読者の皆様に追加費用は発生しません。
