シゴト自動化ラボ WORK AUTOMATION LAB 無料キット 運営者情報
AI活用

ExcelをAIで効率化する方法|マクロ不要で繰り返し作業を自動化

2026-10-08 AI活用Excel業務効率化ChatGPT

ExcelをAIで効率化する方法|マクロ不要で繰り返し作業を自動化
PR・アフィリエイトについて

当サイトはアフィリエイトプログラムを利用しており、紹介リンク経由での申込により報酬を得る場合があります。記事内で紹介するサービスには筆者が実際に使用しているものと、客観情報として比較掲載しているもの(未使用・PR表記あり)が含まれます。

結論

ChatGPTやClaudeに「こういう処理をしたい」と日本語で伝えるだけで、Excelの数式もVBAコードも出力してもらえます。マクロの書き方を一から覚えなくても、繰り返し作業の自動化は今すぐ始められます。

ExcelとAIを組み合わせると何が変わるか#

毎月同じ形式の集計作業、何段にも重なったIF関数のネスト、前任者が残したマクロが突然エラーを出して途方に暮れた経験——エクセルの「面倒さ」はほぼ全員が通る道です。

一方で「マクロを覚えよう」とVBAを触り始めても、エラーメッセージの意味がわからず数時間を溶かして挫折、という人も多い。

これを変えたのがAIです。ChatGPTやClaudeに「こういう処理をしたい」と日本語で書けば、数式もコードも出力してくれる。自分で書き方を覚えなくても、Excelを動かせる時代になりました。

私はエンジニアではなく、Excelは基本的なSUM・IFくらいしか使えませんでした。それでもChatGPTを使い始めてから、毎月の集計作業にかかる時間が体感で半分以下になっています。この記事では、その具体的な手順を順に説明します。


ChatGPTでExcelを効率化する3つの方法#

1. 数式をChatGPTに作ってもらう#

最も手軽な使い方です。「A列の名前がB列のどこかにあれば○を返したい」のような曖昧な要件を、日本語でそのまま入力します。

コツは「やりたいこと」を3点で伝えることです。

  • 入力:A列に名前、B列に金額が入っている
  • 条件:金額が1万円以上なら
  • 結果:C列に「対象」と表示したい

この3点を揃えると、的外れな数式が返ってくる確率がぐっと下がります。

手順

  1. ChatGPTに「Excelで○○したい。A列が〜、B列が〜の形式です」と入力する
  2. 出力された数式をコピーしてExcelのセルに貼り付ける
  3. 思い通りに動かない場合は「○○のケースだとエラーになります」とそのまま返す
  4. 修正版が出てくるので再度貼り付けて確認する

体感で2〜3往復すれば、だいたい意図した動作になります。自分でネスト式を組んでいた頃と比べると、作業時間の体感差は大きいです。


2. VBAコードをChatGPTに作ってもらう#

「マクロ」と聞くとハードルが高く感じますが、仕組みは単純です。VBAエディタにコードを貼るだけ。書き方を覚える必要はありません。

手順

  1. ChatGPTに「Excelで○○を繰り返し処理するVBAコードを書いて」と依頼する
  2. 出力されたコードをコピーする
  3. ExcelでAlt+F11を押してVBAエディタを開く
  4. 「挿入」→「標準モジュール」を選択する
  5. コードをペーストして、F5キーで実行する

注意

VBAコードを実行する前に必ずファイルをバックアップしてください。AIが生成したコードは別ファイルで動作確認してから本番データに使う習慣をつけると安心です。

特に効果的だったのが「前任者が作ったマクロの修正」です。エラーメッセージとコードをそのままChatGPTに貼り付けて「何が問題か教えて」と聞いたら、原因の説明と修正案がセットで出てきました。VBAを一切読めなくても対処できます。


3. データ整理・クレンジングをAIに任せる#

CSVや集計前の生データには、余分なスペース・表記ゆれ・空白行など「汚い」状態が多いです。整理するための数式やVBAをAIに作ってもらうのが最速です。

作業内容ChatGPTへの依頼例
全角・半角の統一「A列の全角スペースを半角に統一する数式を教えて」
氏名の姓名分割「A列に『山田 太郎』形式がある。B列に姓、C列に名を分割したい」
重複行の削除「A列の重複行を削除するVBAを書いて」
空白行の一括削除「空白行だけまとめて削除するVBAを書いて」
数字の書式統一「A列の数字から円マークとカンマを除去して数値にしたい」

私はGoogle スプレッドシートで同じ方法(ChatGPTに数式を作ってもらう)を使って月次集計を半自動化しています。ExcelとGoogle スプレッドシートは関数の書き方がほぼ共通なので、同じアプローチがそのまま使えます。


作業時間はどのくらい変わるか#

実際の効果は作業の種類によって差があります。目安として参考にしてください。

作業の種類以前の手順AI活用後の手順
集計用の数式作成自分で調べながら30〜60分ChatGPTに依頼して5〜10分(目安)
VBAの新規作成書き方がわからず断念要件を伝えて10〜20分で動くコードを入手
エラーの原因調査ネット検索で30分以上エラー文をそのまま貼って5分以内(目安)
データクレンジング手作業で1時間以上VBAで一括処理(コード作成込みで20〜30分)

メモ

「このエラーメッセージの意味を教えて」とChatGPTに聞く使い方は特に効果的です。エラーコードをそのまま貼れば、なぜ起きているか・どう直すかを日本語で説明してくれます。


つまずきやすいポイントと対処法#

数式が思い通りに動かない#

ChatGPTは列のレイアウトや条件の細部を誤解することがあります。「思い通りに動かない」と感じたら、エラーの内容とデータ構造(例:A列が日付・B列が名前・C列が金額)をセットで伝えると修正精度が上がります。

大量データの処理が遅い#

VBAで数万行を処理するコードは実行に時間がかかる場合があります。「処理速度を最適化して」とChatGPTに追加で依頼すると、高速版のコードを出してもらえます。

ExcelとGoogle スプレッドシートで関数が違う#

ARRAYFORMULAやIMPORTRANGEはGoogle スプレッドシート専用です。ChatGPTに依頼する際「Excel用で書いて」と明示すると、対応した関数が返ってきます。


向き不向きの整理#

メリット

  • マクロの書き方を知らなくても自動化できる
  • 繰り返し作業や定型集計の時間を短縮できる
  • エラーの意味がわからなくても原因を調べてもらえる
  • 一度作った数式・VBAはテンプレートとして再利用できる
  • 「前任者のマクロが壊れた」状況にも対応しやすい

デメリット

  • 業務フロー全体の自動化は難しい(部分的な改善が得意)
  • AIが出すコードを無検証で使うとトラブルになる可能性がある
  • 複雑な条件をうまく言語化できないと精度が落ちる
  • 大規模なデータ処理では別ツールの方が向く場合がある

まとめ#

ExcelのAI活用は、「マクロが書けないと自動化できない」という壁を取り除きます。ChatGPTやClaudeに日本語でやりたいことを伝えれば、数式もVBAコードも出力してくれる。大事なのは「入力・条件・結果」を具体的に伝えることと、実行前のバックアップ習慣の2点です。

まずは今週の繰り返し作業を一つ選んで、ChatGPTに数式を作ってもらうところから始めてみてください。

PRおすすめAIスクール(オンライン講座)AIを仕事に体系的に活かしたい方向けのオンライン講座。ChatGPTの業務活用から自動化まで、非エンジニアが学べるカリキュラムを提供中(無料カウンセリングあり。学習成果・収益を保証するものではありません)。

よくある質問#

ExcelにAIを直接組み込む方法はありますか?#

Microsoft 365の有料プランでは「Copilot in Excel」という機能が提供されており、Excel上でAIに指示を出せます。無料で始めるなら、ChatGPTのブラウザ画面に質問を貼り付けて、回答をExcelにコピーするだけで十分です。まずはこの方法で慣れてから、有料ツールの検討に進むのが現実的です。

VBAを全く知らなくても使えますか?#

問題ありません。ChatGPTが生成したコードを「貼って実行する」だけなら、VBAの文法を覚える必要はゼロです。ただし、コードが何をしているか大まかに把握しておくと、エラーが出たときに修正を依頼しやすくなります。「このコードが何をしているか日本語で説明して」とChatGPTに聞けばすぐわかります。

Google スプレッドシートでも同じ方法が使えますか?#

基本的な数式生成の流れはほぼ同じです。ChatGPTへの依頼時に「Google スプレッドシート用の数式で」と明示すれば、スプレッドシート固有の関数(ARRAYFORMULAなど)を考慮したコードを出してくれます。VBAはExcel専用ですが、Google スプレッドシートにはGoogle Apps Script(GAS)という同等の仕組みがあり、「GASで書いて」と依頼すれば同様に使えます。

無料配布 / 登録不要AI自動化スターターキット(PDF・10ページ)コピペで使えるプロンプト5本と、何から自動化するかを決める4象限、30日ロードマップ。メールアドレスの登録は要りません。受け取る →