Excel関数のNAMEエラーの対処法をお探しですね。

広告

Excelの「#NAME?」エラーって何?よくある原因と直し方をやさしく解説

Excelで数式を入力したとき、計算結果の代わりに「#NAME?」って表示されたことはありませんか?これが出ると計算できないだけじゃなく、どこが間違ってるのかもわかりにくくて困りますよね。

特に、関数の名前を何度見直しても間違いが見つからなかったり、文字を使った数式でエラーが出たりすると、初心者の人ほど「どうすればいいの?」と悩んでしまいます。

この記事では、Excel の「#NAME?」エラーがなぜ起こるのか、その意味をわかりやすく整理して、関数名の打ち間違いやダブルクォーテーションの付け忘れ、名前の定義、Excelのバージョンの違いなど、実際によくある原因と確認のポイントを丁寧に説明していきます。

「#NAME?」エラーって、どういう意味?

Excelで「#NAME?」エラーが出るのは、数式の中に書いた文字をExcelが「名前」として理解しようとしたけど、その名前が見つからなかったときです。

ここでいう「名前」っていうのは、関数の名前だったり、自分で付けた範囲の名前だったり、テーブルの名前だったり、数式の中で使われている言葉のことを指します。

簡単に言うと、Excelが「この言葉、何のことかわかりません」って言ってる状態なんです。

例えば、本当は「=SUM(A1:A10)」って入力しないといけないのに、うっかり「=SAM(A1:A10)」って打っちゃったとします。

すると、Excelには「SAM」なんて関数は存在しないので、「#NAME?」が表示されるわけです。

あと、文字として扱いたい言葉をダブルクォーテーション(“)で囲まないで入力した場合も、Excelはその文字を名前か関数の一部だと思い込もうとします。

でも該当する名前が見つからないから、結局「#NAME?」エラーになっちゃうんです。

このエラーは、計算に使う数字そのものが間違ってるというより、数式の書き方や参照先の指定がおかしいときに出てきます。

だから、セルの値をいきなり変えるんじゃなくて、まずは数式バーを見て、どの部分をExcelが理解できてないのか探すのが大事です。

エラーの意味を知っておけば、原因が「打ち間違い」なのか「文字の扱い方」なのか「名前の定義」なのか「Excel環境」なのか、見当をつけやすくなりますよ。

関数名の打ち間違いとExcelのバージョン違いをチェックしよう

「#NAME?」エラーで一番多い原因は、関数名の打ち間違いです。

Excelの関数は、SUM、AVERAGE、VLOOKUP、IF、COUNTIFみたいに、決まった名前で入力しないといけません。

1文字でも違ってたり、余計な記号が入ってたりすると、Excelはそれを正しい関数として認識できないんです。

特に手で入力してるときや、ネットで見つけた数式をコピーして一部だけ書き換えたときに起こりやすいミスですね。

関数名を確認するときは、入力の途中で出てくる関数候補を活用するとミスが減ります。

例えば「=VL」って入力すると、使える関数の候補がズラッと表示されるので、そこから選べば打ち間違いを防げます。

あと、カッコの位置や引数を区切るカンマもちゃんと確認しましょう。

関数名自体は合ってても、数式のどこかに変な文字が混ざってると、Excelが別の名前だと思い込んじゃうことがあります。

もう一つ気をつけたいのが、Excelのバージョンや使ってる環境の違いです。

Microsoft 365やExcel 2021以降で使える新しい関数を、古いExcelで開くと「#NAME?」になることがあるんです。

例えば、XLOOKUP、FILTER、UNIQUE、SORTなんかの関数は、環境によっては使えません。

自分のExcelではちゃんと動く数式でも、別の人にファイルを渡したときにエラーになるケースがあるので、共有するファイルでは相手のExcelバージョンも確認しておくと安心です。

チェックしたいポイントはこんな感じです。

– 関数名の綴りは正しいか
– 使ってる関数が自分のExcelに対応してるか
– コピーした数式に余計な空白や見えにくい記号が混ざってないか
– アドインの関数を使ってる場合、そのアドインが有効になってるか

特に仕事で作られたファイルだと、分析ツールや独自のアドインの関数が使われてることもあります。

作った人のパソコンでは普通に計算できても、別の環境ではその関数を認識できなくて「#NAME?」エラーになることがあるんです。

関数名が正しいのに直らない場合は、Excelの機能の違いやアドインの有無まで疑ってみましょう。

ダブルクォーテーション忘れ・名前の定義・参照範囲が原因のパターン

「#NAME?」エラーは、関数名だけじゃなくて、文字列の入力ミスでもよく起こります。

Excelの数式の中で文字をそのまま表示したり、条件として文字列を指定したりするときは、基本的にダブルクォーテーション(“)で囲まないといけません。

例えば「=IF(A1=完了,1,0)」って入力すると、Excelは「完了」を文字列じゃなくて名前として探そうとします。

でも「完了」っていう名前が定義されてなければ、「#NAME?」エラーになっちゃうんです。

正しくは「=IF(A1=”完了”,1,0)」みたいに入力します。

COUNTIF関数やSUMIF関数でも同じで、文字列の条件を指定するときは「”東京”」「”済”」「”>=100″」みたいに、条件全体をダブルクォーテーションで囲む必要があります。

見た目はちょっとした違いですけど、Excelにとっては「文字として扱うのか」「名前として扱うのか」が変わる大事な記号なんです。

あと、名前の定義や名前付き範囲が原因になることもあります。

Excelには、A1:A10みたいな範囲に「売上」とかの名前を付けて、数式の中で「=SUM(売上)」みたいに使える機能があります。

この名前付き範囲を削除しちゃったり、別のファイルから数式だけコピーしたりすると、数式の中の名前が見つからなくなって、「#NAME?」エラーが表示されます。

名前の定義を使ってないつもりでも、テンプレートや共有ファイルには設定されてることがあるので注意が必要です。

文字列や名前の定義が関係してる場合は、こんな例を確認すると原因を見つけやすいです。

– 「=IF(A1=東京,〇,×)」みたいに文字列をクォーテーションで囲んでない
– 「=SUM(売上範囲)」の「売上範囲」が名前の定義に存在しない
– 別のファイルから数式をコピーしたときに、元のファイル側の名前付き範囲だけが残ってる
– テーブル名や列名を変更したせいで、構造化参照が壊れてる

ちなみに、クォーテーションは半角のダブルクォーテーションを使うのが基本です。

全角の引用符や、Wordとかからコピーした装飾付きの引用符が混ざると、数式として正しく読み取られない場合があります。

見た目が似てても、Excel上では別の文字として扱われることがあるので、数式の中の記号はできるだけExcel上で直接入力するか、正しい半角記号に直しましょう。

「#NAME?」エラーを素早く直す手順と、もう出さないための工夫

「#NAME?」エラーを直すときは、思いつきで数式を大きく書き換えるより、原因を順番に確認していく方が安全です。

まず数式バーを開いて、エラーになってるセルの数式を見てみましょう。

それから、関数名、文字列のクォーテーション、名前の定義、使えない関数の順にチェックしていくと、原因を見落としにくくなります。

複雑な数式でも、どこか一部分だけがExcelに認識されてないことが多いので、焦らず分解して確認してみてください。

具体的には、関数名を手入力してる場合は候補表示と照らし合わせて、文字列の条件がある場合はダブルクォーテーションがちゃんと付いてるか確認します。

名前付き範囲を使ってる可能性がある場合は、Excelの「数式」タブにある「名前の管理」を開くと、定義されてる名前を確認できます。

そこで数式に出てくる名前が存在しない場合は、正しいセル範囲に置き換えるか、名前を作り直しましょう。

同じエラーを繰り返さないためには、数式の入力方法をちょっと工夫するだけでも効果があります。

関数は候補から選ぶ、文字列の条件は必ず「”文字”」の形にする、人に渡すファイルでは新しい関数が使えるか確認する、といった基本を守ることが大切です。

あと、複雑な数式を作るときは、一気に完成形を入力するんじゃなくて、途中の計算を別のセルに分けると原因を見つけやすくなります。

Excelのエラーには「#VALUE!」「#REF!」「#DIV/0!」とかいろいろありますけど、「#NAME?」は特に「Excelが数式の中の名前を認識できない」ことを示すエラーです。

この意味を押さえておけば、関数名の打ち間違いだけじゃなくて、クォーテーション忘れ、削除された名前付き範囲、未対応の関数なんかにも目を向けられます。

エラー表示だけ見ると難しそうですけど、原因は入力や環境の確認で解決できるものがほとんどなんです。

仕事で同じエラーを何度も起こさないためには、よく使う関数の正しい書き方を覚えるだけじゃなくて、数式をコピーしたときの参照先や、ファイルを開くExcel環境にも気を配りましょう。

特に共有資料や引き継ぎファイルでは、名前の定義やアドインの関数が隠れた原因になりやすいです。

「#NAME?」エラーが出たら「何かの名前をExcelが見つけられてないんだな」って考えて、関数名、文字列、名前の定義、バージョンの順に確認していけば、短い時間で原因にたどり着けますよ。

広告