#REF! エラーは、数式が無効なセルを参照している場合に表示されます。 ほとんどの場合、このエラーは、数式から参照されているセルが削除または上に貼り付けられたときに発生します。
セルに #REF! 列の削除によって発生するエラー
次の例は、列 E で数式 =SUM(B2,C2,D2) を使用しています。
列 B、C、または D を削除すると、#REF の原因になります。 の原因となります。 この場合、列 C (2007 Sales) を削除すると、数式は =SUM(B2,#REF!,C2) となります。 このような明示的なセル参照 (各セルをコンマで区切って個別に参照する) を使用して、参照されている行または列を削除すると、Excel では解決できないため、#REF が返されます。 を返します。 これが、関数で明示的なセル範囲を使用することが推奨されない主な理由です。
ソリューション
- 行や列を誤って削除した場合は、クイック アクセス ツール バーの [元に戻す] ボタンをすぐに選択 (または CTRL+Z キーを押す) して復元できます。
- 個々のセルの代わりに =SUM(B2:D2) などの範囲参照を使用するように、数式を調整します。 これで合計範囲内の任意の列を削除できるようになるため、Excel では数式が自動的に調整されます。 行の合計に = SUM(B2:B5) を使用することもできます。
例 - 正しくない範囲参照を含む VLOOKUP
次の例では、=VLOOKUP(A8,A2:D5,5,FALSE) は、列 5 からの戻り値を検索しますが、参照範囲は 4 列のみの A:D のため、エラー値 #REF! エラーは、列 5 から返される値を探しているが、参照範囲は A:D で、わずか 4 列であるためです。
ソリューション
範囲を大きく調整するか、参照範囲に合わせて列参照値を小さくします。 =VLOOKUP(A8,A2:E5,5,FALSE)、および =VLOOKUP(A8,A2:D5,4,FALSE) は、有効な参照範囲になります。
行または列の参照が正しくない INDEX
この例では、数式 =INDEX(B2:E5,5,5) は、INDEX の範囲は 4 行 x 4 列ですが、数式は 5 番目の行と 5 番目の列の内容を返すように要求しているため、エラー値 #REF! INDEX 範囲は 4 行 x 4 列ですが、数式は 5 行目と 5 列目の値を返すよう求められているためです。
無効
ソリューション
INDEX のルックアップ範囲内になるように、行または列の参照を調整します。 =INDEX(B2:E5,4,4) は有効な結果を返します。
INDIRECT で閉じたブックを参照する
次の例では、INDIRECT 関数が閉じているブックを参照しようとしているため、#REF が発生しています。 エラーを返します。
ソリューション
参照されているブックを開きます。 動的配列関数を使用して閉じたブックを参照すると、同じエラーが発生します。
構造化参照はサポートされていません
リンクされたブック内のテーブル名と列名への構造化参照はサポートされていません。
計算された参照はサポートされていません
リンクされたブックへの計算参照はサポートされていません。
無効なセル参照エラー
セルを移動または削除すると、無効なセル参照が発生するか、関数から参照エラーが返されます。
OLE の問題
エラー値 #REF! を返しているオブジェクトのリンクと埋め込み (OLE) リンクを使用している場合、リンクが呼び出しているプログラムを開始します。
注:OLE は、プログラム間で情報を共有するために使用できるテクノロジです。
DDE の問題
エラー値 #REF! エラーが発生しない場合は、最初に正しいトピックを参照しているかどうかをチェックしてください。 まだ #REF を受け取っている場合! エラーを解決するには、「Microsoft 365 ドキュメントで外部コンテンツをブロックまたはブロック解除する」で説明されているように、外部コンテンツのセキュリティ センター設定をチェックしてください。
注:動的データ交換(DDE) は、Microsoft Windowsベースのプログラム間でデータを交換するための確立されたプロトコルです。
補足説明
Excel 技術コミュニティの専門家にいつでも質問するか、コミュニティでサポートを受けることができます。