※本ページにはプロモーション(広告)が含まれています
「Excelの関数が覚えられない」「VBAマクロを書きたいけどプログラミングがわからない」「毎回同じ作業を手動でやるのが面倒…」そんなExcelの悩み、ChatGPTで解決できます。
結論から言うと、ChatGPTに「やりたいこと」を日本語で伝えるだけで、適切なExcel関数やVBAマクロのコードを自動生成してくれます。プログラミングの知識がなくても、コピペするだけで複雑な処理を自動化できます。
この記事では、ChatGPTを使ってExcelの関数やマクロを作成する具体的な方法を、実例付きで詳しく解説します。
- ChatGPTでExcel関数を作成する基本手順
- よく使うExcel関数をChatGPTで生成する実例集
- VBAマクロをChatGPTで自動生成する方法
- ChatGPTへの効果的な質問の仕方(プロンプトのコツ)
- 生成された関数・マクロの動作確認方法
- Advanced Data Analysis(旧Code Interpreter)の活用法
ChatGPTでExcel関数を作る基本手順
ChatGPTにExcel関数を作ってもらう手順は、たった3ステップです。
ステップ1:やりたいことを日本語で伝える
Excelの関数名を知らなくても大丈夫です。「何がしたいか」を日本語でそのまま伝えましょう。
質問例:
「A列に商品名、B列に売上金額が入っています。商品名が『ノートPC』の行だけの売上合計を求めるExcel関数を教えてください」
ステップ2:ChatGPTが関数を生成
ChatGPTが以下のような回答を返してくれます。
=SUMIF(A:A,"ノートPC",B:B)
関数だけでなく、「この関数がどう動くか」の解説も付けてくれるので、学習にも最適です。
ステップ3:Excelにコピペして動作確認
生成された関数をExcelのセルにそのまま貼り付けて、正しく動作するか確認します。期待通りの結果にならない場合は、ChatGPTに「うまくいかない」と伝えて修正を依頼できます。
ChatGPTへの効果的な質問テンプレート
ChatGPTに正確な関数を作ってもらうために、以下の情報を含めると精度が上がります。
| 含める情報 | 例 |
|---|---|
| データの配置(何列目に何が入っているか) | 「A列に日付、B列に商品名、C列に金額」 |
| やりたいこと | 「月ごとの合計を出したい」 |
| 条件(あれば) | 「商品名が『PC』の行だけ」 |
| 出力先 | 「D1セルに結果を表示したい」 |
| データ件数の目安 | 「データは約1000行あります」 |
テンプレート
「Excelで以下の処理をしたいです。
・データ配置:【A列に〇〇、B列に〇〇、C列に〇〇】
・やりたいこと:【〇〇を〇〇したい】
・条件:【〇〇の場合だけ】
・Excel関数で実現する方法を教えてください。関数の説明も付けてください」
よく使うExcel関数の生成実例
実際にChatGPTに質問して作ってもらえる関数の例を紹介します。
1. 条件付き合計(SUMIF / SUMIFS)
質問例:
「A列に部署名、B列に社員名、C列に売上金額が入っています。部署名が『営業部』で、売上が50万円以上の行だけの合計を求める関数を教えてください」
生成される関数:
=SUMIFS(C:C,A:A,"営業部",C:C,">=500000")
2. 条件分岐(IF / IFS)
質問例:
「B列にテストの点数が入っています。90点以上はA、80点以上はB、70点以上はC、それ未満はDと表示するExcel関数を作ってください」
生成される関数:
=IFS(B2>=90,"A",B2>=80,"B",B2>=70,"C",TRUE,"D")
3. 検索・参照(VLOOKUP / XLOOKUP)
質問例:
「Sheet1のA列に商品コード、B列に商品名があります。Sheet2のA列に入力した商品コードに対応する商品名をB列に表示したいです」
生成される関数:
=XLOOKUP(A2,Sheet1!A:A,Sheet1!B:B,"見つかりません")
※ XLOOKUPはExcel 2021以降またはMicrosoft 365で利用可能です。古いバージョンの場合はVLOOKUPを使います。
4. 日付処理
質問例:
「A列に生年月日が入っています。今日時点での年齢を計算する関数を教えてください」
生成される関数:
=DATEDIF(A2,TODAY(),"Y")
5. テキスト処理
質問例:
「A列に『姓 名』の形式でフルネームが入っています(例:田中 太郎)。B列に姓だけ、C列に名だけを分離して表示したいです」
生成される関数:
B列(姓):=LEFT(A2,FIND(" ",A2)-1)
C列(名):=MID(A2,FIND(" ",A2)+1,LEN(A2))
6. 重複チェック
質問例:
「A列にメールアドレスが入っています。重複があるセルを見つけたいです。重複している場合は『重複あり』、していない場合は空白を表示してください」
生成される関数:
=IF(COUNTIF(A:A,A2)>1,"重複あり","")
VBAマクロをChatGPTで自動生成する方法
Excel関数では実現が難しい複雑な処理は、VBA(Visual Basic for Applications)マクロで解決できます。ChatGPTはVBAコードの生成も得意です。
VBAマクロとは
VBAマクロとは、Excelの操作を自動化するプログラムのことです。「毎月同じフォーマットで報告書を作る」「大量のデータを一括で加工する」といった繰り返し作業を自動化できます。
ChatGPTでVBAマクロを作る手順
- ChatGPTにやりたいことを伝える(日本語でOK)
- 生成されたVBAコードをコピー
- Excelの「開発」タブ→「Visual Basic」を開く
- 「挿入」→「標準モジュール」を選択
- コードを貼り付けて「実行」ボタンを押す
「開発」タブが表示されない場合
- Excelの「ファイル」→「オプション」を開く
- 「リボンのユーザー設定」を選択
- 右側の一覧で「開発」にチェックを入れる
- 「OK」をクリック
VBAマクロの生成実例
実例1:シート間のデータ転記
質問例:
「Sheet1のA列〜D列のデータ(2行目以降)を、Sheet2の同じ列にコピーするVBAマクロを作ってください。ただし、Sheet2に既にデータがある場合は最終行の次の行に追加してください」
実例2:条件に合う行の抽出
質問例:
「Sheet1のデータの中から、C列(ステータス列)が『未完了』の行だけをSheet2にコピーするVBAマクロを作ってください。ヘッダー行(1行目)もコピーしてください」
実例3:一括メール送信の準備
質問例:
「A列に宛先メールアドレス、B列に宛名、C列に送信内容が入っています。各行のデータを使って、Outlookのメール下書きを自動作成するVBAマクロを作ってください」
実例4:複数ファイルの統合
質問例:
「指定フォルダ内にある全てのExcelファイル(.xlsx)の、Sheet1のデータを1つのファイルにまとめるVBAマクロを作ってください。各ファイルの1行目はヘッダーなので、最初のファイルのヘッダーだけを残し、2番目以降のファイルはデータ行のみ追加してください」
VBAマクロ使用時の注意点
| 注意点 | 対策 |
|---|---|
| マクロ実行前にデータのバックアップを取る | ファイルをコピーしてから実行する |
| マクロ有効ブック(.xlsm)で保存する必要がある | 「名前を付けて保存」でファイル形式を変更 |
| セキュリティ警告が表示される場合がある | 「コンテンツの有効化」をクリック |
| 生成されたコードにバグがある可能性 | 小さなデータで動作テストしてから本番利用 |
ChatGPTのAdvanced Data Analysis機能の活用
ChatGPT Plus(有料版)では、Excelファイルを直接アップロードしてAIに分析してもらうことができます。
Advanced Data Analysisでできること
- Excelファイルのデータを自動分析して傾向を報告
- グラフやチャートの自動作成
- データのクリーニング(欠損値の処理、形式統一など)
- ピボットテーブル相当の集計処理
- 統計分析(平均、中央値、相関分析など)
使い方
- ChatGPTの入力欄にある添付ファイルアイコン(📎)をクリック
- ExcelファイルまたはCSVファイルをアップロード
- 「このデータの売上傾向を分析して、グラフで表示してください」などと指示
- ChatGPTがPythonコードを実行し、分析結果とグラフを表示
活用例
- 「このデータの月別売上推移をグラフにしてください」
- 「売上上位10商品を棒グラフで表示してください」
- 「欠損値がある行を特定して、一覧で表示してください」
- 「このデータから売上予測モデルを作成してください」
Excelでよくある作業別・ChatGPT活用パターン
| 作業内容 | ChatGPTの活用法 | 難易度 |
|---|---|---|
| 条件付きの合計・カウント | SUMIF/COUNTIF系の関数を生成 | ★☆☆ |
| データの検索・参照 | VLOOKUP/XLOOKUP関数を生成 | ★☆☆ |
| 複雑な条件分岐 | ネストしたIF/IFS関数を生成 | ★★☆ |
| テキストの分割・結合 | LEFT/MID/RIGHT/CONCAT関数を生成 | ★☆☆ |
| 日付の計算 | DATEDIF/EOMONTH関数を生成 | ★☆☆ |
| データの一括加工 | VBAマクロを生成 | ★★☆ |
| 複数ファイルの統合 | VBAマクロを生成 | ★★★ |
| 定型レポートの自動作成 | VBAマクロを生成 | ★★★ |
| データの可視化・分析 | Advanced Data Analysisを使用 | ★★☆ |
ChatGPTでExcel作業をする際のコツ
コツ1:エラーが出たらそのまま伝える
生成された関数でエラーが出た場合は、エラーメッセージをそのままChatGPTに伝えましょう。
「さっきの関数を入力したら #N/A エラーが出ました。原因と修正方法を教えてください」
ChatGPTはエラーの原因を特定し、修正版の関数を提案してくれます。
コツ2:Excelのバージョンを伝える
使用しているExcelのバージョンによって、使える関数が異なります。
- XLOOKUP:Excel 2021以降またはMicrosoft 365
- FILTER関数:Microsoft 365のみ
- UNIQUE関数:Microsoft 365のみ
- LAMBDA関数:Microsoft 365のみ
「Excel 2019を使っています」と伝えれば、そのバージョンで使える関数を提案してくれます。
コツ3:サンプルデータを見せる
複雑なデータ構造の場合は、サンプルデータを2〜3行分ChatGPTに見せると、より正確な関数を生成してくれます。
「以下のようなデータがあります:
A列:2026/01/15 | B列:営業部 | C列:田中太郎 | D列:150000
A列:2026/01/20 | B列:開発部 | C列:鈴木花子 | D列:200000
このデータから、部署別の月間売上合計を求めたいです」
コツ4:段階的に複雑にする
最初からすべての条件を盛り込むのではなく、まず基本的な処理を作り、その後条件を追加していくと失敗が少なくなります。
- 「A列の合計を求める関数を教えてください」
- 「B列が『営業部』の行だけの合計にしてください」
- 「さらに、C列の日付が2026年1月のものだけに絞ってください」
よくある質問(FAQ)
Q1. ChatGPTは無料版でもExcel関数を作ってくれますか?
はい、無料版でもExcel関数やVBAマクロの生成は可能です。ただし、Excelファイルを直接アップロードして分析するAdvanced Data Analysis機能は、Plus(有料版)以上のプランが必要です。
Q2. ChatGPTが作った関数にエラーがある場合はどうすればいいですか?
エラーメッセージ(#VALUE!、#N/A、#REF! など)をそのままChatGPTに伝えてください。原因を分析して修正版を提案してくれます。データの配置や条件を再度詳しく伝えると、より正確な修正が得られます。
Q3. VBAの知識がなくてもマクロを使えますか?
ChatGPTが生成したコードをコピペするだけなので、VBAの知識がなくても利用できます。ただし、コードが何をしているかの概要は理解しておくことをおすすめします。ChatGPTに「このコードの各行を日本語で解説してください」と依頼すれば、わかりやすく説明してくれます。
Q4. マクロを実行したらデータが消えてしまいました。元に戻せますか?
マクロの実行は「元に戻す(Ctrl+Z)」が効かない場合があります。そのため、マクロを実行する前に必ずファイルのバックアップを取ってください。バックアップがない場合、OneDriveやSharePointに保存していればバージョン履歴から復元できる場合があります。
Q5. Google スプレッドシートでも同じように使えますか?
はい、ChatGPTに「Google スプレッドシートで使える関数で教えてください」と伝えれば、対応した関数を生成してくれます。VBAの代わりにGoogle Apps Script(GAS)のコードも生成可能です。
Q6. 会社のデータをChatGPTに入力しても安全ですか?
機密データの入力には注意が必要です。データの構造だけを伝える(列名と処理内容のみ)か、ダミーデータに置き換えて質問することをおすすめします。会社の方針に従い、必要に応じてTeamやEnterpriseプランの利用を検討してください。
Q7. Excel以外の表計算ソフトでも使えますか?
LibreOffice CalcやWPS Spreadsheetなど、他の表計算ソフトでもほぼ同じ関数が使えます。ChatGPTに使用ソフトを伝えれば、そのソフトで対応している関数を提案してくれます。
Q8. ChatGPTにExcelファイルをアップロードする方法は?
ChatGPT Plus以上のプランでは、チャット入力欄の添付ファイルアイコン(📎)からExcelファイル(.xlsx)やCSVファイルを直接アップロードできます。アップロード後、「このデータを分析してください」などと指示すれば、AIが自動的にデータを読み取って処理してくれます。
まとめ
ChatGPTを使えば、Excelの関数やVBAマクロを誰でも簡単に作成できます。ポイントをまとめます。
| 活用法 | おすすめ度 | 難易度 |
|---|---|---|
| Excel関数の生成 | ★★★★★ | 初心者OK |
| 関数のエラー修正 | ★★★★★ | 初心者OK |
| VBAマクロの自動生成 | ★★★★☆ | 少し慣れが必要 |
| データ分析(Advanced Data Analysis) | ★★★★☆ | 有料版が必要 |
まずは普段のExcel作業で「この関数どう書くんだっけ?」と思ったとき、ChatGPTに聞いてみてください。関数を調べる時間が劇的に短縮され、本来の業務に集中できるようになります。
ChatGPTはExcelの最強の相棒です。ぜひ活用して、日々の業務を効率化してください。
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!