Excelでブックを開くたびに「このブックには、ほかのデータ ソースへのリンクが含まれています」や「更新できないリンクが含まれています」というダイアログが表示されることがあります。最も多い原因は別のブックを参照するセル数式か名前の管理に残った外部リンクです。「リンクの編集」で消しても再発する場合は、名前の管理(特に非表示の名前定義)を確認してください。
この記事では、外部リンクが潜む場所を頻度順にすべて洗い出し、それぞれの見つけ方と消し方を実機検証済みの手順で解説します。対象はMicrosoft 365 / Excel 2021 / Excel 2019です。
補足:Excelのファイル→オプション→詳細設定で「ブックのリンクの自動更新前にメッセージを表示する」がオフの場合、警告ダイアログ自体が表示されないことがあります。ダイアログが出なくてもリンクが残っている可能性があるため、この記事の手順でチェックすることを推奨します。
記事で使用したサンプルファイルです。SourceData.xlsx(参照先)と ExternalLinkSample.xlsx(外部リンク入り)の2ファイルが入っています。ZIPを展開し、SourceData.xlsx を別フォルダに移動してから ExternalLinkSample.xlsx を開くと、外部リンクエラーを再現できます。
原因の一覧と見分け方
外部リンクが潜む場所は主に5か所あります。確認すべき順序は以下の通りです。
| 優先度 | 外部リンクの潜む場所 | 見つけ方 | 対処法 |
|---|---|---|---|
| 1 | セル数式 | Ctrl+Hで数式を対象に「[」を検索 | リンクの編集→リンクの解除 |
| 2 | 名前の管理(通常の名前) | 数式タブ→名前の管理 | 名前を削除 or リンクの解除 |
| 3 | 名前の管理(非表示の名前) | VBAイミディエイトウィンドウ | VBAで削除 |
| 4 | グラフのデータ系列 | グラフ選択→SERIES数式を確認 | リンクの編集→リンクの解除 |
| 5 | 条件付き書式・入力規則(まれ) | ルールの管理 / 入力規則を確認 | ルール削除 or 数式書き換え |
ほとんどのケースは優先度1〜3で解決します。以下、それぞれの確認手順と対処法を説明します。
まず「リンクの編集」で全体像を確認する
最初に確認すべきはデータタブのリンクの編集です。ここにリンク元のファイル名が表示されていれば、外部リンクの存在を確認できます。
- データタブを選択します。
- クエリと接続グループにあるリンクの編集をクリックします。
- ダイアログにリンク元のファイル名・種類・状態が表示されます。

ここにリンクが表示される場合は、次のセクション(原因1)へ進んでください。「リンクの編集」がグレーアウトしている場合や、ここでリンクを解除しても再発する場合は、原因2以降を確認してください。
原因1 — セル数式に外部参照が残っている
最も多い原因です。別ブックのセルを参照する数式(例: ='[SourceData.xlsx]Sheet1'!B2)がどこかのセルに残っています。

='[SourceData.xlsx]売上データ'!B2 のように外部参照が表示されている対処法A:リンクの解除(推奨)
- データタブ →リンクの編集を開きます。
- 解除したいリンク元を選択し、リンクの解除をクリックします。
- 確認メッセージでリンクの解除をクリックします。
リンクの解除を実行すると、外部参照の数式が現在の計算結果(値)に置き換わります。下の画像では、セルB4の数式バーが ='[SourceData.xlsx]売上データ'!B2 から 150 に変化しています。元の数式は失われるため、操作前にブックのコピーを保存しておくことを推奨します。


対処法B:外部参照セルを検索して手動修正
外部参照のあるセルだけを特定して個別に修正したい場合は、検索と置換を使います。
- Ctrl+Hで「検索と置換」を開きます。
- オプションを展開し、検索対象を数式に変更します。
- 検索する文字列に
[を入力し、すべて検索をクリックします。 - 一覧に表示されたセルが外部参照を含むセルです。それぞれのセルの数式を確認し、外部参照部分を削除するか、同じブック内のセル参照に書き換えます。
原因2 — 名前の管理に外部リンクが残っている
セル数式には外部参照がないのにリンクが消えない場合、名前の管理に登録された名前定義が外部ブックを参照している可能性があります。Excelの名前の管理にはブック全体とシート単位の名前があり、どちらにも外部参照が潜むことがあります。
確認手順
- 数式タブ →名前の管理をクリックします。
- 一覧の参照範囲列を確認します。
[ブック名.xlsx]を含む名前があれば、それが外部リンクの原因です。 - フィルターボタンから「エラーのある名前」を選ぶと、参照先が見つからない名前を絞り込めます。

対処法
外部参照を含む名前を選択し、削除をクリックします。
注意点:削除した名前をセルの数式で使用している場合(例:=SUM(売上単価))、その数式は #NAME? エラーになります。これを避けるには、名前を削除する前にリンクの編集→リンクの解除を先に実行してください。リンクの解除を先に行うと、名前の参照先は =#REF! に変わりますが、セルの計算結果はキャッシュ値として保持されます。
名前の管理についてさらに詳しく知りたい場合は「この名前は既に存在します」の記事も参考にしてください。
原因3 — 非表示の名前定義が潜んでいる
「リンクの編集」でリンクを解除しても再発する、名前の管理にも外部参照が見当たらないという場合は、非表示の名前定義を疑ってください。これはほとんどの解説記事で触れられていない盲点です。
なぜ非表示の名前が存在するのか
以下の操作で、ユーザーの意図とは関係なく非表示の名前定義が作成されることがあります。
- 別のブックからシートをコピー・移動したとき、元のブックの名前定義が非表示のまま一緒にコピーされる
- マクロや外部ツールが内部処理用に
Visible = Falseの名前定義を作成する - オートフィルター範囲を示す
_FilterDatabase系の名前が残る
非表示の名前は名前の管理ダイアログには表示されません。そのため、通常の操作では存在に気づくことができません。
確認手順(VBAイミディエイトウィンドウ)
- Alt+F11でVBE(Visual Basic Editor)を開きます。
- Ctrl+Gでイミディエイトウィンドウを表示します。
- 以下のコードを貼り付けてEnterを押します。
For Each n In Names: If Not n.Visible Then Debug.Print n.Name, n.RefersTo: End If: Next外部ブックを参照する非表示の名前があれば、イミディエイトウィンドウに名前と参照先が出力されます。下の画像では _hidden_base_value と _hidden_price_range の2つの非表示名前が検出されています。出力に [ブック名.xlsx] を含む行があれば、それが外部リンクの原因です。何も出力されなければ、非表示の名前定義は存在しません。

対処法(VBAで削除)
以下のマクロを実行すると、外部参照を含む非表示の名前定義をすべて削除できます。VBEの標準モジュールに貼り付けてF5で実行してください。
Sub DeleteHiddenExternalNames()
Dim i As Long
Dim n As Name
For i = ThisWorkbook.Names.Count To 1 Step -1
Set n = ThisWorkbook.Names(i)
If Not n.Visible Then
If InStr(n.RefersTo, "[") > 0 Then
Debug.Print "削除: " & n.Name & " = " & n.RefersTo
n.Delete
End If
End If
Next i
MsgBox "完了しました。ブックを保存してください。"
End Sub実行後、イミディエイトウィンドウに削除された名前の一覧が出力されます。ブックを上書き保存すれば、次回以降のリンク警告は表示されなくなります。
原因4 — グラフのデータ系列が外部ブックを参照している
ブック内にグラフがある場合、データ系列の参照先が外部ブックになっていることがあります。
確認手順
- グラフをクリックして選択します。
- グラフ内のデータ系列(棒や折れ線)をクリックします。
- 数式バーに
=SERIES(...)という数式が表示されます。この中に[ブック名.xlsx]が含まれていれば、外部参照です。
対処法
リンクの編集→リンクの解除を実行すると、SERIES数式内の外部参照が配列定数に変換されます。たとえば、外部ブックのセル範囲を参照していた部分が {"りんご","みかん","ぶどう"} のような固定値に置き換わります。グラフの見た目は変わりませんが、元データとの連動は失われます。
原因5 — 条件付き書式やデータの入力規則に外部参照がある(まれ)
頻度は低いですが、条件付き書式の数式やデータの入力規則の参照先に外部ブックが含まれていることがあります。Excelの入力規則は外部ブックへの直接参照を受け付けないため、名前定義やINDIRECT関数を経由した間接的なケースに限られます。原因1〜4を確認しても解決しない場合にだけ確認してください。
条件付き書式の確認
- ホームタブ →条件付き書式→ルールの管理を選択します。
- 書式ルールの表示を「このワークシート」に変更します。
- 各ルールの数式に
[ブック名.xlsx]が含まれていないか確認します。 - 該当するルールがあれば、削除するか数式を書き換えます。
データの入力規則の確認
- Ctrl+Gで「ジャンプ」ダイアログを開き、セル選択をクリックします。
- 入力規則→すべてを選んでOKをクリックすると、入力規則が設定されたセルが選択されます。
- 選択されたセルでデータタブ →データの入力規則を開き、元の値の数式を確認します。
それでも解決しないときの確認ポイント
上記の方法をすべて試しても外部リンク警告が消えない場合は、以下の場所も確認してください。
- OLEオブジェクト:シート上に埋め込まれた別のブックやドキュメントが外部リンクとして検出されることがあります。挿入タブのテキスト→オブジェクトで確認します。
- VBAモジュール内の参照設定:VBEのツール→参照設定で「参照不可」と表示されているライブラリがないか確認します。
まとめ
「このブックには更新できないリンクが含まれています」が毎回表示されるときは、以下の順序で確認してください。
- リンクの編集でリンク元を確認し、不要ならリンクの解除を実行する
- セル数式に外部参照がないか Ctrl+Hで
[を検索する - 名前の管理で参照範囲に外部ブックが含まれる名前がないか確認する
- VBAイミディエイトウィンドウで非表示の名前定義を確認・削除する
- グラフのデータ系列、条件付き書式、入力規則を確認する
リンクの解除を実行すると数式が値に置き換わります。操作前に必ずブックのバックアップを取ってください。
コメント