#NAME?は、数式の中にExcelが認識できない単語があるという意味です。最も多いのは関数名の打ち間違いで、=SUM(B2:B6)のつもりで=SUMM(B2:B6)と書いている場合です。ほかには、引用符のない文字列、コロンのない範囲、定義されていない名前、使っているExcelのバージョンにない関数が原因になります。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Product | Price | Total | Lookup | |
| 2 | Apple | 1.2 | #NAME? | #NAME? | |
| 3 | Pear | 1.5 | |||
| 4 | Plum | 0.8 | |||
| 5 | Bread | 2.4 | |||
| 6 | Milk | 1.1 |
#NAME? 数式の中に Excel が知らない名前があります。関数のつづりを確認してください。D2をクリックしてSUMMをSUMに直すと、合計(7)が表示されます。次にE2のVLOKUPをVLOOKUPに直すと、Pearの価格1.5が返ります。
Excelで打ち間違いを手早く見つける方法があります。関数名を小文字で入力します。Enterを押すと、Excelは知っている名前を大文字に変えます(=sum(b2:b6)は=SUM(B2:B6)になります)。小文字のまま残った名前は、Excelが知らない名前です。入力中に表示される一覧から関数を選べば(Tabキーで挿入します)、打ち間違いのほとんどを防げます。
IFの数式の#NAME?: 引用符のない文字列
数式の中の文字列は、まっすぐな半角のダブルクォーテーションで囲む必要があります。囲まないと、ExcelはPassを何かの名前として読み、見つけられません。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Student | Score | Without quotes | With quotes |
| 2 | Ana | 72 | #NAME? | Pass |
| 3 | Ben | 45 | Fail | |
| 4 | Cy | 88 | Pass | |
| 5 | Dee | 50 | Pass |
#NAME? 数式の中に Excel が知らない名前があります。関数のつづりを確認してください。C2は#NAME?を表示します。D2は引用符を付けた同じ数式で、どの生徒でも動きます。文字列の条件にも同じ規則が当てはまります。=COUNTIF(A2:A6,North)は#NAME?ですが、=COUNTIF(A2:A6,"North")は数えます。数値、セル参照、TRUE/FALSEには引用符を付けません(IF関数を参照)。
曲がった引用符も同じエラーの原因になります。Webページ、メール、Wordからコピーした数式には、"Pass"の代わりに“Pass”が入っていることがよくあります。Excelは曲がった引用符を引用符として扱いません:
=IF(B2>=50,“Pass”,“Fail”) #NAME?
=IF(B2>=50,"Pass","Fail") Pass
曲がった引用符をそれぞれ削除して、Excelで入力し直してください。
コロンのない範囲
B2B6は範囲ではなく単語なので、ExcelはB2B6という名前を探します。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Month | Sales | Total | |
| 2 | Jan | 120 | #NAME? | |
| 3 | Feb | 95 | ||
| 4 | Mar | 140 | ||
| 5 | Apr | 110 |
#NAME? 数式の中に Excel が知らない名前があります。関数のつづりを確認してください。D2をクリックしてコロンを足し、数式を=SUM(B2:B5)にすると、465が返ります。
定義されていない名前
数式ではセルの代わりにTaxRateのような名前を使えますが、それはその名前が存在してからの話です。作られていない、削除された、綴りが違う、のどれかだと、数式は#NAME?を返します。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Item | Price | With a name | With a cell | Tax rate | |
| 2 | Desk | 240 | #NAME? | 288 | 20% | |
| 3 | Chair | 85 | 102 | |||
| 4 | Lamp | 40 | 48 |
#NAME? 数式の中に Excel が知らない名前があります。関数のつづりを確認してください。C2はこのブックに存在しないTaxRateを参照しています。D2は代わりにF2を指しているので動き、机は288になります。$によって、数式を下にコピーしてもF2が固定されます。
Excelで名前を作るには、F2を選択して名前ボックス(A列の上、数式バーの左にある欄)にTaxRateと入力してEnterを押すか、数式 > 名前の定義を使います。数式 > 名前の管理には、ブックのすべての名前と、それが指す場所、セルが削除されて#REF!を指している名前が表示されます。名前には適用範囲もあります。Sheet1だけに定義した名前は、Sheet2では#NAME?になります。
使っているExcelには新しすぎる関数
Excelは、持っていない関数にはすべて#NAME?を表示します。ファイルは問題なく開きますが、新しい関数を使う数式はすべて失敗します。Excel 2019以前では、数式バーでそうした関数に_xlfn.という接頭辞が付きます:
=_xlfn.XLOOKUP(E2,A2:A6,B2:B6) #NAME? in Excel 2019
=INDEX(B2:B6,MATCH(E2,A2:A6,0)) works in every version
| 関数 | 必要なバージョン |
|---|---|
| IFS、SWITCH、MAXIFS、MINIFS、CONCAT、TEXTJOIN | Excel 2019以降 |
| XLOOKUP、XMATCH、FILTER、UNIQUE、SORT、SORTBY、SEQUENCE、LET | Excel 2021かMicrosoft 365 |
| TEXTSPLIT、TEXTBEFORE、TEXTAFTER、VSTACK、HSTACK、TAKE、DROP | Excel 2024かMicrosoft 365 |
| REGEXTEST、REGEXEXTRACT、GROUPBY、PIVOTBY | Microsoft 365のみ |
ファイルを開く人が古いExcelを使っているなら、古い関数だけを使うか、結果を値として送ります(コピーしてからホーム > 貼り付け > 値)。Excel for the webには最新の関数があります。Googleスプレッドシートはそのほとんどを同じ名前で知っています。アドインの関数(ユーロ通貨ツールのEUROCONVERTや社内のアドイン)も、アドインが有効でないと#NAME?になります。ファイル > オプション > アドイン(Macではツール > Excelアドイン)で有効にします。
#NAME?になるCOUNTIFを直す
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Order | Region | Amount | North orders | |
| 2 | 1001 | North | 250 | ||
| 3 | 1002 | South | 120 | ||
| 4 | 1003 | East | 310 | ||
| 5 | 1004 | North | 90 | ||
| 6 | 1005 | North | 140 | ||
| 7 | 1006 | West | 75 |
やってみよう: 数式=COUNTIF(B2:B7,North)は、Northに引用符がないので#NAME?を返します。E2に、Northの注文を数える動く数式を書いてください。
数える文字列がセルにあるなら、そのセルを参照して引用符を外します。G1にNorthがあれば=COUNTIF(B2:B7,G1)です。参照には引用符が要らず、G1が変わっても数式は動き続けます。
よくある質問
Excelの#NAME?はどういう意味ですか?
Excelが、関数でも定義された名前でもセル参照でもない単語を数式の中に見つけたという意味です。よくある原因は、関数名の打ち間違い(=SUMM(B2:B6))、引用符のない文字列(=IF(B2>50,Pass,Fail))、インストールされているExcelのバージョンにない関数です。
ExcelでXLOOKUPが#NAME?になるのはなぜですか?
XLOOKUPにはExcel 2021かMicrosoft 365が必要です。Excel 2019以前はXLOOKUPを知らないので#NAME?を表示し、数式を=_xlfn.XLOOKUP(...)と表示します。そこでは代わりに=INDEX(C2:C6,MATCH(E2,A2:A6,0))を使います。
数式が正しいのに#NAME?になるのはなぜですか?
Webページやワープロからコピーした引用符がないか確かめてください。“Pass”のような全角や曲がった引用符はExcelでは文字列の区切りではないので、その間の単語が名前として読まれます。Excelでまっすぐな半角の引用符"Pass"を入力し直します。
ブックの中の#NAME?エラーをすべて探すには?
Ctrl+G(MacではControl+G)を押してセル選択をクリックし、数式を選んでエラー値だけにチェックを残し、OKをクリックします。Excelはアクティブなシートでエラーのある数式のセルをすべて選択するので、シートごとに繰り返します。数式 > 名前の管理 > フィルター > エラーのある名前で、もう使えなくなった定義済みの名前が一覧になります。