ブックを開くたびに「このブックには、他のデータ ソースへのリンクが含まれています。リンクを更新すると、Excel は最新のデータの取得を試みます。更新しない場合、Excel では前の情報が使用されます。」と聞かれるのは、そのブックのどこかに別ファイルを参照している箇所が残っているからです。Microsoft のドキュメントもこの文言をそのまま掲載しています(リンクされたブックの更新に関するスタートアップ メッセージを制御する - Microsoft Learn)。
そして、いちばん先に知っておくべき事実がこれです。Microsoft は「ブック内のすべてのブックのリンクを自動的に検索する方法はありません」と明記しています。つまり「リンクの編集」に出てこないリンクは、7 か所を自分で順に当たるしかないのです。先に設定でメッセージを黙らせたくなりますが、壊れたリンクが残っていると設定に関係なくメッセージは出続けます。順番は「探す → 直すか切る → それでも出るなら設定」です。
まず「リンクの編集」で見える分を確認する
[データ]タブ →[クエリと接続]グループ →[リンクの編集](Microsoft 365 の新しい UI では[ブックのリンク])を開きます。ここに並ぶのは数式から参照しているブックが中心で、ファイル名・状態・更新方法が確認できます。ボタンの役割は次のとおりです。
操作 | 何が起きるか | 使いどころ |
|---|---|---|
値の更新 | リンク元から最新の値を取り直す | リンク元が生きていて、最新値が欲しいとき |
リンク元の変更 | 参照先のファイルを別のファイルに差し替える | フォルダー移動・ファイル名変更で切れたとき |
リンク元を開く | 参照先のブックを開く | 参照先が何のファイルか確かめたいとき |
リンクの解除 | 数式を現在の値に置き換える(元に戻せない) | もう更新が要らないと確定したとき |
起動時の確認 | このブックを開いたときの挙動を決める | 探して直し終えた後の最後の仕上げ |
ここに何も表示されない、あるいは表示されたものを直してもメッセージが消えない場合が本題です。
「リンクの編集」に出てこないリンクの探し方
Microsoft のドキュメントが挙げている確認箇所は、数式・定義された名前・オブジェクト(テキスト ボックスや図形)・グラフのタイトル・グラフのデータ系列の 5 つです。実務ではこれに加えて、データの入力規則・条件付き書式・ピボットテーブルのソースも疑う必要があります(この 3 つは公式の列挙には含まれていないため、Mihata が実案件で当たってきた順に並べています)。
潜む場所 | 探し方 | 出典 |
|---|---|---|
数式 | Ctrl+F で「.xl」を検索。検索場所を「ブック」、検索対象を「数式」にする | 公式 |
定義された名前 | [数式]タブ →[名前の管理]→「参照先」列に他ファイルのパスが入っていないか | 公式 |
オブジェクト(図形・テキスト ボックス) | Ctrl+G →[セル選択]→[オブジェクト]→ Tab で順に選び、数式バーを見る | 公式 |
グラフのタイトル | タイトルをクリックして数式バーを見る | 公式 |
グラフのデータ系列 | グラフを選び、グラフ要素のドロップダウンから系列を選んで SERIES 関数の中身を見る | 公式 |
データの入力規則(リストの元の値) | [データ]→[データの入力規則]。範囲を他ブックに取っていると「リンクの編集」に出ないことがある | 実務 |
条件付き書式 | [ホーム]→[条件付き書式]→[ルールの管理]で適用先を「このシート」から全シート分確認 | 実務 |
ピボットテーブル / Power Query | ピボットの[データ ソースの変更]、および[データ]→[クエリと接続]でクエリの参照先 | 実務 |
検索キーワードは「.xl」と「[」の 2 本立てで
外部参照の数式には必ずリンク元のファイル名と拡張子が含まれるため、公式は「.xl」での検索を推奨しています。.xlsx / .xlsm / .xlsb / .xls をまとめて拾えるのがこの 2 文字です。加えて、外部参照は 'C:\path\[ファイル名.xlsx]シート名'!A1 のように角かっこで囲まれるので、「[」でも検索してみてください。ファイルが閉じているときにしかパスが表示されない形式があるため、2 本流すと取りこぼしが減ります。
検索するときは、[オプション]を開いて検索場所を「ブック」に広げるのを忘れないでください。既定は「シート」なので、別シートのリンクが見つからず「どこにもない」と結論してしまう取り違えが頻発します。
定義された名前の棚卸しは、見落としの最大の原因
何年も使い回したブックでは、[名前の管理]に数十件の定義名がたまっています。シートをコピーして持ち込んだときに、元ブックを指す定義名まで一緒に付いてくるためです。参照先が #REF! になっている名前や、どこからも使われていない名前は、まとめて削除候補です。消す前にブックのコピーを取ったうえで、[名前の管理]で「参照先」列を広げ、他ファイルのパスを含む行から順に処理してください。
「リンクの解除」は、コピーを取ってから
Microsoft のドキュメントは、リンクの解除について「この操作を元に戻すことはできないため、必ずバックアップとしてリンク先ブックのバージョンを保存します」と警告しています。解除すると数式はその時点の値に置き換わり、数式そのものが消えます。Ctrl+Z でも戻りません。
さらに注意すべきなのは、デスクトップ版と Web 版で挙動が違う点です。Excel for the web ではリンクの解除を元に戻せるとされており、デスクトップで試して「戻せる」と覚えてしまうと事故になります。作業はデスクトップで、必ず別名保存のコピーを 1 つ作ってから行ってください。
解除の前に、次の 3 つを確認しておくと後悔が減ります。
- その数式は本当に更新が不要か(年度が締まった実績表なら不要、進行中の集計なら必要)
- 解除後に計算根拠がたどれなくなっても説明できるか(監査・引き継ぎで問われる場所は数式を残す)
- 解除するのは一部だけで足りるのではないか(「リンクの編集」では解除は一括。範囲を選んで値貼り付けするほうが安全な場面もあります)
この「毎回確認が出るブックを誰かが開くたびに判断している」状態こそが、いちばん高くついている部分です。Mihata では、同じ構造の集計をブック間リンクなしで組み直すお手伝いもしています。記事の途中で恐縮ですが、同じダイアログを何年も押し続けている方には参考になるかもしれません。
毎回聞かれないようにする設定(3 層あり、効き方が違う)
設定は「自分の全ブックに効くもの」「そのブックだけに効くもの」「セキュリティ側」の 3 層に分かれます。どこを触ったかで、誰に影響するかが変わります。
設定場所 | やること | 効く範囲 | 結果 |
|---|---|---|---|
[ファイル]→[オプション]→[詳細設定]→[全般] | 「自動リンクの更新を要求する」のチェックを外す | 現在のユーザーが開くすべてのブック(他の人には効かない) | メッセージは出ず、リンクは自動更新される |
[データ]→[リンクの編集]→[起動時の確認] | 「アラートを表示せず、自動リンクを更新しない」を選ぶ | そのブックだけ・開くユーザー全員 | メッセージは出ず、リンクは更新されない |
トラスト センター →[外部コンテンツ] | ブックのリンクに関するセキュリティ設定 | 端末ごと(組織のポリシーで固定されていることがある) | ブロック / 通知 / 許可 |
ここに公式が明記している、ややこしい優先順位があります。ブック側で「通知と更新リンクを表示しない」を選んでいても、開く人のオプションで「自動リンクの更新を要求する」がオンになっていればメッセージは出るのです。「自分の環境では出なくなったのに、配った先では出る」という食い違いは、ほぼこれが原因です。
そして、どの設定を選んでも消えないケースが 1 つあります。公式の注記いわく「選択したオプションに関係なく、ブックに無効なリンクまたは破損したリンクが含まれている場合でも、メッセージが表示されます」。設定で消えないなら、それは設定の問題ではなくリンクが壊れているという合図です。
もう 1 つの落とし穴は、リンク元のブックが開いているか閉じているかです。公式は、これらのオプションが適用されるのは基本データを含むブックが閉じている場合だけで、リンク元が既に開いていればリンクは更新されるとしています。「人によって出たり出なかったり」の説明がつきます。
#REF! が出ている=リンクが切れている
更新しても値が変わらない、あるいは #REF! に化けているときは、参照先そのものが見つかっていません。症状から原因を当てられます。
症状 | 考えられる原因 | 打つ手 |
|---|---|---|
#REF! が並ぶ | リンク元のファイルが移動・リネーム・削除された、または参照先のシート名が変わった | [リンクの編集]→[リンク元の変更]で差し替える |
「更新できないリンクが含まれています」と出る | リンク元のパスにアクセスできない(権限・VPN 未接続・個人のローカル パス) | リンク元を共有の場所へ移し、パスを張り替える |
更新しても古い値のまま | 「アラートを表示せず、自動リンクを更新しない」が設定されている | [起動時の確認]を確認し、[値の更新]を手動で実行 |
ユーザーによって結果が違う | リンク元が各自の C: ドライブを指している | 相対的に共有可能な場所(SharePoint・共有ドライブ)へ統一 |
最後の行が、現場でもっとも多いパターンです。作成者の端末では動き、他の人が開くと全部 #REF! になる。リンクを張った本人がいなくなると、どのファイルを指していたのかさえ分からなくなります。
ブック間リンクで台帳を組むのは、そもそも無理があります
ここまでの手当てはすべて「切れたリンクを人が探して直す」作業です。ブック間リンクで組んだ仕組みは、ファイルが 1 つ移動するたびに壊れ、壊れたことに気づけるのは次に誰かが開いたときだけ。規模が小さいうちは回りますが、ファイルが増えるほど保守工数が線形では済まなくなります。
判断のめどを置くなら、参照先が 3 ファイルを超えたら設計の問題と考えてよいと思います。そこから先は「どのファイルが正か」を人の記憶で支えることになるためです。
置き換え方は 2 通りあります。1 つはデータを 1 か所に集めて、見たい形は関数やピボットで切り出す方法。もう 1 つは入力と閲覧を画面側に移して、ファイルを配るのをやめる方法です。前者だけで済むことも多いので、いきなり作り直す必要はありません。進め方はエクセル管理をやめるときの移行手順に、入力画面を外注する場合の費用感はエクセルの入力フォームを外注するときの費用の目安にまとめています。
配って回す運用からくる症状は他にもあります。マクロ付きのブックが開けなくなる話はxlsm のマクロが無効になりましたと出るときの解除手順、読み取り専用で開く話は保護されたビューで編集できないときの切り分け、どこに最新版があるか分からなくなる話は社内のファイルが探せなくなる原因を参照してください。シートを別ブックへ切り出そうとしてつまずいたときはシートのコピーができないときの原因、保護を掛けた本人がいなくなって手が止まったときはシート保護のパスワードを忘れたときの対処も合わせて確認できます。
よくある質問
「リンクの編集」に何も表示されないのに、毎回確認を求められます。
数式以外の場所にリンクが残っています。Microsoft は定義された名前、オブジェクト(図形・テキスト ボックス)、グラフのタイトル、グラフのデータ系列を確認箇所として挙げています。実務ではこれに加えてデータの入力規則のリスト、条件付き書式のルール、ピボットテーブルのデータ ソースも疑ってください。公式も「ブック内のすべてのブックのリンクを自動的に検索する方法はありません」としており、1 か所ずつ当たるしかありません。
リンクの解除をしても大丈夫ですか?
数式がその時点の値に置き換わり、元に戻せません。Microsoft のドキュメントも、解除前にリンク先ブックのバージョンをバックアップとして保存するよう明記しています。なお Excel for the web では解除を元に戻せるとされており、デスクトップ版とは挙動が違います。必ず別名保存のコピーを取ってから実行してください。
設定でメッセージを消したのに、まだ出ます。
ブックに無効なリンクまたは破損したリンクが含まれている場合は、選択したオプションに関係なくメッセージが表示されます(公式の注記)。設定の問題ではなくリンクが切れている合図なので、#REF! の有無を確認し、[リンクの編集]→[リンク元の変更]で参照先を張り替えてください。
自分の環境では出なくなったのに、配った相手には出ます。
設定の効く範囲が違うためです。[ファイル]→[オプション]→[詳細設定]の「自動リンクの更新を要求する」は現在のユーザーの全ブックにだけ効き、他の人には効きません。逆に[起動時の確認]はそのブックを開く全員に効きますが、開く人のオプションで「自動リンクの更新を要求する」がオンだとメッセージが表示されます。
#REF! になったセルの値を元に戻せますか?
リンク元のファイルが残っていれば戻せます。[データ]→[リンクの編集]→[リンク元の変更]で正しいファイルを指定し、[値の更新]を実行してください。リンク元自体が失われている場合、Excel 側に値は保持されていないため復元できません。この時点でバックアップの有無が分かれ目になります。
ブック間リンクをやめる場合、何から手をつけるべきですか?
まず参照先のファイル数を数えてください。3 ファイルを超えているなら、個別のリンクを直すよりデータを 1 か所に集める設計変更のほうが早い段階です。既存の様式や計算式を作り直す必要はなく、データの置き場所と入力画面だけを先に移す進め方が現実的です。