ChatGPTに作ってもらったExcel関数がエラーになる原因と直し方

Chat-GPT

「この計算をするExcelの数式を作って」とChatGPTに頼むと、あっという間に数式を返してくれます。便利な反面、その数式をそのままコピーして自分の表に貼り付けたら、エラーになったり、思っていた結果と違う値になったりした経験はありませんか?

ChatGPTに作ってもらった数式をコピペしたら「#NAME?」エラーになってしまった。。

数式自体はエラーにならないのに、自分の表に貼ると全然違う結果になる。。

ChatGPTに「合っているはず」と言われても、どこを直せばいいか分からない。。

本記事では、ChatGPTに作ってもらったExcel関数がエラーになったり、狙った結果にならなかったりする主な3つの原因と、それぞれの直し方・次からハマらない頼み方のコツを紹介します!

まず確認:主な原因は3つ

ChatGPTが作った数式がそのまま動かない原因は、ほとんどの場合、「セル番地・表の情報を伝えていない」「引用符の文字化け」「関数の対応バージョン違い」のどれかに当てはまります。順番に見分け方と直し方を確認していきましょう。

原因1:セル番地や表の中身を伝えていない

「合計を出す数式を教えて」のように大まかな指示だけを送ると、ChatGPTは実際の表を見ることができないため、「A1」「B2」のような仮のセル番地を勝手に想定して数式を作ります。自分の表と列の並びが違えば、コピペしただけではエラーになったり、見当違いのセルを参照してしまったりします。

見分け方

返ってきた数式の中に「A1」「B2:B10」のような、自分の表とは無関係そうなセル番地が使われていたら要注意です。#REF!エラーになる場合や、エラーにはならないが明らかに違う値になる場合はこのパターンです。

直し方(次からの頼み方)

  1. 数式をお願いする前に、実際の表のどの列に何が入っているかを伝える(例:「A列に商品名、B列に数量、C列に単価が入っています」)
  2. 合計や検索の対象になっているセル範囲・シート名も具体的に伝える
  3. それでも合わない場合は、返ってきた数式の中のセル番地だけを自分の表に合わせて手動で書き換える

表の情報をあらかじめ伝えておくと、ChatGPTは実際のセル番地に合わせた数式を作ってくれます。下のプロンプトの[ ]部分を自分の表に合わせて書き換えて、そのままコピペして使ってください。

Excelで数式を作ってください。

・[A列]に[商品名]、[B列]に[数量]、[C列]に[単価]が入っています
・データの範囲は[2]行目から[11]行目までです(1行目は見出し)
・やりたいこと:[単価×数量の合計をD列に出したい]

原因2:引用符が全角の「”」になっている

数式の中で文字列を指定するとき、Excelは半角の二重引用符(”)を使う必要があります。ところが、ChatGPTの回答画面からそのままコピーすると、半角の「”」が全角の「”」「“」に自動的に変換されてしまうことがあります。見た目はそっくりですが、Excelはこれを正しい引用符として認識できず、エラーの原因になります。

見分け方

数式を確定しようとしたときに「この数式には問題があります」と表示されたり、貼り付け後に#NAME?エラーになったりする場合は、数式バーの引用符をよく見比べてみましょう。文字が丸みを帯びていたり、向きが左右非対称になっていたりしたら全角の引用符です。

直し方

  1. 該当のセルをダブルクリックして数式バーを編集状態にする
  2. 全角になっている「”」「“」を一つずつ探し、半角の「”」に打ち直す
  3. 数式が複数ある場合は、「Ctrl」+「H」の置換機能で「”」→「”」(「“」→「”」)にまとめて置換すると早い

数が多いときにいちいち手直しするのは手間なので、ChatGPTに「Excelにそのまま貼り付けられるように、引用符は半角にしてください」と一言添えて頼むと、最初からこのトラブルを避けられます。

数式をお願いするメッセージの最後に、下の一文をそのまま付け加えるだけで、この引用符トラブルを未然に防げます。

Excelにそのまま貼り付けて使いたいので、数式内の引用符(")は必ず半角にしてください。全角の「”」「“」は使わないでください。

原因3:使っているExcelのバージョンに対応していない関数だった

ChatGPTは、使っているExcelのバージョンを伝えない限り、最新の関数(XLOOKUPなど)を使うこともあれば、古いバージョンでも使えるVLOOKUPなどを使うこともあり、その時々でまちまちです。会社のPCが古いバージョンのExcelなのに最新関数の数式をもらってしまうと「#NAME?」エラーになります

見分け方

数式に見慣れない関数名(XLOOKUP、FILTER、UNIQUEなど)が使われており、それを入力すると即座に#NAME?エラーになる場合は、お使いのExcelがその関数に対応していない可能性があります。

直し方

  1. 「ファイル」タブ →「アカウント」で、Excelの製品情報(Microsoft 365か、買い切り版の2016・2019などか)を確認する
  2. ChatGPTに「Excel 2019を使っているので、その環境で使える関数で作り直してください」のようにバージョンを伝えて頼み直す
  3. 会社のセキュリティポリシーで関数が制限されている場合もあるため、同じ症状が他の人にも出ていないか確認する

最初にバージョンを伝えておけば、ChatGPTはそのバージョンで動く関数を選んで数式を作ってくれるため、あとから作り直す手間がなくなります。

ここまでの3つの対策をまとめると、最初から下のようなプロンプトでお願いすれば、ほとんどの場合エラーなく一発で使える数式が返ってきます。よく使う場合はメモしておいて、[ ]部分だけ書き換えて使い回すのがおすすめです。

Excelで数式を作ってください。

【表の情報】
・[A列]に[商品名]、[B列]に[数量]、[C列]に[単価]が入っています
・データの範囲は[2]行目から[11]行目までです(1行目は見出し)

【使用環境】
・Excelのバージョン:[Microsoft 365/2019 など]

【やりたいこと】
・[単価×数量の合計をD列に出したい]

【出力形式】
・Excelにそのまま貼り付けて使いたいので、数式内の引用符(")は必ず半角にしてください

原因の見分け方・直し方まとめ

症状考えられる原因直し方
#REF!エラー、または見当違いの値になるセル番地が自分の表と合っていない(原因1)表の列構成を伝えて頼み直す/セル番地を書き換える
「数式に問題があります」と出る、#NAME?になる引用符が全角になっている(原因2)全角の「”」を半角の「”」に打ち直す・置換する(原因2)
見慣れない関数名で#NAME?になるExcelのバージョンが対応していない(原因3)バージョンを伝えて対応関数で作り直してもらう

なお、数式自体は合っているのにセルに文字としてそのまま表示されて計算されない、という別の症状に心当たりがある場合は、原因が異なります。こちらの記事で詳しく解説しているので、あわせて確認してみてください。ChatGPTの回答を貼り付けたときのトラブルとしては、表がうまく貼り付けられない場合の対処法もこちらの記事で紹介しています。

まとめ

ChatGPTに作ってもらった数式がエラーになるときは、「セル番地・表の情報を伝えていない」「引用符が全角になっている」「Excelのバージョンに対応していない」の3つを順番にチェックすれば、ほとんどの場合原因が見つかります。最初に表の列構成・使っているExcelのバージョンを伝えておくだけで、こうした手戻りをぐっと減らせるので、次にお願いするときはぜひ試してみてください。

タイトルとURLをコピーしました