Excelで実現したい処理は頭の中にあっても、それをどの関数でどう組み立てればよいか分からず、手が止まってしまうことがあります。この記事では、ChatGPTを使ってExcel関数を作る方法を解説します。やりたい処理を正確に伝えるコツから、関数式を作成する手順、IF関数やXLOOKUPを作るときの伝え方、エラーが出た際の修正方法、そしてシートへ適用する前に確認すべきポイントまで、そのまま使える指示文とあわせて順を追って紹介します。
関数の書き方を暗記していなくても、実現したい処理を具体的に伝えることで、目的に合った数式を作成できます。
ChatGPTでExcel関数を作る前に整理すること
関数の作成を依頼する前に、いくつかの情報を整理しておくことで、精度の高い数式を得やすくなります。
入力データと欲しい結果を整理する
まず、手元にある入力データと、その処理を通じて欲しい結果を整理します。「どのようなデータから、どのような結果を得たいのか」を明確にしておくことで、後でChatGPTに伝える内容がぶれにくくなります。
対象セルや列の位置を確認する
処理の対象となるセルや列の位置を確認します。実際のシート上での位置関係を把握しておくことで、ChatGPTに数式を依頼する際に、具体的なセル範囲を伝えやすくなります。
確認するのは、見出し行の位置、データの範囲、数式を入れるセルの3点です。
Excelのバージョンと利用できる関数を確認する
使用しているExcelのバージョンによって、利用できる関数が異なる場合があります。例えば、XLOOKUP関数は比較的新しいバージョンで追加された関数のため、事前に自分の環境で使えるかどうかを確認しておくと、後から使えない関数を提案されるすれ違いを防げます。
使える環境の対応は次のとおりです(2026年9月時点)。
| 関数 | 使える環境 | 使えない場合の代わり |
|---|---|---|
| XLOOKUP | Microsoft 365、Office 2021以降 | VLOOKUP、INDEX+MATCH |
| IFS | Microsoft 365、Office 2019以降 | IFの入れ子 |
| TEXTJOIN | Microsoft 365、Office 2019以降 | CONCATENATEや&で連結 |
| IFERROR | Excel 2007以降 | ISERROR+IF |
やりたい処理をChatGPTへ正確に伝える方法
整理した情報をもとに、ChatGPTへの依頼を組み立てます。
条件を日本語で具体的に書く
実現したい条件を、専門用語を使わず、日本語で具体的に書きます。「点数が80点以上なら合格、それ以外は不合格と表示したい」のように、条件と結果の関係を明確に伝えることで、意図に合った数式を提案してもらいやすくなります。
ここまでで整理した内容を、次の形に流し込むとそのまま依頼文になります。以下はAIに送るプロンプトです。コピペして使ってください。
Excelの数式を作ってください。
・使用環境:Microsoft 365版のExcel(Windows)
・データ:1行目が見出し、A列が氏名、B列が点数、データはA2からB200
・数式を入れるセル:C2(C200までコピーします)
・やりたいこと:B列が80以上なら「合格」、80未満なら「不合格」と表示する
・例外の扱い:B列が空欄のときは何も表示しない
・条件:数式だけを1行で返し、使った関数の役割を1文ずつ補足してください。
セル範囲と列の意味を伝える
数式で使用するセル範囲が、それぞれ何を表しているのかをあわせて伝えます。「A列が氏名、B列が点数」のように、列の意味を伝えておくことで、ChatGPTが正しい位置を参照する数式を組み立てやすくなります。
あわせて空欄や文字列の扱いも書き添えます。書かないと空欄の行も「不合格」と表示されます。先の例なら =IF(B2="","",IF(B2>=80,"合格","不合格")) が返ります。
複数条件がある場合は優先順を示す
複数の条件を扱う処理の場合は、条件が重なったときにどちらを優先するかを示します。優先順があいまいなまま複数条件を伝えると、意図と異なる判定を行う数式になってしまうことがあります。
条件が3つ以上あるときは、判定の順番を先に整理させると数式が短くなります。以下はAIに送るプロンプトです。コピペして使ってください。
Excelの数式を作る前に、判定の順番を整理してください。条件を箇条書きで渡します。条件は3点です。(1)条件が重なる組み合わせを挙げ、どちらを先に判定すべきかを理由付きで示す、(2)上から順に判定する形に並べ替えた一覧を作る、(3)どの条件にも当てはまらない行の扱いが決まっていない場合は「未定義」と書く。数式はまだ作らないでください。
【以下、追加したい内容を記載してください】
※【 】の行は削除し、自分の情報に置き換えてから送信してください。
Excel以外も含めてChatGPTを業務で使い始める手順は、ChatGPTを仕事で使う方法で業務別に解説しています。
ChatGPTで関数式を作成する手順
依頼の準備ができたら、実際に関数式を作成する手順に進みます。
条件から候補の数式を作らせる
整理した条件をもとに、ChatGPTに数式の候補を作らせます。一つの候補だけでなく、複数の関数を使った候補を出してもらうことで、状況に合った方法を比較して選べます。
「同じ処理を2通りの関数で書いてください」と付け加えると、3段階の判定なら =IF(B2>=80,"A",IF(B2>=60,"B","C")) と =IFS(B2>=80,"A",B2>=60,"B",TRUE,"C") が並び、読みやすさならIFS、古い環境ならIFの入れ子を選べます。
数式を構成する関数の意味を説明させる
提示された数式に含まれる各関数が、どのような意味と役割を持っているのかを説明してもらいます。数式の構造を理解しておくことで、後から自分で微調整が必要になった際にも対応しやすくなります。
サンプル値で期待結果になるか確認する
実際にシートへ入力する前に、簡単なサンプル値を使って、期待した結果になるかを確認します。サンプル値で試すことで、本番のデータに適用する前に、数式の誤りに気づきやすくなります。 関数では対応しきれない繰り返し処理を自動化したい場合は、ChatGPTでExcel VBA・マクロを作る方法でコードの作り方と修正手順を解説しています。
試す値は条件の境界を含めます。「80以上」なら79・80・81に空欄と文字列を加えた5パターンです。
パターンそのものを出させると、確認の抜けが減ります。以下はAIに送るプロンプトです。コピペして使ってください。
作った数式を検証するためのテストケース表を作ってください。数式と、そこで使っている条件を渡します。条件は3点です。(1)条件の境界をまたぐ値を必ず入れる、(2)空欄・文字列・0・マイナス・全角数字を1行ずつ入れる、(3)各行に「期待する結果」と「この行で確かめたいこと」を書く。表は「入力値」「期待する結果」「確かめたいこと」の3列でお願いします。
【数式】ここに記載してください
【条件】ここに記載してください
※【 】の行は削除し、自分の情報に置き換えてから送信してください。
IF関数をChatGPTで作るときの伝え方
条件によって表示内容を変えたい場合によく使われるIF関数は、伝え方にポイントがあります。
判定条件と返したい値を分けて伝える
判定したい条件と、条件を満たした場合・満たさない場合にそれぞれ返したい値を、分けて明確に伝えます。条件と結果が入り混じった伝え方をすると、ChatGPTが意図を正しく汲み取れないことがあるため、要素ごとに整理して伝えます。
複数条件は分岐の順番を明確にする
複数の条件を段階的に判定したい場合は、どの条件から順に確認するのかを明確に伝えます。「まずA条件を確認し、満たさない場合はB条件を確認する」のように、分岐の順番を示すことで、意図した通りの判定を行う数式になりやすくなります。
先に書いた条件が優先されるため、「90以上はA、80以上はB」を逆の順で書くと95点もB判定になります。同時に満たす条件はANDを使う形(=IF(AND(B2>=80,C2="済"),"合格","保留"))になります。
XLOOKUPをChatGPTで作るときの伝え方
指定した値をもとに別の表から情報を探すXLOOKUP関数についても、伝え方を確認します。
検索する値と検索範囲を伝える
何の値をもとに検索したいのか、そしてどの範囲の中から探したいのかを、具体的に伝えます。検索する値と検索範囲の対応関係が正確に伝わっていないと、意図した結果を返す数式になりません。
XLOOKUPは「何を探すか」「どこから探すか」「どこの値を返すか」を別々に指定する関数で、=XLOOKUP(A2,商品マスタ!$A$2:$A$500,商品マスタ!$C$2:$C$500,"該当なし") のような形です。検索範囲と戻り範囲は行数を揃えます。
別シートを参照する形は引数が長くなるため、シート名と列の対応を渡して作らせるほうが確実です。以下はAIに送るプロンプトです。コピペして使ってください。
Excelの検索用の数式を作ってください。
・使用環境:Microsoft 365版のExcel(Windows)
・検索する値:Sheet1のA2(商品コード)。A200までコピーします
・探す先:「商品マスタ」シートのA列(商品コード)、データはA2からC500
・返したい値:同じ行のC列(単価)
・見つからない場合:「該当なし」と表示する
・条件:XLOOKUPを使う案と、XLOOKUPが使えない環境向けの案を1つずつ示し、範囲を$で固定した理由を1文で補足してください。
返したい列と見つからない場合の処理を指定する
検索が一致した場合に、どの列の値を返したいのかを指定します。あわせて、該当するデータが見つからなかった場合にどう表示したいか(例えば「該当なし」と表示するなど)も指定しておくと、実務で使いやすい数式に仕上がります。
XLOOKUPは4つ目の引数に見つからない場合の値を書けます。VLOOKUPで代替するなら =IFERROR(VLOOKUP(A2,商品マスタ!$A$2:$C$500,3,FALSE),"該当なし") のようにIFERRORで囲みます。
関数エラーをChatGPTで修正する方法
数式を入力した際にエラーが表示された場合の対処方法を確認します。エラー種別ごとの原因切り分けと修正は、Excelエラーの直し方で確認できます。
表示されたエラー内容をそのまま伝える
Excel上に表示されたエラーの内容や記号を、そのままChatGPTに伝えます。エラーの種類によって原因が異なるため、正確な情報を伝えることで、的確な修正案を得やすくなります。
主なエラー表示と、多い原因は次のとおりです。
| 表示 | 多い原因 |
|---|---|
| #N/A | 検索値が検索範囲に存在しない。前後の空白や全角半角の違いも含む |
| #REF! | 参照していたセルや行が削除された |
| #VALUE! | 数値を求める箇所に文字列が入っている |
| #DIV/0! | 割る側のセルが空欄またはゼロ |
| #NAME? | 関数名の綴り誤り、またはそのバージョンに存在しない関数 |
元の数式と期待する結果を合わせて示す
エラーが出ている元の数式と、本来期待していた結果を、あわせてChatGPTに示します。エラーの内容だけでなく、意図していたゴールも伝えることで、単なるエラー解消にとどまらない、目的に合った修正を受けられます。
以下はAIに送るプロンプトです。コピペして使ってください。
Excelの数式でエラーが出ます。原因と修正後の数式を教えてください。
・入力した数式:=VLOOKUP(A2,商品マスタ!A:C,3,FALSE)
・エラー表示:#N/A
・期待する結果:A2の商品コードに対応する単価を返す。見つからない場合は「該当なし」
・気づいている点:一部の行だけエラーになる
・条件:エラーを隠すのではなく、原因を特定したうえで修正してください。
「エラーを隠すのではなく」の一文が重要です。これがないと、IFERRORで包んだだけの数式が返ります。
修正箇所の理由を確認して再テストする
修正案が出たら、どこをどう直したのか、その理由を確認します。理由を理解したうえでサンプル値で再度テストし、正しく動作するかを確かめてからシートへ反映します。
作成されたExcel関数をシートへ適用する前の確認
ChatGPTが作成した数式は、実際のシートに反映する前に、いくつかの点を確認します。数式を処理単位へ分解して参照先を確認する方法は、長い数式の読み解き方で確認できます。
相対参照と絶対参照が正しいか確認する
数式内のセル参照が、相対参照と絶対参照のどちらで指定されているかを確認します。コピーして使う数式の場合、参照方法が正しくないと、意図しないセルを参照してしまうことがあります。
下にコピーしても動いてほしくない参照には $ を付けます。マスタの範囲は $A$2:$C$500 と完全に固定し、行ごとに変わる検索値は A2 のままです。数式バーで参照を選び[F4]キーで形式を切り替えられます。
コピーしたときに参照範囲が崩れないか確認する
数式を他のセルへコピーする予定がある場合は、コピーした際に参照範囲が崩れないかを確認します。特に検索範囲や集計範囲を指定する数式では、この確認を怠ると、コピー先で誤った結果を返す原因になります。
確認は、最後の行にコピーしたセルの数式を見ます。2行目で $A$2:$C$500 だった範囲が200行目で $A$200:$C$698 にずれていれば固定が抜けています。
元データの一部で手計算して結果を照合する
数式をシートに反映する前に、元データの一部を使って手計算し、数式が返す結果と照合します。この確認を行うことで、数式自体の誤りだけでなく、伝えた条件の解釈違いにも気づきやすくなります。
どこを手計算すれば足りるかは、数式の構造から絞れます。
以下はAIに送るプロンプトです。コピペして使ってください。
次の数式について、手計算で照合すべき行を選んでください。条件は3点です。(1)全行ではなく、確認すれば十分と言える3行から5行を選ぶ、(2)各行について「この行で何を確かめられるか」を1行で書く、(3)手計算の手順を、数式の中の処理を分解した形で示す。データの中身は渡さないので、行の選び方の基準で答えてください。
【以下、数式を記載してください】
※【 】の行は削除し、自分の情報に置き換えてから送信してください。
まとめ
ChatGPTでExcel関数を作るには、入力データと欲しい結果、対象セルの位置、利用できる関数の確認から始め、条件や範囲の意味を具体的に伝えることが基本になります。IF関数では判定条件と返す値を分けて伝え、XLOOKUPでは検索する値・範囲・返したい列を明確にすることで、意図に合った数式を作成しやすくなります。
依頼文に入れるのは、使用環境・データの範囲と列の意味・数式を入れるセル・やりたいこと・空欄や例外の扱いの5点です。エラーが出た場合は、入力した数式・エラー表示・期待する結果の3点を伝えます。適用前には、$ の付け方と最終行での参照範囲、数行の手計算による照合を確認してください。Excel業務全体の効率化は、AIでExcel業務を効率化する方法で解説しています。
よくある質問
Q. 関数の名前が分からなくても数式を作ってもらえますか。
関数名を知らなくても、実現したい処理を日本語で具体的に伝えれば、適した関数を使った数式を提案してもらえます。
Q. 複雑な数式ほどエラーが直りにくいのはなぜですか。
複雑な数式は、条件や参照範囲の解釈にズレが生じやすいためです。エラー内容と期待する結果をできるだけ具体的に伝えることで、修正の精度を高められます。
Q. 提案された関数が自分のExcelで使えませんでした。どうすればよいですか。
「XLOOKUPが使えないため、VLOOKUPかINDEXとMATCHで同じ処理を書いてください」と伝えれば、同じ結果の数式が返ってきます。