Bye Bye Work トップへ

ChatGPTでExcel関数を作る方法|プロンプト例付き

@yusukeのプロフィール最終更新 2026年10月20日

ChatGPTでExcel関数を作るプロンプトは、「バージョン・列と範囲・条件・出力先・例外処理」をセットで伝えると具体化できます。この記事では、そのまま埋めて使える聞き方のテンプレートと、検索・集計・文字列抽出の数式例を紹介します。返ってきた式は小さなテスト表で確かめてから実務に使います。

ChatGPTへのExcel関数の聞き方:先にそろえる情報

「売上を集計する関数を教えて」だけでは、どの列を足すのか、どの行を対象にするのかが決まりません。次の情報を添えましょう。

伝える情報記入例
Excelの環境バージョン、Windows・Mac・Webの別
表の列構成と範囲売上一覧のA列=商品コード、B列=部署、C列=金額。2〜100行
処理の条件部署が「営業」かつ金額が1000以上
出力したい形F2に合計金額を1つ表示。下にはコピーしない
空白・エラー・重複条件が空白なら空欄、該当なしは0、重複行も集計

金額は数値か文字列か、日付はExcelの日付データかも伝えます。「以上」と「より大きい」、「すべて満たす」と「どれかを満たす」では式が変わります。検索する値と表示する値も分けて書きます。

バージョンが不明な場合は、分かる範囲を記載し、使えない関数が出たら代替式を求めてください。

コピペ用:Excel関数作成プロンプト

角括弧の中を自分の表に置き換えて送ります。列が多い表でも、処理に必要な列だけで十分です。

text
Excelの数式を作成してください。
【環境】Excel[バージョン]/[Windows・Mac・Web]。Googleスプレッドシート用ではありません。
【目的】[何を、どの条件で求めるか]
【表】シート名:[名前]。1行目は見出し、データは[2〜100行]。
A列:[項目・データ型]
B列:[項目・データ型]
C列:[項目・データ型]
【入力・出力】条件を入力するセル:[セルと値]。数式を入れるセル:[セル]。[下へコピーする/しない]。
【条件】[完全一致/部分一致、AND/OR、日付の境界など]
【例外】条件セルが空白なら[処理]。該当なしは[表示]。重複は[先頭/全件/集計]。その他のエラーは[処理]。
【架空の入力例】[列名と数行のデータ]
【期待する出力】[入力に対する正解]
不足情報があれば、数式を作る前に質問してください。
回答は①貼り付ける数式(半角記号)②引数と参照範囲の説明③コピー時に固定する参照④正常・空白・該当なし・重複のテスト例の順でお願いします。
指定環境で使える関数を選び、未対応の可能性があれば明記してください。

関数名を知らなくても、目的と正解例があれば依頼できます。「商品コードから商品名を返したい」のように処理を書くと、利用環境に合う式を検討しやすくなります。

入力例と出力例:検索・集計・文字列抽出

以下はすべて架空のデータです。例ごとに指定のセルを使用してください。実際の表では範囲を置き換えます。

XLOOKUP:商品コードから商品名を表示

XLOOKUPが使えるExcelを前提とします。A1:B4に次の表を用意します。商品コードは文字列です。

行A列:商品コードB列:商品名
2P001ノート
3P002ペン
4P003封筒

テンプレートに加える依頼例です。

text
A2:A4の商品コードから、E2のコードを完全一致で検索し、B2:B4の商品名をF2に表示してください。
E2が空白なら空欄、該当なしは「未登録」。コードが重複したら上から最初の1件を返します。
F2の式は下へコピーします。E2=P002なら期待値は「ペン」です。

出力例としてF2に入れる式です。

excel
=IF(E2="","",XLOOKUP(E2,$A$2:$A$4,$B$2:$B$4,"未登録",0))

末尾の0は完全一致の指定です。検索表を$で固定し、コピーすると検索値の参照だけがE3、E4へ変わります。E2がP999なら「未登録」、空白なら空欄になります。見つかった行の商品名が空白の場合の表示も決めたいなら、その扱いを追加で依頼します。

COUNTIFS・SUMIFS:条件を満たす件数と合計

A1:C5に次の表を入力します。C列は文字列ではなく数値で入力してください。

行A列:部署B列:状態C列:金額
2営業完了1200
3営業未完了800
4管理完了2000
5営業完了500

入力する依頼例です。

text
データはA2:C5です。A列が「営業」かつB列が「完了」の行を対象に、E2に件数、F2にC列の合計金額を表示してください。
下へコピーしません。該当なしは0、重複行もそれぞれ数え、合計します。
期待値は件数2、合計1700です。

E2の出力例は、両方の条件に合う行を数えるCOUNTIFSです。

excel
=COUNTIFS($A$2:$A$5,"営業",$B$2:$B$5,"完了")

F2の出力例はSUMIFSです。先頭に合計する範囲を指定します。

excel
=SUMIFS($C$2:$C$5,$A$2:$A$5,"営業",$B$2:$B$5,"完了")

両式の条件はANDです。「営業または完了」に変える場合は、両方を満たす行を二重に数えないよう、OR条件の扱いも依頼します。

文字列抽出・IFERROR:区切り文字より前を取り出す

次はA2の文字列から、最初の半角ハイフンより前を取り出す例です。

text
A2に「P001-ノート」が入っています。最初の半角ハイフンより前をB2に取り出し、下へコピーします。
期待値は「P001」です。A2が空白なら空欄、ハイフンがなければ「形式確認」と表示してください。
LEFT、FIND、IFERRORを使ってください。

B2の出力例です。

excel
=IF(A2="","",IFERROR(LEFT(A2,FIND("-",A2)-1),"形式確認"))

FINDで区切り位置を求め、LEFTでその直前まで取り出します。ハイフンがないP001は「形式確認」です。全角の「-」はこの式の区切り文字と一致しません。

IFERRORは式で生じたエラーを指定の表示に置き換えます。この式では元セルのエラーなども「形式確認」になるため、原因を区別したい場合は追加の設計が必要です。

ChatGPTが返したExcelの数式を検証する手順

  1. 元ファイルのコピーか別シートに、小さな架空のテスト表を作ります。
  2. 数式を入れる前に、正常・空白・該当なし・重複の期待値を自分で書きます。
  3. 数式を指定セルへ貼り、結果を期待値と照合します。上の集計例なら件数2、合計1700です。
  4. 下へコピーする式は、コピー後の参照範囲も見ます。固定する範囲に$があるかを確認します。
  5. 一致したら実データの一部で試し、対象範囲や業務上の条件を人が確認します。

AIの説明と数式が食い違うこともあります。同じAIが作ったテストだけに頼らず、手計算した正解と照合してください。修正を頼むときは、次の形で渡します。

text
次の数式が期待と違います。
環境:[Excelのバージョン]
数式:[式をそのまま貼る]
架空の入力データ:[セル番地と値]
実際の結果:[値またはエラー名]
期待する結果:[正解]
引数と参照範囲を説明し、原因を特定して最小限の修正をしてください。
検証中はIFERRORでエラーを隠さず、修正後に必要な例外処理を戻してください。

うまくいかないときのコツと注意点

#NAME?などが出る場合は、関数の対応状況や綴りを確認し、エラー名をそのまま伝えます。結果が0や未登録になる場合は、数値と文字列の違い、前後の空白、全角・半角、範囲のずれを調べます。原因を確かめる前に一括置換するのは避けましょう。

GoogleスプレッドシートとExcelでは、使える関数や引数、配列の扱いに違いがあります。拾ってきた式を使うときも、依頼の冒頭で使用ソフトを明示してください。関数仕様を調べる入口はMicrosoftサポートです。関数名で検索し、対応環境と引数を確認します。

会社の利用ルールに従い、機密情報や個人情報は入力しません。実在の顧客名を「A社」、担当者を「担当B」などに置き換え、金額やコードも架空にします。ただし、桁数や区切り文字など、数式に必要な特徴は残します。最終的な計算結果と業務上の正しさは人が確認します。

よくある質問

関数名が分からなくてもChatGPTに聞けますか?

聞けます。「どのセルから、何を条件に、どこへ何を返すか」を書き、入力例と期待する出力を添えてください。関数の説明も求めると検証しやすくなります。

表全体をChatGPTへ渡す必要はありますか?

通常は列名・セル範囲・架空の数行で依頼できます。表の特徴を再現し、空白や重複があるならその例も加えます。不要な列や実際の顧客情報は渡しません。

古いExcelでも同じ数式を使えますか?

使える関数はバージョンによって異なります。環境を明記し、「このバージョンで使える関数に置き換えて」と依頼してください。代替式も同じテスト表で確かめます。

添付ファイル CC0 ・ 自由に持ち帰れます

  • プロンプト ・ 1.3 KB
  • プロンプト ・ 460 B

会社のデータをAIに入れる前に、社内ルールを確認しましょう。

コメント 0

まだコメントはありません。質問や、試してみた感想を書いてみませんか?