この記事では「エクセルでのrefの意味や直し方(回避:消す)やその原因」について解説していきます。
エクセルでの『#ref』の読み方ですが、「リファレンス」と読みます。「reference=参照」ですね。
つまり、数式で参照している部分に問題があるときに出てくるエラーメッセージになります。
今回はエクセルでの『#ref』になる原因と、エラーの消し方、回避方法について、実際のサンプルを用いて見ていきましょう。
エクセルでの#refの意味や直し方(回避:消す)やその原因1【外部参照(リンク)エラー:行削除など】
まず『#ref』のエラーが出る原因の1つ目として「参照しているセルがなくなった」時が挙げられます。
上の図では、セルC6の6/1の在庫数はセルH3の数値を参照しています。
ここで、セルH3を誤って消してしまったとします。
参照していたセルH3がなくなってしまったので「参照先がない!」とセルC6には『#ref!』のエラーが表示されるわけです。
同時に、セルH3の入庫数を基に計算式が入っている他のセルもすべて『#ref!』のエラーが表示されてしまいました。
この場合の『#ref!』の直し方は、
・「CTRL+Z(直前に戻るショートカット)」などで元に戻すか
・値のみ貼り付け(ショートカットはこちら)で対応
です。
同じシートの場合は分かりやすいですが、違うシートの値を参照しているときなどは気付かず消してしまいがちのため、注意しましょう。
また上の図の例で、合計だけ表示させるためにC列とD列を消した場合も、同じく「合計」列の数式が参照している「入庫」「出庫」の列がなくなってしまうためrefエラーになってしまいます。
このように「見せる必要はないけれど数式に必要なデータがある」場合は
・「非表示」にするか
・上と同様計算結果(ここでは合計列の数値)を「値貼り付け」する
ことでエラーを回避できます。
エクセルでの#refの意味や直し方(回避:消す)やその原因2【外部参照エラー:行削除など】
refエラーは出る原因の2つ目として「vlookup関数などで参照する範囲の指定が間違っている」が挙げられます。
下の図ではセルA3に入力されている「型番」を基に、「商品一覧」のシートからセルE3に単価を表示する数式が入っています。
「商品一覧」のシートを見てみましょう。
範囲に存在しない列を指定してしまったため、『#ref』エラーになってしまいました。
この場合は
間違っている数式の列番号を修正する
ことでエラーは消えます。
エクセルでの#refの意味や直し方(回避:消す)やその原因3【外部参照エラー:行削除など】
#refエラーが出る原因の3つ目として挙げられるのが「参照している値が入っている行を削除してしまったことによる外部参照エラー」です。
セルE16の「6/23までの合計」は、セルE15の「6/20の合計」を基に計算する式が入っていますね。
この状態で「6/20の売り上げがなくなった!」とセルE15を含む15行目を消すと、参照していた「E15」のセルが存在しなくなってしまったため、『#ref!』エラーになってしまいました。
これを回避するには(行を消さないのが一番ですが)、以下のようOFFSET関数を用いて処理するのもありです。
「OFFSET」関数を使って、セル番地指定ではなく「E16から見て1つ真上の」セル、という風に相対的な位置を指定しておくとエラーを回避することができますよ。
簡単に説明すると、OFFSET関数は、「指定したセルを基点に、指定された行数と列数移動した位置にあるセルを返す」関数です。上の図で説明すると、セルE16から-1行(=1行上)、0列(=移動なし)分移動したセルE15を返します。
まとめ エクセルでのrefの意味や直し方(回避:消す)やその原因
この記事ではエクセルでのrefの意味や直し方について解説しました。
自分で作った表はともかく、他の人が作った表はどこのセルの値を参照しているのかがすぐ分からずこういったエラーが起きることがあります。
エクセルのエラーは数種類ありますが、意味が分かっていればエラーの原因に早くたどり着くことができます。
突然エラーが出ても慌てず直せるように、原因や対処法を覚えておいてくださいね。