※本記事にはアフィリエイト広告が含まれています。

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)

  1. Alt + F11 を押す
  2. 「挿入」→「標準モジュール」
  3. 生成されたコードをペースト
  4. 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テンプレートはこちら:

本記事にはアフィリエイトリンクが含まれています。読者の皆様に追加費用は発生しません。