以前のバージョンの Excel で最後に保存されたブックを開くと、外部リンクが計算される場合があります

現象

外部リンクまたはユーザー定義関数を含むブックを Microsoft Excel で開くと、次の 1 つ以上の現象が発生する可能性があります。

  • ブック内のリンクは、ブックに格納されている外部リンク テーブルに対して計算され、以前に計算されたものとは異なる場合があります。
  • 外部リンク テーブルに値が格納されていない他のブックへの外部リンクを含む、または参照する数式には、次のいずれかのエラーが表示される場合があります。
    • #REF!

    • #VALUE!

  • アドインまたは使用できない他のブックのユーザー定義関数を含む数式には、次のエラーが表示される場合があります。
    • #NAME?

さらに、結果はエラーであるため、この結果を使用する他のセルや関数は、他のエラーや予期しない結果を返す可能性があります。

原因

このシナリオは、開いたブックが、ブックを開くために現在使用しているバージョンよりも前のバージョンの Excel に最後に保存された場合に発生します。 このシナリオは、リンクの更新状態に関係なく、以前のバージョンの Excel に保存されていた開いているすべてのブックの完全な再計算が Excel によって強制されるために発生します。 ブックを完全に再計算するために、Excel はブックの外部リンク テーブルからすべての外部参照の現在格納されている値を取得します。 この動作は、メッセージが表示されたときにこれらのリンクを更新しないと判断した場合でも発生します。 Excel では、ブックの計算チェーンが現在のバージョンの Excel に更新されます。 ブックの外部リンク テーブルで外部リンク ソースの値を使用できない場合、Excel は正しく計算できません。 そのため、Excel は #REF を返します。 エラー。 これは、再計算プロセス中に使用できない DDE リンクにも当てはまります。 既定では、Excel では、計算目的でリンク値の非表示テーブルが保存されます。 一部のシナリオでは、外部リンクの値が数式で最後に計算されたものと同じでない場合があります。 また、Excel オプションで外部リンクの値を個々のブック単位で格納する機能をオフにすることもできます。

回避策

この問題を回避するには、次のいずれかの方法を使用します。

ブックを開くときに外部リンク式にエラーがあるが、ブックをまだ保存していない場合は、次の手順に従います。

  1. ブックを保存しないでください。 代わりに、ブックを保存せずに閉じます。 これにより、ブックに加えられた変更が元に戻されます。
  2. 開くブック内の異なる外部リンク ソースごとに、リンク式で指定されているパスでソース ファイルが使用可能であることを確認します。 リンク ソースが使用できなくなった場合は、別のソースを指すリンク式を変更します。 または、リンク式を完全に削除してリンクを解除します。 [リンクの更新または削除] セクションの手順に従って、リンクを編集するか、リンクを削除します。
  3. すべてのリンク ソースが定義された場所で使用可能であることを確認したら、Excel で問題が発生したリンクされたブックを開きます。 プロンプトが表示されたら、ブック内のすべての外部リンクを Excel で更新します。
  4. リンクされたブックを開き、すべての外部リンクが正常に更新されていること、およびブックが現在のバージョンの Excel で正常に再計算されたことを確認したら、ブックを保存します。 これで、現在のバージョンの Excel で期待どおりにリンクが開き、更新されます。

外部リンク式にエラーがあるブックを既に保存している場合、リンク ソース ファイルが移動した場合、またはリンク ソース ファイルが使用できなくなった場合は、元のリンク ソースを見つけます。 または、別のソース ファイルを見つけます。 次に、これらのソースへのリンクを変更します。 外部リンク ソースを調べ、壊れたリンクを復元または削除するには、次の手順に従います。

  1. 外部リンクを更新または削除できるように、以前のバージョンの Excel で最後に保存されたファイルの再計算を一時的に防ぐには、計算環境を手動に設定します。 計算モードを手動に一時的に設定するには、次の手順に従います。

    1. すべてのブックを閉じます。
    2. 新しいワークブックを作成する
    3. [Microsoft Office] ボタンを選択し、[Excel オプション] を選択します。
    4. [数式] タブ [計算オプション] で [手動] を選択し、[OK] を選択します
    5. 保存したブックを開きます。
  2. [データ] タブで、[Connections] グループの [リンクの編集] を選択します。

    各リンクには、このブックがリンクされているソース ブックのファイル名が一覧表示されます。 リンクを選択すると、ソース ブックの元のファイル パスの場所が [場所 ] ラベルの一覧の下に表示されます。

  3. [ 状態の確認] を選択して、一覧のすべてのリンクの状態を更新します。 すべてのリンクの状態が更新されるまで待ちます。

  4. [状態] 列の状態を確認し、リンクを選択し、次のいずれかの操作を実行します。

    • 状態が [OK] の場合、アクションは必要ありません。 リンクが動作しており、現在の状態です。
    • 状態が [不明] の場合は、[ 状態の確認 ] を選択して、一覧のすべてのリンクの状態を更新します。
    • 状態が [適用不可] の場合、リンクは OLE または動的データ交換 (DDE) を使用します。 Excel では、これらの種類のリンクの状態をチェックできません。
    • 状態が [エラー: ソースが見つかりません] の場合は、[ ソースの変更] を選択し、リンクに適切なブックを選択します。
    • 状態が [エラー: ワークシートが見つかりません] の場合は、[ ソースの変更] を選択し、適切なファイル内の適切なワークシートを選択します。 ソースが移動または名前変更された可能性があります。
    • 状態が [警告: 値が更新されない] の場合は、[ 値の更新] を選択します。 ブックを開いたときにリンクが更新されませんでした。
    • 状態が [警告: ソースが再計算されない] の場合は、[ オープン ソース] を選択し、F9 キーを押してブックを計算します。 ブックは、ソース ファイルで手動計算に設定できます。 ブックを自動計算に設定するには、 Microsoft Office ボタンを選択し、[ Excel オプション] を選択します。 [数式] タブ [計算オプション] で [自動] を選択します。
    • 状態が [エラー: 未定義] または [長方形以外の名前] の場合、ソース ブックを開くまで一部の名前を解決できません。 [ オープン ソース] を選択し、コピー先のブックに戻り、[ 状態の確認] を選択します。 問題が解決しない場合は、名前が見つからないかスペルミスがないことを確認してください。 ソース ブックに切り替え、[ 数式 ] タブを選択し、[ 名前の定義] を選択して名前を探します。
    • 状態が [警告: オープン ソース] の場合は、値を更新するには、[ オープン ソース] を選択します。 リンクは、ソースを開くまで更新できません。
    • 状態が [ ソースが開いている] の場合、ソースは開いています。 ワークシートエラーが発生しない限り、アクションは必要ありません。
    • 状態が [ファイル名から更新された値] の場合、アクションは必要ありません。 値が更新されました。
    • 状態が [エラー: 状態不確定] の場合、Excel はリンクの状態を判断できません。 ソースにワークシートが含まれている場合があります。 または、ソースをサポートされていないファイル形式で保存することもできます。 [値の更新] を選択します。
  5. すべてのリンク参照を解決したら、計算を自動にリセットして、Excel がブックの新しいバージョンのブックを完全に再計算できるようにします。 これを行うには、次の手順を実行します。

    1. [Microsoft Office] ボタンを選択し、[Excel オプション] を選択します。

    2. [数式] タブ [計算オプション] で [自動] を選択し、[OK] を選択します

      Excel でブックを計算する必要があります。 計算が成功した場合は、ブックを保存します。 これで、ブックが開き、現在のバージョンの Excel で期待どおりにリンクが更新されます。

計算環境の決定方法の詳細については、「 Excel が現在の計算モードを決定する方法の説明」を参照してください。

外部リンクを参照する数式が必要ない場合は、これらの数式をコピーし、ターゲット セルにのみ値を貼り付けます。

注:

数式をその値に置き換えると、数式は完全に削除されます。

数式をコピーして値を貼り付けるには、次の手順に従います。

  1. ブックが最後に保存された Excel のバージョンでブックを開きます。 リンクの更新を求められたら、[いいえ] を選択 します。 このバージョンの Excel でファイルが最後に保存されたため、リンクは強制的に更新されません。 計算は、リンクの最後の既知の値で行うことができます。
  2. 外部リンクを参照する数式を含むセルまたはセル範囲を右クリックし、[ コピー] を選択します。
  3. 同じセルまたはセル範囲を右クリックし、[ 貼り付け] を選択します
  4. [貼り付け] ダイアログ ボックスの [貼り付け] で [] を選択し、[OK] を選択します

この方法ですべての不要なリンクを削除したら、ブックを保存します。 その後、これらのリンクを更新せずに Excel でブックを開くことができます。 この動作は、リンクが存在しなくなったために発生します。