Excelの表に「#REF!」が出てしまった。どこから壊れたのか分からない、他のシートにも出ていないか心配——。この記事では、#REF! の原因、ブック全体から一括で探す方法、直し方と予防策を解説します。
※この記事の後半で紹介するツールは、当ブログ(自動化ラボ)の筆者が開発・販売しているものです。
#REF! は「参照先が無くなった」という意味
#REF! は、数式が参照していたセルが無くなったときに表示されます。よくある原因は次のとおりです。
- 数式が参照している行・列を削除した
- 数式が参照しているシートを削除した
- 参照先のセルに、別のセルを切り取って貼り付けた
- 数式をコピーした結果、参照先がシートの外(1行目より上など)になった
VLOOKUPの列番号が、範囲の列数より大きいINDIRECTに存在しないシート名やセル番地を渡した
一度 #REF! になると、数式の中身も =SUM(#REF!) のように書き換わり、元の参照先は分からなくなります。
直後なら Ctrl+Z で元に戻す
削除した直後に気づいたら、Ctrl+Z(元に戻す)が一番確実です。保存して閉じてしまった場合は、バックアップや「ファイル」→「情報」→「バージョン履歴」(OneDrive・SharePoint 上のファイル)から以前の版を確認しましょう。
ブック全体から #REF! を一括で探す
方法1:検索(Ctrl+F)で全シートを探す
- Ctrl+F で「検索と置換」を開き、「オプション」を押す
- 検索する文字列に「#REF!」と入力
- 検索場所を「ブック」、検索対象を「数式」にする
- 「すべて検索」を押す
シートをまたいで一覧が表示され、クリックするとそのセルに移動できます。
方法2:ジャンプでエラーのセルを選ぶ(シートごと)
F5 →「セル選択」→「数式」を選び、「エラー値」だけにチェックを入れて OK。そのシートでエラーになっているセルがすべて選択されます。#REF! 以外の #N/A や #DIV/0! もまとめて見つかります。
方法3:名前の定義も確認する
見落としがちなのが「名前の定義」です。「数式」タブ →「名前の管理」を開き、「フィルター」→「エラーのある名前」で、参照先が #REF! になった名前を表示できます。
直し方と予防策
- #REF! の部分を、正しいセル範囲に入れ直す
VLOOKUPの列番号を直接書かず、XLOOKUPやINDEX+MATCHを使う(列の追加・削除に強い)- 表を「テーブル」にして、
=SUM(売上[金額])のような構造化参照にする - 参照されている行・列・シートを消す前に、「数式」タブの「参照先のトレース」で確認する
複数のファイルをまとめてチェックしたいとき
ファイルが何十個もある、毎月の締め前にまとめて確認したい——という場合は、1つずつ開いて検索するのは大変です。
「数式チェックくん」は、Excelファイルやフォルダを選ぶだけで、すべての数式を調べて#REF!、エラー値、外部リンク、数式に直接入力した数値、参照先が切れた名前の定義などを、シート・セル・数式つきで一覧にします。ファイルは読み取るだけで変更しません(Excel不要)。

まとめ
- #REF! は参照先が削除されたときに出る
- Ctrl+F(検索場所:ブック/検索対象:数式)で全シートから一括で探せる
- 名前の定義のエラーも忘れずに確認
- XLOOKUP やテーブルを使うと #REF! が起きにくくなる
あわせて読みたい
ほどき工房のExcelツール
- マクロ書き出しくん(無料):マクロのコードをまとめてファイルに書き出し
- 数式チェックくん:#REF!・外部リンク・直接入力の数値などを一覧に
- VBA整形くん:VBAのインデントを一括で整える
- マクロ解読くん:マクロの仕様書(Excel/Word)を自動作成
- 64bit対応チェックくん:64bit版で動かない書き方を検出
- マクロ比較くん:改修前後のマクロを新旧対照表に
- マクロ棚卸しくん:フォルダ内のマクロを一括調査
Microsoft Excel、Microsoft Office、Visual Basic は Microsoft Corporation の商標です。
自分で調べて直す時間がない方へ
ココナラで作業をお受けしています(筆者のサービスです)。→ スプレッドシート・Excelの関数エラーを直します(ココナラ)


コメント