ChatGPTでExcel関数を作るプロンプト集|VLOOKUP・IF・配列数式まで業務別に解説

ChatGPTで Excel関数を作る のアイキャッチ画像
目次

この記事でわかること

  • ChatGPT にExcel 関数を作らせる「壊れない」基本プロンプト
  • 業務別(集計・検索・条件分岐)のコピペ可能な例
  • エラーが出たときのトラブルシューティング手順
  • 関数だけでなく VBA / Office スクリプト まで頼める使い方

この計算、関数で一発でできないかな」と思うたびに Google 検索でVLOOKUP の構文を確認していた——そんな時間を、ChatGPT で 数秒 に短縮できる可能性が高いとされます。

本記事では、業務シーン別にそのまま使える Excel 関数生成プロンプトと、応用テクニックを整理します。

関連記事:ChatGPTでメール返信を爆速化するプロンプト集ChatGPTで議事録を作る完全ガイド

基本:Excel関数を作らせる「壊れない」プロンプト

ChatGPT に Excel 関数を作ってもらうとき、以下の構造を満たすと出力品質が安定します。

あなたは Excel のエキスパートです。以下の【表の構造】【やりたいこと】【制約】を踏まえて、
そのままセルに貼り付けられる関数式を1つ提案してください。
解説は関数の後に簡潔にまとめてください。

【表の構造】
- セル範囲:A1:E100
- A列:日付(yyyy/mm/dd)
- B列:商品名
- C列:単価
- D列:数量
- E列:売上(C×D)

【やりたいこと】
- F1セルに、6月の売上合計を表示したい

【制約】
- ピボットテーブルは使わずに、関数のみ
- できれば SUMIFS で

「表の構造」を明示する ことが最も重要です。これをやらないと、ChatGPT は架空の表を仮定して、自分の業務とずれた式を返してきます。

業務シーン別プロンプト

1. 条件付き集計(SUMIFS / COUNTIFS)

【表の構造】
- A列:日付、B列:担当者、C列:商品カテゴリ、D列:売上金額
- データ範囲:A2:D500

【やりたいこと】
- 「2026年4月」かつ「担当者=山田」の売上合計を、セルF1に表示

【制約】
- SUMIFS で書いてください
- 日付の比較は >=2026/4/1 と <2026/5/1 の形式で

期待される出力例:

=SUMIFS(D2:D500, A2:A500, ">=2026/4/1", A2:A500, "<2026/5/1", B2:B500, "山田")

2. 検索(VLOOKUP / XLOOKUP / INDEX-MATCH)

【表の構造】
- マスター表:A2:C100(A列=商品コード、B列=商品名、C列=単価)
- 入力表:F2:F50(商品コードの一覧)

【やりたいこと】
- G2〜G50に、各商品コードに対応する単価を表示

【制約】
- XLOOKUP を使う(Excel 365/2021以降を想定)
- 該当なしの場合は「未登録」と表示

3. 文字列操作(IFS / TEXTSPLIT / 配列数式)

【表の構造】
- A列:「山田太郎 / 営業部 / 部長」のように「/」区切りで3項目入った文字列

【やりたいこと】
- B列に氏名、C列に部署、D列に役職を分けて表示したい

【制約】
- TEXTSPLIT 関数を使う
- 1セル入力で、A列を全行処理できるように(配列数式 / スピル機能を活用)

4. 条件分岐(IF / IFS / SWITCH)

【やりたいこと】
- A列の点数に応じて、B列に評価を表示
  - 90点以上:S
  - 80点以上:A
  - 70点以上:B
  - 60点以上:C
  - それ未満:D

【制約】
- IFS 関数で書く(ネストしないシンプルな形)

5. 重複・ユニーク値の処理

【やりたいこと】
- A列にある商品名のうち、ユニーク(重複を除いた)値を C列に一覧表示
- さらに、それぞれの件数を D列に表示

【制約】
- UNIQUE 関数と COUNTIF を組み合わせて
- スピル機能で1セル入力にしたい

「関数で無理」だったら VBA / Office スクリプト

複雑な処理は、関数ではなく VBA(マクロ)Office スクリプト(クラウド版)でやる方が現実的です。

VBAコード生成プロンプト

あなたは Excel VBA のエキスパートです。以下の処理を行う VBA コードを書いてください。
コードは、新しい標準モジュールに貼り付けて、すぐ動く状態にしてください。

【処理内容】
- アクティブシートのA列に並んでいるURL(A2以下)に対して、
  それぞれをブラウザで開く Sub プロシージャを作る
- ボタンに割り当てる前提なので、Sub のみで完結すること

【制約】
- 既定のブラウザで開く
- A列が空白になったら処理を止める

Office スクリプト(クラウド版Excel)の場合

TypeScriptベースのOffice スクリプトで、以下の処理を書いてください。
- 現在のシートの A列のセルをループし、空白の場合はそのセルを赤く塗りつぶす

エラーが出たとき:ChatGPTへのフィードバック手順

提案された関数で #N/A#VALUE! が出たら、エラーメッセージごとそのまま貼り付ける のが最速の解決策です。

さきほどの式:
=XLOOKUP(F2, A2:A100, C2:C100, "未登録")

を貼り付けると #N/A が出ます。F2 セルには「A001」が入っていて、
A列にも「A001」があるのですが、見つからない扱いになっています。
原因と修正案を教えてください。

→ 多くの場合、「A列の値が 数値型文字列型 で混在している」など、見落としがちなデータ型の問題を指摘してくれます。

業務効率化のコツ

1. 「表の構造」を一度書いて使い回す

頻繁に Excel を使う業務なら、自分が扱う代表的な表の構造を テキストファイルにまとめておく と、毎回コピペで使えます。

2. カスタム指示に「Excel エキスパート」と登録

ChatGPT のカスタム指示や Claude のプロジェクト機能に「Excel関数の質問が来たら、SUMIFS や XLOOKUP などのモダンな関数を優先して提案してください」と登録しておくと、毎回の指示が短くなります。

3. 「セルへの貼り付け」を最初に明示

そのままセルに貼り付けられる形で」とプロンプトに書くと、= 付きの関数式を直接返してくれます。

注意点:機密情報を渡さない

社内データのスクリーンショットや CSV を ChatGPT にそのまま貼り付けると、情報セキュリティ上のリスクが発生します。列構造とサンプル数行に置き換えて から相談することを推奨します。

❌ 顧客リストの実データを丸ごとペースト
○ 「A列:顧客名、B列:契約金額」など、構造の説明と、ダミー2〜3行

まとめ

  • Excel関数の生成は 「表の構造」「やりたいこと」「制約」 の3点セットで指示
  • SUMIFS・XLOOKUP・IFS・UNIQUE・TEXTSPLIT などのモダン関数を活用
  • 関数で無理な処理は VBA か Office スクリプト に切り替える
  • エラーは メッセージごとそのまま貼り付け て聞き返すのが最速
  • 機密データは 構造とダミーに置き換えてから 渡す

毎日 Excel と格闘している方なら、1日30分の関数調査時間 がほぼゼロになる可能性があります。まずは1つ、今日の業務で困っている関数から試してみてください。

ChatGPTで Excel関数を作る のアイキャッチ画像

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次