何を触っても「参照が正しくありません」のダイアログが出て、OK を押しても押しても戻ってくる。作業どころではありません。このメッセージはExcel が指し先を解決できないときに出る汎用の警告で、原因そのものは教えてくれません。ただし「どの操作をしたときに出たか」で原因はきれいに絞れます。
実務でいちばん多いのは、削除済みのシートや行を指したままになっている定義名です。[数式]タブ →[名前の管理]を開き、フィルターで[エラーのある名前]に絞って参照範囲が #REF! になっているものを片付けると、それだけで止まることが多いです。以下、出た場所ごとの切り分けから順に進めます。
「どこで出たか」で原因が決まる切り分け表
出たタイミング | 主な原因 | 最初に開くところ |
|---|---|---|
ブックを開いた直後/シートを切り替えただけで出る | 壊れた定義名(参照範囲が #REF!) | [数式]→[名前の管理]→フィルター[エラーのある名前] |
シートをコピー・移動したときに出る | シート単位の定義名が壊れている/コピー先に同名の名前がある | [名前の管理]でスコープ(範囲)の列を確認 |
ピボットテーブルを作成・更新したときに出る | ソース範囲が削除・移動された/ファイル名に角かっこが入っている | [ピボットテーブル分析]→[データ ソースの変更] |
特定のセルを選ぶ・ドロップダウンを開くと出る | データの入力規則のリスト範囲が消えている/閉じた別ブックを指している | [データ]→[データの入力規則]の[元の値] |
名前ボックスや[ジャンプ]に入力した直後に出る | セル参照として解釈できない文字列、存在しない名前 | 入力した文字列そのもの |
開くときに「リンクの更新」を選んだあとに出る | 外部リンク先のブックが移動・削除・名称変更された | [データ]→[リンクの編集] |
どのタイミングか分からないときは、新規ブックを開いて何も触らずに出るかを見てください。新規ブックでは出ない=そのブックの中身の問題と確定できます。
原因1 壊れた定義名を[名前の管理]で一括棚卸しする
いちばん多く、いちばん効くのがこれです。削除されたシートや行を参照していた名前は、参照範囲が #REF! になったまま残ります。数式・条件付き書式・入力規則・ピボットがその名前を参照していると、画面を描き直すたびに警告が出ます。
Microsoft の公式ヘルプによると、[名前の管理]は[数式]タブの[定義された名前]で[名前の管理]をクリックして開きます。開いたら右上のフィルターを使います。公式ヘルプに挙げられている選択肢は、ワークシート内にある名前/ブック内にある名前/エラーのある名前/エラーのない名前/定義された名前/テーブル名です。
- フィルターで[エラーのある名前]を選ぶと、参照範囲が #REF! などになっている名前だけが残ります。
- 残った名前を 1 つずつ確認します。公式手順では「編集する名前をダブルクリックするか、変更する名前をクリックして[編集]をクリック」して参照範囲を書き直します。
- 使っていない名前は[削除]→[OK]で消します(公式手順でも削除の確定は[OK]です)。
Ctrl キーや Shift キーを押しながら複数選択して一度に削除できるので、数十件あっても数分で終わります。消す前にブックを別名でバックアップしてください。見た目に使われていない名前でも、VBA や条件付き書式から参照されていることがあります。
なお「[名前の管理]に出てこないのにエラーが止まらない」ことがあります。ブック内に非表示の定義名が残っているケースが考えられますが、公式ヘルプでこの挙動を確認できなかったので断定はしません。その場合は次の原因2以降と、シート単位の切り分け(後述)に進んでください。名前の重複で別のメッセージが出る場合は、シートのコピーができないときの原因側の症状に近いので、そちらも確認すると判別しやすくなります。
原因2 ピボットテーブルのソース範囲が消えている
ピボットは作成時に指定した元のデータ範囲を覚えています。その範囲のシートが消えた・名前が変わった・行列が入れ替わったときに、更新のタイミングで参照を見つけられなくなります。
直し方は範囲の指定し直しです。公式ヘルプでは、ピボットテーブル レポートをクリックし、タブの[データ]グループで[データ ソースの変更]を選び、[ピボットテーブルのデータ ソースの変更]ダイアログで[テーブルまたは範囲を選択]を選んで[テーブル/範囲]に正しい範囲を入れて[OK]、という手順です。タブ名はバージョンで違い、Microsoft 365 では[ピボットテーブル分析]、以前のバージョンでは[分析](または[オプション])に入っています。
ファイル名の角かっこで出るパターン
見落としやすい原因として、Microsoft はファイル名に角かっこ([ ])が含まれていると「データ ソースの参照が正しくありません」が出ることを公式に説明しています。理由は「角かっこが Excel のブックのファイル名として無効な文字であるため」で、ブラウザーからダウンロードしたファイルが一時フォルダーで foo[1].xlsx のように自動で改名されることが典型例です。公式の回避策はファイル名から角かっこを取り除くことと、ダウンロード時に「開く」ではなく「保存」を選ぶことです。
元データの見出しが空欄だったりセル結合されているとピボットの作成自体に失敗しますが、こちらは公式ヘルプで同じメッセージが出ると明記された記述を見つけられなかったので、可能性として挙げるにとどめます。
原因3 データの入力規則のリスト範囲
特定のセルを選んだ瞬間、あるいはドロップダウンを開いた瞬間に出る場合は入力規則です。公式ヘルプの設定手順は[データ]タブの[データ ツール]グループで[データの入力規則]を選び、[入力値の種類]で[リスト]を選んで[元の値]に値や範囲を指定する、という流れです。
- [元の値]が消えたシートや削除された列を指していないかを確認します。
- 別のブックの範囲を直接指している場合、そのブックが閉じていると解決できません。リストの元を同じブック内に持ってくるか、名前の定義を介す形に変えるのが実務的な回避策です。
- 入力規則が入っている範囲を探すには[ホーム]→[検索と選択]→[条件を選択してジャンプ]で[データの入力規則]を選びます。
入力規則が壊れやすいのは、台帳の行をまとめて削除する運用のときです。削除ではなく「無効」フラグの列を立てる運用に変えると、この種の事故はほぼ起きなくなります。
原因4 名前ボックス・[ジャンプ]に入れた文字列
名前ボックス(数式バーの左の欄)や[ジャンプ](F5)に、セル参照として解釈できない文字列を入れると、その場で同じダイアログが出ます。空白を含む文字列、記号から始まる文字列、存在しない定義名などが該当します。この場合はブックが壊れているわけではないので、Esc で閉じて入力し直せば終わりです。
見分け方は単純で、自分が直前に文字を入れたかどうかです。入れていないのに出ているなら原因1〜3のどれかです。
原因5 外部リンクが切れている
他のブックを参照している場合、相手のファイルが移動・削除・改名されるとリンクが解決できなくなります。[データ]タブ →[クエリと接続]グループの[リンクの編集](バージョンによっては[リンクの編集]が[接続]グループ)を開き、状態を確認したうえで[リンク元の変更]で正しいファイルを指定するか、値で固定してよいものは[リンクの解除]で切ります。
[リンクの解除]は数式を値に置き換える不可逆な操作です。必ず別名で保存したコピーで試してください。
私たちは、こうした壊れやすい参照を抱えた Excel を、入力画面と集計を分けた形に作り替えるお仕事もしております。記事の途中で恐縮ですが、よろしければ覗いていただけたら嬉しいです。
ダイアログが連続で出て作業できないときの順番
- Esc で閉じる:連打で出ている場合も、Esc を何回か押すと入力待ちに戻れることがあります。
- 別名で保存する:ここから先は壊れた定義を消す作業です。先に退避版を作ります。
- [名前の管理]で[エラーのある名前]を全部片付ける:ここで止まるケースが大半です。
- シート単位で切り分ける:シートを 1 枚ずつ新規ブックへコピーし、どのシートを入れた瞬間に再発するかを見ます。原因シートが分かればそこだけを調べられます。
- ピボット・入力規則・条件付き書式の順に見る:いずれも「範囲を覚えている」機能なので、消えた範囲を指したまま残ります。
- それでも直らないなら破損を疑う:開く/閉じるだけで出る、保存すると別のエラーになる場合は破損したブックの復旧手順に進んでください。
手順 4 のシート分解は時間がかかりますが、原因の範囲を機械的に半分ずつ狭められる唯一の方法です。勘で設定を触り続けるより早く終わります。
バージョンによる画面の違い
環境 | 画面の違い |
|---|---|
Microsoft 365(Windows) | ピボットの操作は[ピボットテーブル分析]タブ。[名前の管理]は[数式]→[定義された名前] |
Excel 2021 / 2019 | ピボットのタブ名が[分析]または[オプション]。[名前の管理]の場所は同じ |
Excel for the web(ブラウザ) | [名前の管理]に相当する機能が限られ、壊れた定義名の棚卸しはデスクトップ版で行う必要がある。ピボットの元範囲は作成時の[ソース]欄で指定する |
Web 版で開いているときにこのメッセージが続く場合は、いったんデスクトップ版で開いて定義名を片付けるのが確実です。
再発させない作り方
- 行や列を削除しない:台帳は追記専用にして、不要になった行は状態の列で区別します。削除が壊れた参照の最大の発生源です。
- 範囲はテーブルにする:範囲をテーブル(Ctrl+T)にしておくと行追加に追従するため、ピボットや入力規則の範囲がずれにくくなります。
- 名前の定義を増やしすぎない:使っていない名前はその場で消します。放置した名前は数年後にこのダイアログになって戻ってきます。
- ブックをまたぐ参照を減らす:参照元が移動するだけで壊れます。集計元を 1 枚に寄せる設計は、エクセル管理をやめるときの移行手順やマクロが属人化したときの移行の考え方も参考になります。
共有フォルダー上でこのエラーと一緒にロックや読み取り専用も起きている場合は、読み取り専用で開くときの原因別の解除とファイルが使用中・不明なユーザーのロックの外し方を先に片付けると、切り分けがぐっと楽になります。
壊れた参照を抱えたブックは、直すだけなら数十分でも、同じ事故が毎月起きる構造のままだと時間が溶け続けます。どこを変えれば止まるかだけでも、よろしければお気軽にご相談ください。
よくある質問
「参照が正しくありません」は何が原因で出るのですか?
Excel が指し先を解決できないときに出る汎用のメッセージで、原因は 1 つではありません。実務で多いのは、削除済みのシートや行を参照したまま残っている定義名です。ほかにピボットのソース範囲の消失、データの入力規則のリスト範囲、名前ボックスへの不正な文字列、外部リンク切れがあります。どの操作をしたときに出たかで原因を絞るのが最短です。
壊れた定義名をまとめて探す方法はありますか?
[数式]タブの[定義された名前]で[名前の管理]を開き、右上のフィルターで[エラーのある名前]を選びます。参照範囲が #REF! になっている名前だけが残るので、必要なものは[編集]で参照範囲を直し、不要なものは[削除]→[OK]で消します。Ctrl キーで複数選択できます。消す前に別名でバックアップを取ってください。
ピボットテーブルの更新で出る場合はどう直しますか?
ピボットをクリックし、[データ]グループの[データ ソースの変更]から[テーブル/範囲]に正しい範囲を指定し直します。タブ名は Microsoft 365 では[ピボットテーブル分析]、以前のバージョンでは[分析]や[オプション]です。あわせてファイル名も確認してください。Microsoft は、ファイル名に角かっこが含まれていると同じエラーが出ると公式に説明しています。
ファイル名の角かっこで本当にエラーになりますか?
なります。角かっこは Excel のブックのファイル名として無効な文字であるためで、ブラウザーからダウンロードしたファイルが一時フォルダーで foo[1].xlsx のように改名されるのが典型例です。公式の回避策はファイル名から角かっこを取り除くこと、そしてダウンロード時に「開く」ではなく「保存」を選ぶことです。
何を触ってもダイアログが出て作業できません。
Esc で閉じたうえで別名保存し、[名前の管理]の[エラーのある名前]を全部片付けてください。それでも続く場合は、シートを 1 枚ずつ新規ブックへコピーして、どのシートを入れた瞬間に再発するかで原因を機械的に絞ります。開閉だけで出る・保存で別のエラーになる場合はブックの破損も視野に入れます。
同じエラーを再発させないコツはありますか?
行や列を削除せず状態の列で区別する、範囲をテーブル(Ctrl+T)にして行追加に追従させる、使っていない定義名はその場で消す、ブックをまたぐ参照を減らす、の 4 つです。壊れた参照はほとんどが「削除」と「ファイルの移動」から生まれます。