メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。
エラー値 #REF! を修正する方法

#REF! エラーは、数式が無効なセルを参照している場合に表示されます。 ほとんどの場合、このエラーは、数式から参照されているセルが削除または上に貼り付けられたときに発生します。

次の例は、列 E で数式 =SUM(B2,C2,D2) を使用しています。

=SUM(B2,C2,D2) のように明示的なセル範囲を使用する数式では、列が削除された場合に、エラー値 #REF! が発生することがあります。

列 B、C、または D を削除したら、エラー値 #REF! の原因となります。 この場合、列 C (2007 Sales) を削除すると、数式は =SUM(B2,#REF!,C2) となります。 このように明示的なセル範囲 (コンマ区切りで各セルを個別に参照する) を使用し、参照先の行と列を削除すると、Excel ではこれを解決できないため、エラー値 #REF! を返します。 これが、関数で明示的なセル範囲を使用することが推奨されない主な理由です。

列の削除に起因するエラー値 #REF! の例。

解決方法

  • 誤って行または列を削除した場合、クイック アクセス ツールバーの [元に戻す] ボタンをすぐにクリックして (または Ctrl + Z キーを押して)、それらを復元します。

  • 個々のセルの代わりに =SUM(B2:D2) などの範囲参照を使用するように、数式を調整します。 これで合計範囲内の任意の列を削除できるようになるため、Excel では数式が自動的に調整されます。 また、行の合計を取得するには、=SUM(B2:B5) を使用することもできます。

次の例では、=VLOOKUP(A8,A2:D5,5,FALSE) は、列 5 からの戻り値を検索しますが、参照範囲は 4 列のみの A:D のため、エラー値 #REF! を返します。

正しくない範囲を含む VLOOKUP 数式の例。  数式は =VLOOKU(A8,A2:D5,5,FALSE) です。  VLOOKUP の範囲に 5 番目の列がないため、5 によってエラー値 #REF! が発生しています。

解決方法

参照範囲と一致するように、範囲を大きく調整するか、列のルックアップ値を減らします。 =VLOOKUP(A8,A2:E5,5,FALSE)、および =VLOOKUP(A8,A2:D5,4,FALSE) は、有効な参照範囲になります。

この例では、数式 =INDEX(B2:E5,5,5) は、INDEX の範囲は 4 行 x 4 列ですが、数式は 5 番目の行と 5 番目の列の内容を返すように要求しているため、エラー値 #REF! を返します。

無効な範囲参照を含む INDEX 数式の例。  数式は =INDEX(B2:E5,5,5) ですが、範囲は 4 行 x 4 列のみです。

解決方法

INDEX のルックアップ範囲内になるように、行または列の参照を調整します。 =INDEX(B2:E5,4,4) は有効な結果を返します。

次の例では、INDIRECT 関数は、エラー値 #REF! の原因になる閉じられたブックを参照しようとしています。

INDIRECT が閉じられたブックを参照することが原因のエラー値 #REF! の例。

解決方法

参照先のブックを開きます。 動的配列関数を使用して閉じたブックを参照すると、同じエラーが発生します。

リンクされたブックのテーブル名と列名への構造化参照はサポートされていません。

リンクされたブックへの計算された参照はサポートされていません。

セルを移動または削除すると、無効なセル参照が発生したか、関数が参照エラーを返しています。

エラー値 #REF! を返しているオブジェクトのリンクと埋め込み (OLE) リンクを使用している場合、リンクが呼び出しているプログラムを開始します。

注: OLE は、プログラム間で情報を共有するために使用できるテクノロジです。

エラー値 #REF! エラーが発生した場合は、最初にチェックして、正しいトピックを参照していることを確認します。 まだ #REF を受け取っている場合は、 エラーが発生した場合は、「Microsoft 365 ドキュメントの外部コンテンツをブロックまたはブロック解除する」で説明されているように、外部コンテンツのセキュリティ センター設定をチェックします。

注: 動的データ交換 (DDE)は、Microsoft Windows ベースのプログラム間でデータを交換するための確立されたプロトコルです。

マクロの問題

マクロがワークシートに入力した関数が、その関数より上のセルを参照し、関数に含まれているセルが行 1 にある場合、行 1 より上にセルはないため、関数は #REF! を返します。 引数が有効ではないセルまたはセルの範囲を参照しているかどうか確認するために、関数を確認します。 これには、状況を考慮するために、Visual Basic Editor (VBE) のマクロを編集することが必要な場合があります。

補足説明

Excel Tech Communityで、いつでも専門家に質問できます。また、コミュニティでは、サポートを受けられます。

関連項目

Excel の数式の概要

壊れた数式のエラーを回避する方法

数式のエラーを検出する

Excel 関数 (アルファベット順)

Excel 関数 (機能別)

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×