Excelの#NAME?エラーを修正する — 関数名のタイポまたは数式内の引用符の欠落

beginner📊 Microsoft Excel2026-05-09| Microsoft Excel 2016、2019、2021、Microsoft 365 — WindowsおよびmacOS

Error Message

#NAME?
#excel#数式#構文#name-error

エラーの内容

数式を入力しても結果が表示されず、セルに #NAME? が表示されます。Excelが数式内の何かを認識できない状態です。主な原因は、見つけられない関数名、引用符のないテキスト文字列、存在しない名前付き範囲などです。

=SUMF(A1:A10)        → #NAME?
=VLOOKUP(A1,B:C,2)   → works fine
=VLOOKUP(A1,B:C,2,0) → works fine
=COUNTIF(A1:A10,yes) → #NAME?  ← "yes" needs quotes

根本原因

Excelは数式内で解決できないトークンに遭遇すると #NAME? をスローします。主な原因は以下の通りです:

  • 関数名のタイポ=SUMIF は動作しますが、=SUMF は間違いです(Excelの関数名は大文字小文字を区別しませんが、SUMF は存在しない関数です)
  • ダブルクォートなしのテキスト値=COUNTIF(A:A,yes)yes"yes" とすべきです
  • 存在しない名前付き範囲 — 削除されたか、一度も定義されていない名前を参照している
  • 範囲参照のコロン抜け=SUM(A1:A10) とすべきところを =SUM(A1A10) と記述している
  • 使用中のExcelバージョンで利用できない新しい関数 — Excel 2016での XLOOKUPLETSEQUENCE など
  • アドインが読み込まれていない状態でアドイン関数を使用 — アドインがオフの場合の NETWORKDAYS などのAnalysis ToolPak関数(旧バージョンのExcel)
  • ストレートクォートの代わりにカーリークォートを使用 — WordやWebページからの貼り付けで """ に置き換わることがある

修正方法

1. 関数名のスペルを確認する

関数名を入力し始めると、Excelのオートコンプリートが候補を表示します。何も表示されない場合、関数名が間違っています。

Wrong:  =AVERGEIF(A1:A10,">0")
Right:  =AVERAGEIF(A1:A10,">0")

Wrong:  =CONCATINATE(A1,B1)
Right:  =CONCATENATE(A1,B1)
        -- or in M365: =CONCAT(A1,B1)

セルをクリックすると、数式バーで認識されない部分が赤くアンダーラインで表示されます。そこが修正すべき箇所です。

2. テキスト値をダブルクォートで囲む

数式内のリテラルテキストは、必ずストレートダブルクォート "" で囲む必要があります。

Wrong:  =IF(A1=yes,"OK","No")
Right:  =IF(A1="yes","OK","No")

Wrong:  =COUNTIF(B:B,complete)
Right:  =COUNTIF(B:B,"complete")

Wrong:  =VLOOKUP(A1,Sheet2!B:D,2,false)
Right:  =VLOOKUP(A1,Sheet2!B:D,2,FALSE)  ← FALSE はキーワードであり、テキストではない
        -- or: =VLOOKUP(A1,Sheet2!B:D,2,0)

注意:TRUEFALSE はExcelのキーワードであるため、クォートは不要です。数値もクォートは必要ありません。

3. カーリークォート/スマートクォートを修正する

WebサイトやWordドキュメントから数式をコピーした場合、クォートがストレート("")ではなく、印刷用("")になっている可能性があります。Excelはこれを受け付けません。

Bad (curly):   =IF(A1="done",1,0)   ← " and " characters
Good (straight): =IF(A1="done",1,0)  ← standard " characters

修正方法:数式を削除してExcel上で直接再入力するか、カーリークォートをストレートクォートに検索・置換してください。

4. 名前付き範囲を確認または再定義する

数式が =SUM(SalesData) のように名前を参照していて、SalesData が削除されたか名前が変更された場合:

  • 数式 → 名前の管理(Ctrl+F3)に移動する
  • 名前が存在し、正しい範囲を指しているか確認する
  • 存在しない場合は、新規作成をクリックして再作成する
  • 名前にエラー(#REF! と表示)がある場合は、削除して再定義する
-- 数式で名前付き範囲を定義するには:
-- 範囲 A1:A100 を選択し、数式 → 名前の定義 → "SalesData" と入力
-- これで =SUM(SalesData) が機能するようになる

5. 範囲のコロン抜けを修正する

Wrong:  =SUM(A1A10)
Right:  =SUM(A1:A10)

Wrong:  =AVERAGE(B2B50)
Right:  =AVERAGE(B2:B50)

6. 互換性のある関数を使用するかアドインを有効にする

XLOOKUPLETUNIQUESEQUENCEFILTER#NAME? を返す場合、お使いのExcelバージョンはこれらの動的配列関数をサポートしていません。

  • XLOOKUPVLOOKUP または INDEX/MATCH に置き換える
  • LET → 変数代入なしで数式を再構成する
  • UNIQUE/SEQUENCE/FILTER → 旧バージョンのExcelには直接の代替手段なし。Microsoft 365へのアップグレードを検討してください

Analysis ToolPak関数(旧バージョンのExcel)の場合:ファイル → オプション → アドイン → Excelアドイン → 設定 → Analysis ToolPak にチェック → OK

7. テキスト結合でのアンパサンドとプラスの使い分けを確認する

Wrong:  ="Hello "+A1    ← Excelでは + 演算子はテキストを結合しない
Right:  ="Hello "&A1

通常これは #VALUE! になりますが、Excelが曖昧に解析した場合に #NAME? が発生することもあります。

クイック診断のコツ

#NAME? が表示されているセルをクリックし、F2 キーを押して編集モードに入ります。Excelは数式の各部分を色分けして表示します。範囲が青・緑・紫に色付けされる中で、色がつかずにそのままの部分が認識されていないトークンです。そこに注目してください。

また、セルの横に表示される警告の三角アイコンをクリックすると、**「このエラーのヘルプ」**から具体的な問題が特定できる場合があります。

確認方法

修正を適用した後:

  • Enterキーを押す — セルに #NAME? ではなく、数値またはテキストの結果が表示されるはずです
  • 数式が複数のセルにまたがる場合(配列数式またはスピル範囲)、範囲内のすべてのセルが正しく解決されているか確認する
  • 数式 → エラーチェックを使用して、シート全体に残っているエラーをスキャンする

予防策

  • 関数名は必ずExcel上で直接入力する — 外部ソースからのコピーは再入力なしに使用しない
  • 関数の挿入ダイアログ(Shift+F3)を使用して、引数の入力ガイド付きで関数を参照・挿入する
  • ブックをアップグレードまたは共有する際は、受け取り側が使用するExcelのバージョンを確認する — 動的配列関数(M365)はExcel 2016/2019では動作しません
  • 名前付き範囲を定義したら、誤って削除されないよう専用のシートに記録しておく

Related Error Notes