※本ページにはプロモーション(広告)が含まれています
Excelの名前付き範囲が突然使えない・エラーになって困っていませんか?
Excelの「名前付き範囲」は、セル範囲に分かりやすい名前を付けることで、数式を読みやすくしたり、複数シートをまたいでデータを参照したりできる便利な機能です。しかし、ある日突然「名前が使えない」「#REFエラーが出る」「名前の管理ダイアログでエラーが表示される」といったトラブルが起きることがあります。
この記事では、Excelの名前付き範囲が使えない・エラーになる主な原因を6〜8パターン紹介し、それぞれの具体的な対処法を初心者にもわかりやすく解説します。名前付き範囲の活用テクニックも紹介しますので、ぜひ最後までお読みください。
この記事でわかること
- 名前付き範囲の基本的な仕組みとメリット
- 名前付き範囲がエラーになる主な原因(6〜8パターン)
- 各エラーに対する具体的な解決手順
- 名前付き範囲を上手に使いこなすテクニック
- よくある質問(FAQ)

名前付き範囲とは?基本と主なメリット
「名前付き範囲」とは、Excelのセルまたはセルのまとまりにわかりやすい名前を付けて、数式やマクロ内でその名前を使って参照できるようにする機能です。
名前付き範囲の基本的な仕組み
たとえば、A1〜A10のセル範囲に「売上データ」という名前を付けると、数式の中で =SUM(A1:A10) の代わりに =SUM(売上データ) と書けるようになります。セルの場所(アドレス)を覚えなくても、意味のある名前で参照できるのが最大の特長です。
名前付き範囲の主なメリット
| メリット | 説明 |
|---|---|
| 数式が読みやすくなる | =SUM(A1:A10) より =SUM(売上データ) の方が意味が一目瞭然 |
| 入力ミスが減る | セル番地の打ち間違いがなくなる |
| 範囲変更が楽 | 名前の参照先を変更するだけで、すべての数式に反映される |
| 複数シートをまたいで使える | ブック全体で有効な名前はどのシートからも参照可能 |
| ドロップダウンリストに活用できる | データの入力規則で名前を指定するだけで選択肢を管理できる |
名前の管理ダイアログを開く方法
名前付き範囲の確認・編集・削除は「名前の管理」ダイアログから行います。
- Excelを開き、「数式」タブをクリックする
- 「定義された名前」グループの「名前の管理」をクリックする
- またはショートカット Ctrl + F3 でもダイアログが開く
ここで登録されているすべての名前を確認できます。赤字やエラー表示がある場合は何らかの問題が発生しています。
名前付き範囲がエラーになる主な原因と対処法
名前付き範囲が正常に動作しない原因は複数あります。それぞれ原因と解決策を詳しく解説します。

原因1:名前に使えない文字が含まれている
症状
名前を付けようとすると「この名前は無効です」というエラーが出る。または過去に作成した名前が突然認識されなくなる。
原因の詳細
Excelの名前には使用できない文字のルールがあります。以下の文字や条件が含まれていると名前として認識されません。
| NG条件 | 具体例 | 代替案 |
|---|---|---|
| スペースを含む | 「売上 データ」 | 「売上データ」(スペース削除) |
| 先頭が数字 | 「1月売上」 | 「売上1月」「_1月売上」 |
| セル番地と同じ名前 | 「A1」「B2」 | 「売上A1」など意味のある名前 |
| 記号を含む(一部除く) | 「売上-合計」「売上/合計」 | 「売上合計」「売上_合計」 |
| 「R」または「C」のみ | 「R」「C」 | 「Row」「Col」など別の名前 |
| 255文字を超える | 極端に長い名前 | 短く簡潔な名前にする |
なお、アンダーバー(_)とドット(.)は使用可能です。日本語の名前も基本的に使用できます。
対処法
- Ctrl + F3 で「名前の管理」を開く
- 問題のある名前を選択し、「編集」をクリックする
- 「名前」欄でNG文字を取り除いた新しい名前を入力する
- 「OK」をクリックして保存する
- 古い名前を使っていた数式を新しい名前に更新する
原因2:名前が重複している
症状
新しく名前を付けようとすると「この名前は既に使われています」と表示される。または、名前を参照したとき意図しないセルを指してしまう。
原因の詳細
Excelの名前にはスコープ(適用範囲)があり、「ブック全体」または「特定のシート」のどちらかに設定できます。同じ名前でもスコープが違えば別々に登録されるため、意図しない方の名前が参照されてしまうことがあります。
たとえば、Sheet1に「売上合計」という名前があり、ブック全体にも「売上合計」という別の名前が存在する場合、Sheet1上では Sheet1 のローカル名が優先されます。この動作が予想外のエラーにつながることがあります。
対処法
- Ctrl + F3 で「名前の管理」を開く
- 「スコープ」列を確認し、重複している名前を特定する
- 不要な方の名前を選択して「削除」をクリックする
- 必要であれば、残す名前のスコープを「ブック」に変更して統一する
スコープを統一するポイント:複数シートにわたって使う名前はスコープを「ブック」にし、1シートだけで使うものはシートスコープにすると管理がしやすくなります。
原因3:シートが削除されてリンク切れ(#REFエラー)
症状
名前の管理ダイアログで参照先が =#REF! になっている。または名前を使った数式が #REF! を返す。
原因の詳細
名前付き範囲が参照していたシートが削除されると、参照先が存在しなくなってリンク切れが発生します。これが #REF! エラーの代表的な原因です。
また、参照先の行・列が削除されてセル範囲が無効になった場合も同様のエラーが起きます。
対処法
パターンA:削除したシートのデータが不要な場合
- Ctrl + F3 で「名前の管理」を開く
- 参照先が
=#REF!になっている名前をすべて選択する(Ctrlキーを押しながら複数選択可能) - 「削除」をクリックする
- 「OK」を押して確定する
パターンB:削除したシートを復元したい場合
- Ctrl + Z(元に戻す)でシート削除操作を取り消す
- シートが戻ったことを確認する
- 必要であればシートの内容をコピーして別名で保存し直す
パターンC:参照先を新しいシートに更新する場合
- 「名前の管理」を開き、エラーになっている名前を選択する
- 「編集」をクリックする
- 「参照範囲」欄に新しい正しいセル範囲を入力する(例:
=Sheet2!$A$1:$A$10) - 「OK」をクリックして保存する
原因4:数式の#REFエラー(行・列の削除による)
症状
名前付き範囲を使った数式が #REF! を返している。名前の管理を開くと参照先にエラーが表示されている。
原因の詳細
名前が参照しているセル範囲の途中にある行や列を削除すると、参照範囲が無効になって #REF! エラーが発生します。特に、名前が参照している範囲の内側の行・列を削除した場合に起きやすいです。
対処法
- Ctrl + F3 で「名前の管理」を開く
- エラーになっている名前を選択し、「編集」をクリックする
- 「参照範囲」欄に正しい新しい範囲を入力し直す
- 「OK」をクリックして保存する
予防策:名前付き範囲が参照している行・列を削除する前に、どの名前が影響を受けるか「名前の管理」で確認する習慣をつけましょう。また、テーブル機能(Ctrl + T)を使うと、行・列の追加削除に自動対応する動的な範囲を作れるのでおすすめです。
原因5:シートが保護されていて編集できない
症状
名前付き範囲を変更しようとすると「シートは保護されています」というエラーが出て編集できない。または名前を新しく作成できない。
原因の詳細
シートの保護が設定されている場合、名前付き範囲の作成・編集・削除ができなくなることがあります。保護設定によっては「ロックされていないセルの選択」以外の操作がすべてブロックされます。
また、ブックの保護(「ブックの保護」機能)が有効な場合は、シート名や構造の変更と合わせて名前の編集もできなくなることがあります。
対処法:シートの保護を解除する
- 「校閲」タブをクリックする
- 「シートの保護を解除する」をクリックする
- パスワードが設定されている場合は入力して解除する
- 保護を解除したら名前付き範囲の編集を行う
- 編集が終わったら必要に応じて再度保護をかける
対処法:ブックの保護を解除する
- 「校閲」タブをクリックする
- 「ブックの保護」をクリックする(有効な場合は強調表示されている)
- パスワードを入力して解除する
注意:パスワードがわからない場合は、保護を解除できません。ファイルの管理者に確認してください。
原因6:別ブックの名前を参照しているがブックが開いていない
症状
名前付き範囲を使った数式が #REF! または #VALUE! になる。参照先に別ファイルのパスが含まれている。
原因の詳細
Excel では別のブック(.xlsx ファイル)の名前付き範囲を参照する「外部参照」が可能です。しかし、参照元のブックが閉じられているとデータを取得できず、エラーになることがあります。また、参照元ファイルが移動・削除・名前変更された場合も同様のエラーになります。
対処法
パターンA:参照元ブックを開けばOKな場合
- 参照元の Excel ファイルを開く
- エラーが解消されるか確認する
- 「リンクの更新」ダイアログが出た場合は「更新する」をクリックする
パターンB:参照元ファイルが移動・名前変更された場合
- 「データ」タブ→「クエリと接続」グループの「リンクの編集」をクリックする
- エラーになっているリンクを選択する
- 「ソースの変更」をクリックし、新しいファイルの場所を指定する
- 「リンクの更新」をクリックして確認する
パターンC:外部参照を完全になくしたい場合
- 「リンクの編集」ダイアログを開く
- 対象のリンクを選択する
- 「リンクを解除する」をクリックする(値に変換される)
- 外部参照が削除されたことを確認する
原因7:名前が非表示になっている
症状
名前を定義したはずなのに「名前の管理」ダイアログに表示されない。数式候補にも出てこない。
原因の詳細
Excel には名前を「非表示」に設定する機能があります。主にアドインやマクロが内部的に使う名前を隠すために使われますが、意図せず非表示にされた名前が見つからずに困ることがあります。非表示の名前は「名前の管理」ダイアログでは表示されず、VBA からのみ確認・変更できます。
対処法
VBAエディタ(Alt + F11)を開き、イミディエイトウィンドウ(Ctrl + G)に以下を入力して実行します:
' 非表示の名前を表示状態に変更する
Sub ShowHiddenNames()
Dim nm As Name
For Each nm In ThisWorkbook.Names
If nm.Visible = False Then
nm.Visible = True
Debug.Print "表示しました: " & nm.Name
End If
Next nm
MsgBox "完了しました"
End Sub
- Alt + F11 で VBA エディタを開く
- 「挿入」→「標準モジュール」をクリックする
- 上記のコードを貼り付ける
- F5 でマクロを実行する
- 「完了しました」のメッセージが出たら VBA エディタを閉じる
- Ctrl + F3 で「名前の管理」を開き、非表示だった名前が表示されていることを確認する
原因8:Excelのバージョン非互換・ファイル形式の問題
症状
古い .xls 形式から .xlsx に変換したあと名前付き範囲が正常に機能しなくなった。または他の人から受け取ったファイルで名前が使えない。
原因の詳細
Excel 97〜2003 形式(.xls)と現在の形式(.xlsx)では名前付き範囲の仕様に若干の違いがあります。また、古い形式では名前の最大文字数や使える文字の制限が異なるため、変換後に不整合が生じることがあります。
さらに、Excel Online(Web 版)や Google スプレッドシートからインポートしたファイルでも名前付き範囲の互換性問題が起きることがあります。
対処法
- ファイルを .xlsx 形式で保存し直す(「ファイル」→「名前を付けて保存」→ファイルの種類を「Excel ブック (.xlsx)」に変更)
- 変換後に「名前の管理」を開き、エラーがなくなったか確認する
- エラーが残っている名前は手動で削除・再作成する
- 古い名前の命名規則(半角英数のみ等)に沿って名前を付け直すと互換性が上がる
名前付き範囲を活用する実践テクニック
名前付き範囲を正しく使えるようになったら、次はより高度な活用法を覚えましょう。
テクニック1:動的な名前付き範囲を作る(OFFSET関数)
データが増えるたびに名前の参照範囲を手動で更新するのは手間がかかります。OFFSET 関数と COUNTA 関数を組み合わせると、データの増減に自動で対応する動的な名前を作れます。
=OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1!$A:$A)-1,1)
この数式は、A2 セルを起点に A 列のデータ数(ヘッダー行を除く)を自動で計算して範囲を動的に拡張します。
設定手順
- Ctrl + F3 で「名前の管理」を開く
- 「新規作成」をクリックする
- 名前に「動的売上リスト」などと入力する
- 「参照範囲」に上記の OFFSET 数式を入力する
- 「OK」をクリックする
テクニック2:テーブル機能と組み合わせる
Excel のテーブル機能(Ctrl + T)を使うと、自動的に名前付き範囲が作成され、行を追加するだけで範囲が自動拡張されます。手動で動的名前を設定するより簡単でミスが少ないため、初心者にもおすすめです。
- 表のいずれかのセルをクリックする
- Ctrl + T を押してテーブルに変換する
- 「テーブルデザイン」タブの「テーブル名」欄で名前を変更する(例:売上テーブル)
- 数式内で
=SUM(売上テーブル[売上金額])のように列名で参照できる
テクニック3:データの入力規則(ドロップダウン)に名前を使う
ドロップダウンリストのソースに名前付き範囲を使うと、リストの内容を一箇所で管理できます。
- ドロップダウンにしたいセルを選択する
- 「データ」タブ→「データの入力規則」をクリックする
- 「許可」を「リスト」に変更する
- 「元の値」に
=名前付き範囲の名前(例:=商品リスト)と入力する - 「OK」をクリックする
テクニック4:VLOOKUP/XLOOKUPのテーブル範囲に使う
VLOOKUP の第2引数(テーブル配列)に名前付き範囲を使うと、数式が読みやすくなります。
= VLOOKUP(A2, 商品マスタ, 2, FALSE)
これにより、マスターデータの場所が変わっても名前の参照先を変えるだけで、すべての VLOOKUP 数式が自動的に更新されます。
テクニック5:名前を使って別シートへのナビゲーションを簡単にする
「名前ボックス」(数式バー左側のセル番地が表示される欄)に登録済みの名前を入力して Enter を押すと、その範囲に瞬時にジャンプできます。大きなブックで特定のシートの特定の範囲にすばやく移動したいときに非常に便利です。
テクニック6:名前付き範囲をまとめて整理・掃除する
長期間使用したブックには、使われなくなった不要な名前が大量にたまっていることがあります。以下の手順で不要な名前を一括削除できます。
- Ctrl + F3 で「名前の管理」を開く
- 「フィルター」ドロップダウンで「エラーのある名前」を選ぶ
- 表示された名前をすべて選択(Ctrl + A)する
- 「削除」をクリックして一括削除する

よくある質問(FAQ)
Q1. 「名前の管理」ダイアログにエラーが表示されているが、ファイルを使い続けて問題ないですか?
エラーのある名前付き範囲は、それを参照している数式でエラーを引き起こす可能性があります。すぐに問題がなくても、将来的に誤動作の原因になることがあるため、エラーのある名前は削除または修正しておくことをおすすめします。「名前の管理」で「フィルター」→「エラーのある名前」を選んで一括確認・削除できます。
Q2. 名前付き範囲を別のブックにコピーするにはどうすればいいですか?
シートをコピーすると、そのシートに紐付いた名前もコピー先のブックに持ち込まれます。具体的な手順は以下の通りです。
- コピーしたいシートのタブを右クリックする
- 「移動またはコピー」をクリックする
- 「移動先ブック名」でコピー先のブックを選ぶ
- 「コピーを作成する」にチェックを入れる
- 「OK」をクリックする
ただし、ブックスコープの名前は自動的には移行されません。手動で再作成するか、VBA を使って移行することになります。
Q3. 名前付き範囲で日本語の名前を使っても大丈夫ですか?
Excel 2007 以降では日本語の名前も問題なく使用できます。ただし、古い形式(.xls)で保存する場合や古いバージョンの Excel との互換性が必要な場合は、半角英数字の名前を使った方が安全です。また、他のアプリケーション(Google スプレッドシートなど)との互換性を考慮する場合も英数字推奨です。
Q4. 「この数式に問題が見つかりました」と表示されて名前が入力できません
名前の参照範囲を入力する際に「この数式に問題が見つかりました」と表示される場合、多くは入力した数式の形式に問題があります。以下を確認してください。
- セル参照は
$を使った絶対参照になっているか(例:=Sheet1!$A$1:$A$10) - シート名にスペースまたは特殊文字が含まれる場合は
'シート名'!のようにシングルクォートで囲んでいるか - 数式の先頭に
=が付いているか
Q5. 名前付き範囲を使ったVLOOKUPが#N/Aエラーになります
VLOOKUP の #N/A エラーは名前付き範囲の問題ではなく、検索値が見つからないことを意味します。ただし、名前付き範囲の参照先が正しいかどうかも確認してください。「名前の管理」でその名前を選択し、参照範囲が意図した範囲になっているか確認します。また、VLOOKUP の第2引数(テーブル配列)として使う名前は、検索する列が最左列(一番左の列)になっていることが必要です。
Q6. 保護されたシートでも名前付き範囲を使った数式は動きますか?
はい、シートが保護されている場合でも、すでに入力済みの名前付き範囲を使った数式は通常通り動作します。ただし、保護されているシートに新しく名前を作成したり、既存の名前を編集・削除したりすることはできません。名前の編集が必要な場合は一時的に保護を解除してください。
Q7. 名前付き範囲がどの数式から参照されているか調べる方法はありますか?
Excel 標準機能では名前の参照元数式を一覧表示する機能は限定的ですが、以下の方法で確認できます。
- Ctrl + F で検索ダイアログを開き、「オプション」→「数式」を選択して名前を検索する
- 「数式」タブの「参照元のトレース」「参照先のトレース」機能を使う
- VBA のイミディエイトウィンドウで
Findメソッドを使って全シートを検索する
Q8. Excelを閉じて開き直したら名前が消えてしまいました
名前付き範囲は通常ファイルとともに保存されます。もし消えてしまった場合、以下の原因が考えられます。
- 保存時にファイル形式を .csv で保存した:CSV 形式は名前付き範囲を保存できません。必ず .xlsx または .xlsm で保存してください
- 「名前を付けて保存」で別ファイルに保存し元ファイルを上書きしていない:元ファイルとは別の場所に保存されている可能性があります
- 「変更を保存しますか?」のダイアログで「保存しない」を選んだ:名前の変更が保存されていません。最後に Ctrl + S で保存する習慣をつけましょう
まとめ
Excelの名前付き範囲は、正しく使えばとても強力な機能ですが、さまざまな原因でエラーになることがあります。本記事で紹介した主な原因と対処法をまとめます。
| 原因 | 主な症状 | 対処法 |
|---|---|---|
| 名前に使えない文字 | 「名前が無効」エラー | スペース・記号・数字始まりを除いた名前に変更 |
| 名前の重複 | 意図しないセルが参照される | スコープを確認して不要な重複を削除 |
| シートの削除によるリンク切れ | #REFエラー | 不要な名前を削除、または参照先を更新 |
| 行・列削除による#REF | #REFエラー | 「名前の編集」で参照範囲を修正 |
| シートの保護 | 名前の編集ができない | 「校閲」タブで保護を解除 |
| 別ブックの参照 | #REFまたは#VALUE | 参照元ブックを開く、またはリンクを更新・解除 |
| 名前が非表示 | ダイアログに表示されない | VBAで非表示設定を解除 |
| ファイル形式の非互換 | 変換後にエラーが増える | .xlsx形式で再保存して名前を整理 |
名前付き範囲のトラブルのほとんどは、「名前の管理(Ctrl + F3)」ダイアログを開いて状況を確認することで原因を特定できます。エラー表示や参照先の #REF! を見つけたら、本記事の手順に従って一つひとつ対処してみてください。
また、名前付き範囲を日々のExcel作業で活用するためには、以下のポイントを意識するだけで大きく使いやすくなります。
- 名前はシンプルかつ意味のある英数字または日本語で付ける
- スコープ(ブック全体かシート限定か)を意識して管理する
- 定期的に「名前の管理」でエラーチェックを行う
- テーブル機能を活用して動的な範囲管理を自動化する
この記事が、Excelの名前付き範囲トラブルの解決に役立てば幸いです。Excelの使い方に関する他の問題も、minto.tech でわかりやすく解説していますのでぜひ参考にしてください。
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!