ExcelとChatGPTを組み合わせると、毎日の集計・関数作成・マクロ作業が驚くほど早くなる。この記事では、今日から実践できる具体的な活用術を紹介します。
⏩ 急いでいる方はこちら
- ChatGPTで関数を自動生成する方法
- VBAマクロをChatGPTに作らせる手順
- 今すぐ試せる実用プロンプト集
- まとめ・今すぐできること
Excelの「なぜこんなに時間がかかるのか」問題
Excelは便利なツールだ。でも、使いこなすのに壁がある。
VLOOKUP とINDEX/MATCHの違いを毎回調べている人、条件分岐が3段になった途端に手が止まる人、マクロを記録してみたものの少し動かしたら動かなくなってお手上げになる人——そういう状況は珍しくない。
特に業務での悩みとして多いのが、「関数を書く時間が本来の作業より長くなっている」という本末転倒な状態。調べて、試して、エラーが出て、また調べる。この繰り返しで1時間が消える。
ここにChatGPTを組み合わせると、構図が変わる。関数の組み立てもマクロの作成も、「何をしたいか」を日本語で伝えるだけでいい。エラーが出ても「このエラーを直して」と貼り付ければ修正案が返ってくる。
ただし、万能ではない。使い方を間違えると、動かないコードが量産されるだけになる。この記事では、実際に使える範囲と使い方を具体的に解説する。
ChatGPTを使う前後で何が変わるか
まず、よくある業務での時間の差を整理しておく。
| 作業内容 | ChatGPT なし | ChatGPT あり |
|---|---|---|
| VLOOKUP / INDEX+MATCH の組み立て | 10〜20分(都度検索) | 2〜3分 |
| IF × AND × OR の入れ子関数 | 20〜40分 | 3〜5分 |
| 条件付き書式のルール設定 | 15〜30分 | 5分以内 |
| VBAで繰り返し作業を自動化 | 1〜3時間(書けない場合もある) | 10〜20分 |
| エラー原因の特定と修正 | 15〜45分 | 5〜10分 |
| データ整形(不要な文字削除・統一) | 20〜60分 | 5〜15分 |
もちろん、ChatGPTが出したコードが一発で動くとは限らない。ただ、「試行錯誤の起点」を作るスピードが圧倒的に早くなる。動かなければ「このエラーを直して」と返せばいい。その往復でも、ゼロから調べるよりはるかに速い。
ChatGPTで関数を自動生成する方法
関数生成は、ChatGPT活用の中でも最も手軽に効果を実感できる使い方だ。
ポイントは「Excelのシート構造を一緒に伝えること」。「VLOOKUPを書いて」だけだと、汎用的な例しか返ってこない。「A列に社員番号、B列に名前がある表から、F2の社員番号に対応する名前をG2に出したい」と書けば、そのまま貼り付けられる関数が返ってくる。
実用的なプロンプト例を3つ示す。
プロンプト例1:条件付きの合計を出したい
Excelで以下の関数を作ってください。
・A列:日付(例:2024/1/5)
・B列:担当者名(例:田中・鈴木・佐藤)
・C列:売上金額
F2に「鈴木」、G2に「2024年1月」と入力したとき、
その担当者・その月の売上合計をH2に表示したいです。
使う関数はSUMIFS推奨で、できればCOUNTIFSとの使い分けも教えてください。
プロンプト例2:複雑なIF条件を整理したい
以下の条件をExcelのIF関数で書いてください。
・D2が「完了」かつE2が空白 → "確認済み"
・D2が「完了」かつE2に何か入力あり → "備考あり"
・D2が「未完了」 → "対応中"
・それ以外 → ""(空白)
IF関数でも、IFSやSWITCHでも、読みやすい方で作ってください。
プロンプト例3:エラーが出たので直してほしい
以下のExcel関数でエラーが出ています。直してください。
=VLOOKUP(A2,Sheet2!$B$2:$D$100,3,FALSE)
エラーの内容:#N/A
なお、Sheet2のB列には数値として社員番号が入っており、
A2には文字列として入力されています。
このように「シート構造」「やりたいこと」「エラー内容」の3点を揃えると、回答の精度がぐっと上がる。
VBAマクロをChatGPTに作らせる手順
関数よりハードルが高いと感じている人が多いのがVBA。でも、ChatGPTを使えばコードを一行も知らなくても動くマクロが作れる。
手順は4ステップ。
- 1Excelで「開発タブ」を表示する(ファイル → オプション → リボンのカスタマイズ → 「開発」にチェック)
- 2ChatGPTに「やりたい処理」を日本語で伝え、VBAコードを生成してもらう
- 3Excel上で「Alt + F11」でVBEを開き、Module(標準モジュール)にコードを貼り付ける
- 4「F5」または「実行」ボタンで動かす
ポイントは「Excelのシート名・列・条件を具体的に書くこと」。「A列をB列で並び替えて」だけだと、微妙に違う動作をするコードが返ってくる。
実際に使えるVBA生成プロンプトの例を出す。
プロンプト例4:繰り返し処理を自動化したい
ExcelのVBAマクロを書いてください。
・シート名「データ」のB列に、担当者名が入っている
・C列に「完了」と入っている行だけを、別シート「完了済み」にコピーしたい
・コピー後、元シートの該当行を削除したい
・ヘッダー行(1行目)はコピー対象外
初心者でもわかるようにコメントを入れてください。
このプロンプトで得たコードをそのまま貼り付けて試し、動作が違う部分があれば「〇〇の部分が期待通りに動かない。実際の動作は〇〇」と伝えて修正を依頼する。
ここで大事なのは、「動かない」だけでは情報が少なすぎること。エラーメッセージや「どう動いたか」を添えると修正精度が上がる。
データ整理・クリーニングにも使える
関数・VBAだけでなく、データの「汚れ」を取り除く作業にもChatGPTは使える。
よくある汚れたデータのパターン:
- 全角・半角が混在している(「ABC」と「ABC」が混じっている)
- 余分なスペースや改行が含まれている
- 日付の書式が統一されていない(「2024.1.5」と「2024/1/5」が混在)
- 住所の表記ゆれ(「東京都 新宿区」と「東京都新宿区」が混在)
これらを「SUBSTITUTE関数でどう処理するか」「PowerQueryで一括変換するにはどうするか」と具体的に聞けば、手順ごとに教えてもらえる。
一度のプロンプトで全部解決しようとしなくていい。「まず全角英数を半角にしたい」など、一つずつ聞いていく方が精度が高くなる。
使う際に注意すること
ChatGPTが出したコードは、必ずバックアップを取ったファイルで試すこと。
VBAマクロは「元に戻す(Ctrl+Z)」が効かないケースがある。削除処理が含まれる場合は特に注意が必要で、本番のファイルで動かす前に複製したファイルで検証するのが基本だ。
また、機密情報・個人情報を含むデータをChatGPTに貼り付けないこと。顧客名・社員情報・売上の詳細データをそのまま送るのはリスクがある。「A列に名前、B列に売上が入っている」など、構造だけを説明する形で対応できる。
ここがやっかいで、業務で使い始めると「実際のデータを貼れば早いのに」という誘惑が出てくる。ルールとして「構造だけ伝える」を徹底する方が安全だ。
✅ 今すぐできること(1分)
ChatGPTを開いて、今日困っているExcelの作業を日本語で1つ書いてみてください。
「A列に商品名、B列に数量、C列に単価が入っている。D列に合計(数量×単価)、E列に消費税込み合計を出したい」——このくらいの具体さで十分です。返ってきた関数を貼り付けて、動かしてみることがスタート地点です。
まとめ
ExcelとChatGPTの組み合わせが効果を発揮するのは「何をしたいか」を言語化できたとき。
関数でも、VBAでも、データ整理でも、「シート構造+やりたいこと+困っていること」を伝える形が基本だ。万能ではないが、試行錯誤の起点を作るスピードが大幅に上がる。
最初は小さな作業から試してみる。一つうまくいくと、応用範囲が見えてくる。
業務の時間を削るための道具は、使い始めた日から効き始める。
業務効率化をさらに進めたい方は、ChatGPT活用の基本と職場での始め方やAI業務効率化ツールの選び方・比較も参考にしてください。
よくある質問
Q. ChatGPTが出した関数が動きません。どうすれば直せますか?
A. まずエラーの内容(#N/A、#VALUE!、#REF!など)とセルに入れた関数をそのままChatGPTに貼り付けて「このエラーを直してください」と送ってみてください。加えて「A列には何が入っているか」「参照先のシート名は何か」などシート構造を補足すると修正精度が上がります。
Q. VBAを使ったことがない初心者でも使えますか?
A. 使えます。コードの意味を理解していなくても、ChatGPTが生成したコードをVBEに貼り付けて実行するだけで動きます。ただし本番データで試す前に、必ずファイルを複製してバックアップを取ってから実行してください。
Q. 会社のExcelデータをChatGPTに送っても大丈夫ですか?
A. 顧客名・社員情報・売上詳細などの機密・個人情報を含むデータは送らないでください。「A列に名前、B列に売上が入っている」のように構造だけを説明する形で質問すれば、実データを送らずに回答が得られます。
Q. ChatGPTのどのプランを使えばいいですか?
A. 無料プランの無料版(GPT-5.5 Instant)でも関数生成・VBA生成は十分に使えます。ただし長いコードや複雑な修正のやり取りが続く場合は、ChatGPT Plus(月額約3,000円)の方がレスポンス制限が緩く、作業が快適になります。
Q. ExcelではなくGoogleスプレッドシートでも同じように使えますか?
A. 基本的な関数(SUMIFSやVLOOKUPなど)はほぼ同じ書き方で使えます。一方、VBAはExcel専用のため、Googleスプレッドシートの場合はGoogle Apps Script(GAS)に相当します。「GoogleスプレッドシートのGASで〇〇したい」と明示して質問すると、対応したコードを返してもらえます。
著者:S
ITサポート職として業務改善・社内ツール活用を担当。Excel・ChatGPT・クラウドツールを組み合わせた業務効率化を支援領域とする。本記事はChatGPTの一般的な活用方法を紹介するものであり、特定の製品・サービスの効果を保証するものではありません。業務への適用は各職場のルール・情報管理規定に従って判断してください。