【Excel・エクセル】#REF!エラーの意味と対処法!

エラー

もりの

あれ、#REF!ってエラーになってる?どゆこと?

やまの

参照セルを削除しちゃったのかも。

今回のポイント
  • #REF!は、参照セルが削除されたか、検索系の関数で範囲を超えた場所を指定したか
  • 値で貼り付け、非表示、範囲選択、IFERROR関数などで回避できる

スポンサーリンク

【Excel・エクセル】#REF!エラーの意味は?

#REF!はReference(リファレンス)の略で、参照という意味です。

#REF!エラーになるのには、2つの原因が考えられます。

1つは、参照しているセルを削除したとき。

A2×B2という計算をした後でB列を削除すると、参照するセルがなくなり、#REF!エラーになってしまうのです。

#REF!エラーが出た画像
#REF!エラーが出てしまった

もう一つはVLOOKUP関数やINDEX関数などで、範囲と列番号が合わないとき。

範囲は2列、列番号はそれより多い3などにすると、#REF!になります。

VLOOKUP関数で#REF!エラーが出た画像
範囲と列番号が合っていない

また、#REF!のセルを参照したSUM関数なども、同じように#REF!エラーになってしまいます。

SUM関数で#REF!エラーになった画像
#REF!を使うと#REF!に

【Excel・エクセル】#REF!エラーの回避方法

セルや列を削除して#REF!エラーが出た場合、とりあえず「Ctrl + Z」で削除する前に戻しましょう。

それから、以下の方法を試してみてください。

値で貼り付ける

数式を残さなくてもいいのであれば、計算式の答えを値にしてしまいましょう。

方法は、値にしたい範囲をコピーして、「Ctrl」+「V」→「Ctrl」→「V」です。

値で貼り付けた画像
式を値にする

値で貼り付けると、途中のセルを削除しても#REF!エラーにはなりません。

SUM関数の#DIV/0!も解消された

削除ではなく非表示にする

値にはしたくないけど列は表示させたくないなら、列を非表示にするのも手です。

方法は、非表示にしたい列を選択して「右クリック」→「非表示」をクリックします。

非表示の方法
非表示の方法

無事、数式はそのままで#REF!エラーを回避できました。

非表示で#REF!エラーを回避できた画像
#REF!エラーを回避できた

セルを範囲指定する

例えば足し算する際、セルを1つずつ+でつなげたり、SUM関数でセルを1つずつカンマ(,)でつなげている場合。

参照している列を削除した際、#REF!エラーになってしまいます。

#REF!エラーになった画像
#REF!エラーになった

コレをSUM(A2:B3)のように、範囲指定に変えてみてください。

すると列を削除しても自動で範囲が調整され、#REF!エラーを回避できます。

範囲指定で#REF!を回避した画像
範囲指定で#REF!を回避

範囲と列番号を確認する

VLOOKUP関数やINDEX関数で#REF!エラーが出た場合、列番号や行番号が範囲を超えていないか確認してみてください。

IFERROR関数を使う

IFERROR関数を使えば、#REF!エラーを空白に変換できます。

IFERROR関数の書き方

=IFERROR(値,エラーの場合の値)

この計算式(セル)が
エラーの場合の値エラーだったらこうしてね

例えば先ほどの表の、B列を削除した際に#REF!エラーを空白にしたい場合。

B列を削除したら#REF!になる画像
B列を削除したら#REF!になる

「=IFERROR(A2*B2,"")」とすればOKです。

B列を削除してみると、ちゃんと空白になりましたね。

B列を削除すると空白になった画像
B列を削除すると空白になった
もりの

「""」で空白って意味なんだね。

やまの

IFERROR関数は、こっちのページで詳しくお話しするね!

これで、#REF!とかいうエラーが出ても、落ち着いて対処ができますね!
それでは、お疲れさまでした!

今回のおさらい
  • #REF!は、参照セルが削除されたか、検索系の関数で範囲を超えた場所を指定したか
  • 値で貼り付け、非表示、範囲選択、IFERROR関数などで回避できるROR関数で解決