ChatGPTでExcel関数を作る方法|やりたいことから関数を作成する手順
ChatGPTでExcel関数を作りたい方へ。やりたい処理を日本語で伝えて、IF、VLOOKUP、XLOOKUP、COUNTIF、SUMIFなどの関数を作る方法、プロンプト例、注意点を解説します。本記事の内容はGeminiやCopilotでも応用できます。
ChatGPTを使えば、「何をしたいか」を日本語で伝えるだけで、Excel関数のたたき台を作れます。
ただし、生成された関数は必ず自分の表でテストし、参照範囲や条件が正しいか確認しましょう。
ChatGPTでExcel関数は作れる?
ChatGPTは、Excel関数を考える作業に向いています。
「A列が空白なら未入力と表示したい」「商品コードに一致する単価を別表から取得したい」「条件に合う件数を数えたい」のように、やりたいことを日本語で伝えると、目的に合った関数の候補を作成できます。
ただし、ChatGPTが出した関数をそのまま使えば必ず正しく動くとは限りません。 Excelの列構成、セル範囲、データ形式、バージョンによって修正が必要な場合があります。
本記事ではChatGPTを例に説明していますが、GeminiやCopilotなどの生成AIでも同じ考え方でExcel関数作成に活用できます。
Excel関数作成で生成AIが向いている理由
日本語から関数を作れる
関数名が分からなくても、「何をしたいか」を伝えることで候補を作れます。
エラーの原因を相談できる
#N/A、#VALUE!、#REF!などのエラーが出たときに、原因の確認に使えます。
複数の書き方を比較できる
IF、XLOOKUP、FILTERなど、目的に合う関数の選び方を比較できます。
関数の意味も確認できる
作成した関数がどのように動くのか、分解して説明してもらえます。
ChatGPTでExcel関数を作る基本手順
- Excelでやりたいことを日本語で整理する
- 列名、セル範囲、条件を具体的に書く
- 使用したいExcel関数やExcelのバージョンを伝える
- ChatGPTに関数作成を依頼する
- 出力された関数をコピーして試す
- 結果が正しいかテストデータで確認する
- 必要に応じて条件や範囲を修正する
顧客名、社員名、売上明細、取引先情報などをそのまま入力しないようにしましょう。表の構造だけを説明すれば、関数は作成できます。
そのまま使えるExcel関数作成プロンプト
Excel関数を作ってもらうときは、表の構成とやりたい処理を具体的に伝えます。
Excel関数を作成してください。
【やりたいこと】
A列の商品コードをもとに、別表から商品名を取得したいです。
【表の構成】
・A列:商品コード
・B列:商品名を表示したい
・別表はE列に商品コード、F列に商品名があります
【条件】
・商品コードが見つからない場合は「未登録」と表示したい
・Excel 365で使える関数を希望します
・関数の意味も初心者向けに説明してください
ポイントは、「表の構成」「やりたいこと」「見つからない場合の処理」を具体的に伝えることです。
IF関数を作るプロンプト例
ExcelのIF関数を作成してください。
【やりたいこと】
C列の点数が80点以上なら「合格」、80点未満なら「再確認」と表示したいです。
【条件】
・2行目からデータがあります
・D列に結果を表示します
・D2に入れる関数を教えてください
・関数の意味も説明してください
IF関数は、条件によって表示内容を切り替える基本的な関数です。 条件と表示したい結果を分けて伝えると、正しい関数を作りやすくなります。
XLOOKUP関数を作るプロンプト例
ExcelのXLOOKUP関数を作成してください。
【やりたいこと】
A列の商品コードをもとに、商品マスタから単価を取得したいです。
【表の構成】
・A列:注文表の商品コード
・B列:単価を表示したい
・E列:商品マスタの商品コード
・F列:商品マスタの単価
【条件】
・B2に入れる関数を教えてください
・商品コードが見つからない場合は空白にしてください
・初心者向けに説明してください
XLOOKUPは、別表から情報を取得したいときに便利です。 検索する列と取得したい列を正しく伝えることが大切です。
COUNTIF・SUMIFを作るプロンプト例
ExcelのCOUNTIFまたはSUMIFを使って関数を作成してください。
【やりたいこと】
A列の部署名が「営業部」の件数を数えたいです。
また、B列の売上金額のうち、A列が「営業部」の金額だけ合計したいです。
【表の構成】
・A列:部署名
・B列:売上金額
・データは2行目から100行目まであります
【条件】
・件数を数える関数
・金額を合計する関数
・それぞれ説明付きで教えてください
条件に合う件数や合計を出したい場合は、COUNTIFやSUMIFがよく使われます。 条件列と集計列を分けて伝えましょう。
Excel関数を作るときに伝えるべき情報
- 何をしたいのか
- どの列にどんなデータが入っているのか
- 結果をどのセルに表示したいのか
- 条件に合わない場合はどう表示したいのか
- Excelのバージョン
- 初心者向けの説明が必要かどうか
「何をしたいか」と「表の構成」を正確に伝えることです。
入力してはいけない情報
Excel関数を相談するときに、実データをそのまま貼り付ける必要はありません。 以下の情報は入力しないように注意しましょう。
- 顧客名、社員名、取引先名
- 住所、電話番号、メールアドレス
- 売上明細、利益、原価、給与情報
- 契約内容、請求情報、見積金額
- 社外秘の管理表や顧客リスト
- ID、パスワード、APIキー
安全な入力例
避けたい例
「この顧客一覧を見て、株式会社〇〇の売上を合計する関数を作ってください」と実データを貼り付ける。
安全に近い例
「A列に会社名、B列に売上金額があります。A列が特定の会社名と一致する行のB列を合計する関数を作ってください」
実際の会社名や金額を入力しなくても、表の構造を説明すれば関数は作成できます。
作成した関数を使う前に確認すること
- 参照範囲が正しいか
- 列番号や列名が自分の表と合っているか
- 条件に合わない場合の表示が正しいか
- 空白や文字列が混ざっても動くか
- 想定した結果になるかテストデータで確認したか
- 古いExcelでも使える関数か
生成AIは関数の候補を作れますが、あなたのExcelファイルの中身を正確に理解しているわけではありません。 必ずテストしてから業務で使いましょう。
よくある失敗と対策
| 失敗例 | 対策 |
|---|---|
| 関数を貼り付けたがエラーになる | セル範囲、区切り文字、Excelのバージョンを確認する |
| 結果が想定と違う | 条件と参照範囲を見直す |
| ChatGPTに実データを貼ってしまう | 表の構造だけを説明する |
| 新しいExcel関数が使えない | Excelのバージョンを伝えて作り直してもらう |
| 関数の意味が分からない | 関数を分解して初心者向けに説明してもらう |
昔のプロンプトと今の使い方の違い
ChatGPTが話題になり始めた頃は、「#条件」「#出力形式」「あなたはExcelの専門家です」のように、細かく指定するプロンプトがよく紹介されていました。
今でも条件や出力形式を指定することは有効です。 しかし、Excel関数を作る場合は、難しいプロンプトよりも「表の構成」と「やりたいこと」を正確に伝える方が大切です。
- A列には何が入っているか
- B列には何が入っているか
- どのセルに結果を表示したいか
- 条件に合わない場合どうしたいか
Excelの表の構成と目的を、普通の日本語で具体的に伝えることです。
生成AIパスポートでも役立つ知識
生成AIパスポートでは、生成AIの活用方法だけでなく、情報漏えい、個人情報、著作権、ハルシネーションなどのリスクも学習範囲になります。
Excel関数作成のような業務活用でも、生成AIに入力してよい情報と入力してはいけない情報を判断する力が必要です。
生成AIを仕事で安全に活用する知識を体系的に学びたい方へ
生成AIの仕組み、リスク、法律、プロンプト、活用方法をまとめて学ぶなら、生成AIパスポート対策がおすすめです。
生成AIパスポート問題集を見る