VLOOKUPを使うたびにネットで検索していた方、IF関数のネストで頭が混乱した経験のある方は多いのではないでしょうか。Excelの関数は便利ですが、構文を覚えるのが大変で、実務で使いこなすにはそれなりの学習コストがかかります。
そこで活用したいのがChatGPTです。やりたいことを日本語で伝えるだけで、目的に合うExcel関数の案を生成してくれます。関数の知識が少なくても、コピペで試せるようになりました。
この記事では、ChatGPTでExcel関数を作る具体的なやり方と、精度を上げるためのプロンプトのコツを丁寧に解説していきます。Microsoft CopilotのExcel連携はMicrosoft Copilot公式サイトで確認できます。

ChatGPTでExcel関数を作る基本の流れ
やり方はとてもシンプルです。3つのステップで完了します。
ステップ1:ChatGPTにアクセスする
chatgpt.comにアクセスしてログインします。無料プランでもExcel関数の生成は試せます(使えるモデルや回数の上限はプラン・時期によって変わるため、公式サイトで確認してください)。
ステップ2:やりたいことを日本語で伝える
チャット欄に「こういうことをしたい」と日本語で入力するだけです。たとえば「A列の商品名がりんごの行だけ、B列の売上を合計したい」と書けば問題ありません。
ステップ3:生成された関数をコピーしてExcelに貼り付ける
ChatGPTが関数を出力してくれるので、それをコピーしてExcelのセルに貼り付けます。セル番地が自分のシートと合っているか確認して、必要に応じて調整しましょう。
たったこの3ステップで、関数の知識が少なくてもExcel関数を作成できます。ただし、プロンプトの書き方で精度が大きく変わるため、次のセクションで解説するコツを押さえておきましょう。
あわせて、出てきた関数を後から自分で直せる状態にしておくと安心です。引数の意味を引ける関数辞典を1冊持っておくと、生成された式を読み解くときの手がかりになります。
精度を上げるプロンプトの書き方【5つのコツ】
「関数を作って」とだけ伝えると、意図と異なる関数が返ってくることがあります。以下のコツを使えば、意図に近い関数が出やすくなります。
コツ1:シートの構造を伝える
「A列に商品名、B列に数量、C列に単価、D列に売上が入っています。1行目は見出しです。」のように、シートのレイアウトを最初に説明しましょう。この情報があるかないかで、生成される関数の精度が大きく変わります。
コツ2:具体的なデータ例を添える
「たとえばA2が”りんご”、B2が”50″、C2が”120″です」のように、実際のデータ例を1〜2行分伝えると、ChatGPTがデータの型(文字列・数値・日付)を正確に把握できます。
コツ3:期待する結果を明示する
「結果として、りんごの売上合計が”15000″のように表示されてほしい」と、最終的にどんな値が出てほしいかを書くと、ChatGPTが正しい関数を選びやすくなります。

コツ4:使いたい関数が決まっている場合は伝える
「VLOOKUP関数で」「ピボットテーブルではなく関数で」など、方法に制約がある場合は先に伝えましょう。指定しないとChatGPTが別のアプローチを提案してくることがあります。
コツ5:エラー処理もセットで依頼する
「該当データがない場合は空白を表示してほしい」「エラーが出たら”該当なし”と表示してほしい」など、エラー時の挙動も一緒に指定すると、実務ですぐ使える関数に仕上がります。エラー処理なしの関数は実務で使い物にならないケースが多いため、この指定はおすすめです。
コピペで使えるプロンプトテンプレート集
よくあるExcel関数のパターン別に、そのまま使えるプロンプトを紹介します。【】内を自分の状況に書き換えて使ってください。
条件付き合計(SUMIFS)
「Excelで、【A列の部署名が”営業部”】かつ【B列の月が”4月”】の行の【C列の売上金額】を合計する関数を作ってください。データは2行目から100行目です。」
データ検索(VLOOKUP / XLOOKUP)
「Excelで、【F2セルに入力した商品コード】をもとに、【A列の商品コード】から検索して【C列の商品名】を表示する関数を作ってください。該当がない場合は”該当なし”と表示してください。XLOOKUPが使える環境です。」
条件分岐(IF / IFS)
「Excelで、【B列のテスト点数】が90以上なら”A”、80以上なら”B”、70以上なら”C”、それ未満なら”D”と【C列に】表示する関数を作ってください。」
重複チェック(COUNTIF)
「Excelで、【A列のメールアドレス】に重複があるかチェックして、重複していたら【B列に”重複”】と表示する関数を作ってください。」
日付計算
「Excelで、【A列の開始日】から【B列の終了日】までの営業日数(土日祝を除く)を【C列に】計算する関数を作ってください。祝日リストはSheet2のA列に入っています。」
文字列操作
「Excelで、【A列に”山田太郎(営業部)”】のような形式のデータがあります。カッコ内の部署名だけを【B列に】抜き出す関数を作ってください。」

ChatGPTが作った関数を検証する方法
ChatGPTの出力には誤りが含まれることがあります。生成された関数を安全に使うための検証方法を紹介します。
ChatGPTが生成した関数を検証せずにそのまま本番データに適用するのは危険です。必ずテストデータで動作確認を行ってから使用しましょう。
少量のテストデータで確認する
まず5〜10行程度のテストデータで関数が正しく動くか確認しましょう。手計算で答え合わせできるデータを用意しておくと安心です。
エッジケースをチェックする
空白セル、ゼロ、マイナス値、文字列が入っているセルなど、イレギュラーなデータに対して関数がエラーを返さないか確認しましょう。
この検証作業では、テスト用の数値を手で打ち込む場面がどうしても増えます。ノートPCで数字の入力が続くと手数がかさむため、外付けの数字入力キーを足している方もいます。
ChatGPTに関数の解説を求める
「この関数の各部分が何をしているか、分かりやすく解説してください」と追加で聞くと、関数のロジックを理解できます。理解した上で使えば、後から修正が必要になった場合も自分で対応できます。
代替案も聞いてみる
「この関数の別の書き方はありますか?もっとシンプルな方法があれば教えてください」と聞くと、より簡潔な関数や、新しい関数(XLOOKUPやFILTERなど)を使った代替案を提案してくれることがあります。
ChatGPTとスプレッドシートのマクロ連携については、以下の記事で解説しています。

Excel以外にも応用できる|Googleスプレッドシート対応
ChatGPTはGoogleスプレッドシートの関数も生成できます。プロンプトに「Googleスプレッドシートで」と追加するだけで対応可能です。
スプレッドシート固有の便利な関数も教えてくれます。たとえばQUERY関数、IMPORTRANGE関数、ARRAYFORMULA関数など、Excelにはない強力な関数をChatGPTが提案してくれるため、スプレッドシートユーザーにもおすすめです。
ただし注意点として、ExcelとGoogleスプレッドシートでは一部の関数の仕様が異なります。「Excelの関数を作って」なのか「Googleスプレッドシートの関数を作って」なのかを明記しないと、間違った関数が生成されることがあるので気をつけましょう。


VBA・マクロも作れる|さらに一歩進んだ活用法
ChatGPTは関数だけでなくVBA(マクロ)のコードも生成できます。「関数だけでは実現が難しい」処理も、VBAなら対応できるケースが多くあります。
たとえば「毎月の売上データを自動で部署別シートに振り分けるマクロを作ってください」「特定の条件に合うデータだけPDFに書き出すマクロを作ってください」など、日本語で指示するだけでVBAコードを生成してくれます。
VBAの使い方は、Excelの「開発」タブからVisual Basic Editorを開き、ChatGPTが生成したコードを貼り付けて実行するだけです。プログラミングの知識がなくても使えますが、マクロの実行にはセキュリティ設定の変更が必要な場合があるため、社内のIT部門に確認してから使いましょう。
ここまで来ると、動かなかったときに自分でコードを読む必要が出てきます。変数やループといった基本を扱った入門書があると、生成されたコードのどこを直せばよいか見当をつけやすくなります。
関数やVBAを任せるだけでなく、自分でも読み書きできるようになりたいという方は、体系的に学べるスクールを検討する方法もあります。デイトラは、Web制作やAI活用、Webマーケティングなどを学べるオンラインスクールで、公式サイトによると40講座以上が学び放題の対象です。無料の公開レッスンで教材の雰囲気を確かめることもできます。詳しい内容は公式サイトで確認できます。



ChatGPTでデータ分析する方法については、以下の記事で解説しています。



よくある質問(FAQ)
Q. 無料版ChatGPTでもExcel関数は作れますか?
A. はい、無料版でも試せます。複雑な関数で精度や回数の上限が気になる場合は、有料プラン(Plusは月額20ドル)も選択肢です。使えるモデルはプランや時期によって変わるため、最新の情報は公式サイトで確認してください。
Q. ChatGPTが作った関数がエラーになる場合はどうすればいいですか?
A. エラーメッセージ(#VALUE!、#N/A、#REF!など)をそのままChatGPTに伝えてください。「この関数を実行したら#N/Aエラーが出ました。原因と修正方法を教えてください」と聞けば、具体的な解決策を提示してくれます。
Q. 会社の機密データをChatGPTに入力しても大丈夫ですか?
A. 注意が必要です。ChatGPTのデータコントロール設定で、入力内容をモデル改善に使わない設定にするか、データの構造だけ伝えて実際の数値は変えて入力しましょう。企業利用ならChatGPT Business/Enterpriseの利用を検討してください。
Q. Excel 2016など古いバージョンでも使えますか?
A. プロンプトに「Excel 2016を使っています」と伝えれば、そのバージョンで使える関数だけを提案してくれます。XLOOKUP、FILTER、UNIQUEなどはMicrosoft 365やExcel 2021以降でしか使えないため、バージョンの指定は大切です。
Q. 複数のシートをまたぐ関数も作れますか?
A. はい、「Sheet1のA列の値をもとに、Sheet2のデータを検索したい」のようにシート構成を説明すれば、シート間参照を含む関数も生成できます。
Q. ChatGPTに画面のスクリーンショットを送って関数を作ってもらえますか?
A. 画像入力に対応したモデル(プランによって利用回数が異なります)なら、Excelの画面キャプチャを送って「この表に合う関数を作って」とリクエストできます。便利な使い方のひとつなので、試してみてください。


まとめ
ChatGPTを使ったExcel関数の自動生成について、ポイントをまとめます。
- やりたいことを日本語で伝えるだけで、Excel関数の案が生成される
- シートの構造、データ例、期待する結果を伝えると精度が上がりやすい
- VLOOKUP、SUMIFS、IFのネストなどの関数もプロンプトで作成できる場合がある
- 生成された関数はテストデータで検証してから本番に適用する
- VBAマクロやGoogleスプレッドシートの関数も作成可能
関数が苦手な方こそ、ChatGPTを活用すれば、日々の関数作業が楽になるかもしれません。まずは日常業務で使っている関数の一つをChatGPTに作ってもらうところから始めてみてください。


