当サイトの記事にはプロモーションが含まれています。

Excelファイルを開くとエラーが出る!原因別の完全対処法を2026年最新情報で徹底解説

パソコンパソコン・スマホ教室
スポンサーリンク

仕事の大事な資料を開こうとしたら、突然「ファイルにアクセスできませんでした」「ファイル形式または拡張子が正しくありません」などと表示されてフリーズ……そんな経験をしたことはありませんか?焦って何度クリックしても改善せず、締め切りが迫るなかで時間だけが過ぎていく、あの絶望感は本当につらいですよね。

実はExcelファイルを開くときにエラーが表示される原因は一つではなく、少なくとも7つ以上のパターンが存在します。原因を正確に把握しないまま手当たり次第に対処しても、問題は解決しません。この記事では、初心者から上級者まで対応できるよう、エラーの原因ごとに具体的な解決手順を順番に解説します。2026年4月時点の最新情報と、Microsoft公式の情報も交えながら、誰でも今すぐ使える対処法をすべて網羅しました。

ここがポイント!

  • Excelファイルを開くとエラーが出る7つの主な原因を体系的に整理
  • エラーの種類別に「今すぐできる」具体的な解決手順を完全網羅
  • OneDrive・Dropbox連携時の新しい不具合への対処法も詳しく解説
スポンサーリンク
  1. Excelファイルを開くとエラーが出る!まずは原因を特定しよう
  2. 原因① アドインの誤作動が引き起こす「アクセスできません」エラー
  3. 原因② リンクエラーが出る!外部ファイル参照の問題と正しい解除方法
  4. 原因③ 「別のアプリケーションで開かれています」エラーの正体
  5. 原因④ ファイル形式・拡張子の問題で開けないケース
  6. 原因⑤ Excelを開いたら画面が白いまま!ブランク表示の対処法
  7. 原因⑥ Officeのアップデート後に起きる互換性エラーの対処法
  8. 原因⑦ ファイルが破損している場合の高度な修復手順
  9. Excelファイルを開くときのエラーを予防するために今すぐできること
  10. 情シス歴10年以上が明かす「エラーの本当の原因」と現場の実態
  11. 現場でしか知り得ない!エラーが頻発する「構造的な理由」
  12. 他サイトには載っていない!VBAで「幽霊リンク」を完全駆除する具体的手順
  13. 情シス直伝!「Excelが開かない」を30秒で切り分ける鉄板フローチャート
  14. 現場でよくある「困った!」3大あるある問題と解決法
    1. あるある問題① 送ってもらったExcelを開いたらリンクエラーが出る!でも相手に聞けない雰囲気……
    2. あるある問題② Excelファイルを開こうとするとフリーズして何分待っても動かない!
    3. あるある問題③ Excelファイルが毎回「読み取り専用」で開いてしまう!
  15. 初心者がやりがちな落とし穴と、私の失敗談
  16. VBAで自動化!Excelを開く前にエラーを事前チェックするコード
  17. ぶっちゃけこうした方がいい!
  18. Excelファイルのエラーに関するよくある質問
    1. Excelを開くとエラーメッセージが出るのにファイルは普通に使えるのはなぜ?
    2. 「ファイル形式または拡張子が正しくありません」と表示されたとき、データは消えてしまった?
    3. OneDriveに保存したExcelファイルが「別のアプリで開かれています」と表示されて開けない!
    4. Excelファイルをダブルクリックしても何も表示されない(白い画面のまま)のはなぜ?
    5. Officeの修復をしてもエラーが直らない。次に何をすべき?
  19. 今すぐパソコンやスマホの悩みを解決したい!どうしたらいい?
  20. まとめ

Excelファイルを開くとエラーが出る!まずは原因を特定しよう

Excelのイメージ

Excelのイメージ

Excelのエラーに悩む人が増えている背景には、Microsoft 365のアップデートが頻繁に行われていること、そしてOneDriveやSharePointを使ったクラウド連携が当たり前になったことがあります。2026年現在、特に増えているトラブルのパターンを整理してみましょう。

エラーが出たときに最初にやるべきことは、「どんなメッセージが表示されているか」を正確にメモすることです。エラーメッセージの文言が、そのまま原因と対処法を指し示す大きなヒントになるからです。

表示されるエラーの種類はおおよそ次のパターンに分かれます。「ファイルにアクセスできませんでした」というメッセージ、「ファイル形式またはファイル拡張子が正しくありません」というメッセージ、「このブックには安全ではない可能性のある外部ソースへのリンクが含まれています」というメッセージ、「別のアプリケーションで開かれています」というメッセージ、そしてダブルクリックしても画面が白いままで何も表示されないケースです。それぞれの原因と対処法を詳しく見ていきましょう。

原因① アドインの誤作動が引き起こす「アクセスできません」エラー

Excelを起動するたびに「ファイルにアクセスできませんでした」というメッセージが表示されるのに、ファイル自体はちゃんと開いて編集もできる……というふしぎな症状に悩んでいる方は多いです。

この症状の正体は、Excelのアドイン設定に残っている「存在しないファイルへの参照」です。過去にアドインとして登録したファイルがいつの間にかなくなり、毎回起動時にそのファイルを探してエラーを出しているわけです。Excelがファイルを開く前にアドインを読み込もうとするため、実際にはファイルは正常に開けるのにエラーだけが先に表示されるという奇妙な状態になります。

解決のためには、まずExcelを単体で起動してみてください(ファイルをダブルクリックせず、スタートメニューやアプリ一覧からExcelを起動します)。そのときに表示されるエラーメッセージを確認すると、どのアドインが問題なのかヒントが得られます。

次の手順でアドインを無効化しましょう。

  1. Excelを起動し、画面上部の「ファイル」タブをクリックします。
  2. 左側のメニューから「オプション」を選択します。
  3. 「Excelのオプション」ウィンドウが開いたら、左側の一覧から「アドイン」をクリックします。
  4. 画面下部の「管理」というドロップダウンメニューで「Excelアドイン」を選択し、「設定」ボタンをクリックします。
  5. 一覧に表示されているアドインのうち、チェックが入っているものを一つずつ外していきます。問題のあるアドインのチェックを外した時点でエラーが消えます。

もし「COMアドイン」も疑わしい場合は、「管理」ドロップダウンを「COMアドイン」に切り替えて同じ手順を繰り返してください。一度にすべてのアドインを無効化してから一つずつ有効に戻すと、どのアドインが原因かを素早く特定できます。

原因② リンクエラーが出る!外部ファイル参照の問題と正しい解除方法

Excelファイルを開いた直後に「このブックには、安全ではない可能性のある外部ソースへのリンクが1つ以上含まれています」というメッセージが表示された経験はありませんか?これを「リンクエラー」と呼びます。

このエラーが発生する仕組みはシンプルです。別のExcelファイルのセルを参照する数式が含まれているのに、その参照元ファイルが見つからない状態になっているのです。よくある原因としては、別のファイルから数式をコピー&ペーストしたあと、コピー元のファイルを移動または削除してしまったケース、あるいはほかの人からExcelファイルをメールで受け取ったケースが挙げられます。

まずは参照元ファイルがどこにあるかを探しましょう。画面に表示されたリンクエラーのダイアログを「更新しない」ボタンで閉じてから、キーボードの

Ctrl

キーと

F

キーを同時に押して「検索と置換」ダイアログを表示します。検索欄に

.xl

と入力して「すべて検索」をクリックすると、外部Excelファイルを参照しているセルがすべて表示されます。参照元ファイルが見つかった場合は、ファイルを正しい場所に戻すか、数式を修正することで解決します。

参照元のファイルがもう存在せず、リンクそのものを削除したい場合は次の手順で操作します。

  1. Excelの「データ」タブをクリックします。
  2. 「リンクの編集」ボタンをクリックします(このボタンが表示されない場合、外部リンクが存在しない可能性があります)。
  3. 「リンクの編集」ダイアログが開いたら「リンクの解除」ボタンをクリックします。
  4. 確認メッセージが表示されたら、上書き保存してよければ「リンクの解除」を、別名で保存したければ「キャンセル」を選択してから「名前を付けて保存」で保存します。

リンクを解除すると、外部ファイルを参照していた数式は計算結果の値(文字列)に変換されます。元の数式に戻すことはできないため、作業前に必ずバックアップを取っておきましょう。

原因③ 「別のアプリケーションで開かれています」エラーの正体

DropboxやOneDriveなどのクラウドストレージ上のExcelファイルを開こうとしたとき、「別のアプリケーションで開かれています。ファイルを閉じてもう一度お試しください」というエラーが出ることがあります。Excelを一切開いていないのに、このエラーが繰り返し表示されて困っている方はとても多いです。

2026年現在も引き続き報告が多いこのエラーの正体は、クラウドストレージの同期機能がファイルに「ロック」をかけたまま解除できていない状態です。特にOneDriveでは同期エラーが発生すると、タスクバーの雲のアイコンに赤い×マークが表示されます。この状態のとき、Excelはファイルが他のアプリで使用中だと誤認してしまいます。

対処法として、まず次の点を確認してください。Excelが完全に終了しているかどうかをタスクマネージャーで確認します(

Ctrl

Shift

Esc

キーでタスクマネージャーを開き、Excelのプロセスが残っていれば「タスクの終了」を選択します)。次にタスクバーのOneDriveアイコンを右クリックし、「同期の問題を解決する」を選択して内容を確認します。それでも解決しない場合は、OneDriveをいったんサインアウトして再サインインするか、「同期を停止」してから「同期を再開」を試してみましょう。

Dropboxを使用している場合は、Word・Excel・PowerPointのいずれかを開いてアカウント設定から「接続されたサービス」を確認し、「Dropbox for Teams」を一度削除してから再接続する方法も有効です。また、Microsoft 365 Appsを常に最新バージョンに保つことがこのエラーを予防する上で非常に重要です。

原因④ ファイル形式・拡張子の問題で開けないケース

「ファイル形式またはファイル拡張子が正しくありません。ファイルが破損していないこと、ファイル拡張子とファイル形式が一致していることを確認してください」というエラーは、Excelを使う多くの人が一度は経験する定番のトラブルです。

このエラーにはいくつかの原因が考えられます。ファイルをダウンロードする途中で通信が切れて不完全なファイルが保存されたケース、古いバージョンのExcel(2003以前)で保存された.xls形式ファイルを最新Excelで開くときの互換性の問題ファイルをコピーや名前変更する際に拡張子が変わってしまったケースなどが代表的です。

まず試してほしいのがExcel組み込みの「開いて修復する」機能です。

  1. Excelを起動し、「ファイル」タブから「開く」をクリックします。
  2. 問題のExcelファイルを選択します(ただしまだ「開く」は押さないでください)。
  3. ダイアログ右下にある「開く」ボタンの右側にある小さな矢印(▼)をクリックします。
  4. 表示されたメニューから「開いて修復する」を選択します。
  5. 「修復」を試して、それでもダメなら「データの抽出」を選びます。

拡張子そのものが誤っている場合は、ファイルの拡張子を正しい形式(

.xlsx

.xls

)に書き換えることで解決することがあります。Windowsで拡張子を表示させるには、エクスプローラーの「表示」タブから「ファイル名拡張子」にチェックを入れてください。

また、ファイルパス(保存場所のフォルダの階層)が長すぎる場合もこのエラーの原因になります。Microsoftの公式情報によると、Excelではファイル名とフォルダパスを合わせた文字数が218文字を超えるとエラーが発生します。フォルダを浅い階層に移動するか、フォルダ名・ファイル名を短くすることで解決できます。

原因⑤ Excelを開いたら画面が白いまま!ブランク表示の対処法

Excelファイルをダブルクリックしてもアプリは起動するのに、肝心のシートが表示されず真っ白な画面のままになってしまうケースがあります。エラーメッセージも何も出ないので原因がわかりにくく、困っている方も多いようです。

この症状の原因として最も多いのは、DDE(Dynamic Data Exchange)設定の問題ハードウェアアクセラレーションの干渉です。2026年4月に更新されたMicrosoft公式ドキュメントにも、この問題の解決手順が記載されています。

まず試してほしいのが、ウィンドウの最小化と最大化です。Excelウィンドウ右上の最小化ボタンをクリックして小さくしてから、タスクバーのExcelアイコンをダブルクリックしてウィンドウを最大化してみてください。これだけで表示が復活することがあります。

それでも解決しない場合は、ファイルの関連付けをリセットします。問題のExcelファイルを右クリックして「プロパティ」を開き、「全般」タブの「プログラム」欄でExcelが正しく関連付けられているか確認してください。「変更」ボタンをクリックしてExcelを選択し直します。

さらに、アドインが原因の可能性もあります。Excelをセーフモードで起動することで、アドインや設定ファイルを読み込まずにExcelを起動できます。セーフモードで起動するには、

Ctrl

キーを押しながらExcelのアイコンをダブルクリックするか、Windowsの検索窓に

excel /safe

と入力して実行します。セーフモードで正常に開けた場合、アドインが原因です。原因①の手順でアドインを一つずつ無効化してみましょう。

原因⑥ Officeのアップデート後に起きる互換性エラーの対処法

Windows UpdateやMicrosoft 365の自動更新後に突然Excelのエラーが増えることがあります。これは更新プログラムがExcelの動作設定と干渉してしまうためです。

このような場合は、Officeの修復機能を使いましょう。

  1. Windowsのスタートボタンを右クリックし、「アプリと機能」(または「インストールされているアプリ」)を開きます。
  2. 一覧から「Microsoft 365」または「Microsoft Office」を探してクリックします。
  3. 「変更」ボタンをクリックします。
  4. 「クイック修復」を試してください。それでも改善しない場合は「オンライン修復」を選択します。

「クイック修復」はインターネット接続なしで数分で完了しますが、「オンライン修復」はインターネット経由でより深いレベルの修復を行うため、問題が根深い場合はこちらが有効です。修復後はPCを再起動してからExcelを起動してみてください。

また、特定のWindowsアップデートが原因の場合は、「Windows Update」の履歴から問題のあるアップデートをアンインストールすることで一時的に解決できることもあります。ただしセキュリティ上の理由から、アップデートのアンインストールは問題が確実にそのアップデートに起因していると判断できる場合に限り実施することをおすすめします。

原因⑦ ファイルが破損している場合の高度な修復手順

パソコンの突然のシャットダウン、ウイルス感染、ネットワーク接続の途中切断などが原因でExcelファイルが破損してしまうことがあります。これが最も深刻なケースで、通常の方法ではファイルを開けないだけでなく、「修復する」を選んでもデータが取り出せないことがあります。

まず試してほしいのが、自動回復(AutoRecover)機能を使ったデータの復元です。Excelはデフォルトで一定間隔(通常10分ごと)に自動保存を行っています。Excelを起動すると左側に「ドキュメントの回復」パネルが表示されることがありますので、そこから最新の自動保存ファイルを選択して開いてみてください。

自動保存ファイルが表示されない場合は、

%APPDATA%\Microsoft\Excel\

というフォルダパスをWindowsエクスプローラーのアドレスバーに直接入力して、自動保存されたファイルを手動で探すことができます。

「以前のバージョン」の復元も試してみましょう。問題のExcelファイルを右クリックして「プロパティ」を開き、「以前のバージョン」タブをクリックします。Windowsが自動的に作成したバックアップが表示されれば、そこから復元できます。この機能はWindowsのシステム保護(復元ポイント)が有効になっている場合に使えます。

それでもデータが取り出せない場合は、Excelの「ファイル」→「開く」から問題のファイルを選択し、「開いて修復する」で「データの抽出」を選ぶと、数式は失われますがセルの値(数値やテキスト)だけでも救い出せることがあります。

Excelファイルを開くときのエラーを予防するために今すぐできること

エラーは出てから対処するより、出ないようにする仕組みを作ることのほうがずっと重要です。Excelのエラーを日頃から防ぐために意識してほしい習慣を紹介します。

自動保存の間隔を短く設定しましょう。「ファイル」→「オプション」→「保存」の順に開き、「ブックの自動回復用データを保存する間隔」を10分から5分または1分に変更しておくと、万一クラッシュしたときのデータ損失を最小限に抑えられます。

ファイルを保存するフォルダの階層を深くしすぎないようにしましょう。前述のとおり、ファイルパスの合計文字数が218文字を超えるとエラーが発生します。「デスクトップ」や「ドキュメント」フォルダなど、階層の浅い場所に保存する習慣をつけましょう。

Microsoft 365は常に最新バージョンに保ちましょう。「ファイル」→「アカウント」→「更新オプション」→「今すぐ更新」から手動でアップデートを確認できます。古いバージョンのままだと既知のバグが修正されず、エラーが繰り返し発生する可能性があります。

不要なアドインは定期的に整理しましょう。使わなくなったアドインをそのままにしておくと、ファイルを開くたびにそのアドインの読み込みでエラーが発生するリスクがあります。半年に一度くらいのペースで「ファイル」→「オプション」→「アドイン」を確認して、不要なものはチェックを外しておきましょう。

外部ファイルへのリンクを作成したら、送付前に必ずリンクの有無を確認しましょう。「データ」タブの「リンクの編集」を確認し、意図しない外部リンクが含まれていないかチェックする習慣が大切です。

情シス歴10年以上が明かす「エラーの本当の原因」と現場の実態

Excelのイメージ

Excelのイメージ

正直に言います。Excelのエラーで社内ヘルプデスクに問い合わせてくる案件の8割以上は、実はすでにある情報を調べれば自己解決できるものです。でも、それをうまく見つけられない。なぜか? それは「エラーメッセージをそのまま検索しない」からです。

私が情シスとして働き始めた頃、ある営業部の部長から「Excelが壊れた!今すぐ直せ!」と怒鳴り込まれたことがあります。飛んでいくと、表示されていたのは「このブックには安全ではない可能性のある外部ソースへのリンクが含まれています」という、ごくありふれたリンクエラーのダイアログ。その部長は何年もそのダイアログを「更新する」ボタンで閉じ続けていただけで、実は何の問題もなかったんです。でも「よくわからない英語みたいなエラーが出るから怖い」という心理が働いて、パニックになっていた。

これがExcelエラーの本質的な問題のひとつです。エラーメッセージは怖くない。読めば答えが書いてある。でも多くの人は読む前に「壊れた!」と思ってしまう。この記事の最初のセクションをしっかり読んでくれた方はもうこの罠から解放されているはずです。ここからはさらに一歩踏み込んだ、現場の「暗黙知」をお伝えしていきます。

現場でしか知り得ない!エラーが頻発する「構造的な理由」

ExcelのエラーはWindowsやOfficeのバグだけが原因ではありません。実は組織の運用ルールの曖昧さが最大の原因であることが多いのです。これは一般的な解説記事では絶対に触れない視点です。

たとえば、ファイルサーバー上の共有フォルダにExcelファイルが無秩序に増え続ける職場では、誰かがファイルを別フォルダに移動したり、フォルダ名を変更したりすることで、別のファイルから参照していた数式のリンクが一斉に切れます。でもそれをやった本人は「整理した」という善意でやっている。被害者がエラーに気づくのは翌日以降で、原因がわからないまま情シスに「Excelが壊れた」と連絡が来る。これが典型的なパターンです。

もうひとつ、これは本当に社内でよく起きる話なのですが、「誰かが作った便利なExcelマクロ入りファイルが属人化する」問題があります。あるベテラン社員が何年もかけて作り込んだExcelファイルが、その人の異動や退職と同時に誰もメンテナンスできない「神Excel」になる。VBAが入っているせいでアドインとして登録されていたり、特定のフォルダパスをコード内にハードコーディング(直書き)していたりすることが多く、ファイルを開いた瞬間にエラーが連発する。これを情シスが引き継いで解読するのが本当に大変なんです。

さらにやっかいなのが「ウイルス対策ソフトとExcelの相性問題」です。社内のセキュリティポリシーで特定のウイルス対策ソフトが強制インストールされている環境では、Excelファイルを開く際にリアルタイムスキャンが走り、それが原因でファイルのロックが発生してエラーになることがあります。この場合、Excelを疑ってもどこをいじっても直りません。正解は「ウイルス対策ソフトの除外設定にExcelの作業フォルダを追加すること」ですが、これは情シスにしかできない操作なので、個人で悩んでいても解決しないことが多いです。この症状に心当たりがある方は、遠慮なく情シスに相談してください。

他サイトには載っていない!VBAで「幽霊リンク」を完全駆除する具体的手順

Excelのリンクエラーには、前述の「リンクの編集」ダイアログで解除できるものと、それでは消えない「幽霊リンク」が存在します。これはExcelの中でも特にやっかいな問題で、検索と置換で

.xl

を探しても見つからないのに、ファイルを開くたびにリンクエラーが出続けるというケースです。

この「幽霊リンク」の正体は、名前の定義・条件付き書式・グラフ・データの入力規則などに隠れた外部参照です。通常のセルには存在しないため、検索しても見つからないのです。私がこれを初めて発見したのは入社3年目のことで、2時間格闘したあとにたまたまVBEを開いたときでした。それ以来、「幽霊リンク」には必ずVBAで対処するようにしています。

以下のVBAコードは、Excelブック内に隠れているすべての外部リンクを洗い出して、一覧をイミディエイトウィンドウに表示するコードです。これを使うと「どこに幽霊リンクが潜んでいるか」が一発でわかります。

【コード①】外部リンクの場所を全件洗い出すコード
動作検証済みバージョンExcel 2016 / 2019 / 2021 / Microsoft 365(Windows版)
注意が必要なバージョンExcel 2013以前は一部のオブジェクト参照で動作が異なる場合があります。Mac版Excelでは動作しません。

Sub FindAllExternalLinks()
' =============================================
' 外部リンク(幽霊リンク含む)を全件洗い出すコード
' VBEのイミディエイトウィンドウ(Ctrl+G)に結果が表示されます
' =============================================

Dim ws As Worksheet ' シートを順番に調べるための変数
Dim nm As Name ' 名前の定義を調べるための変数
Dim cht As ChartObject ' グラフを調べるための変数
Dim cell As Range ' セルを調べるための変数
Dim foundCount As Long ' 見つかった外部リンクの数を数える変数

foundCount = 0
Debug.Print "===== 外部リンク調査開始 ====="

' - ① 名前の定義に隠れた外部リンクを探す -
Debug.Print ""
For Each nm In ThisWorkbook.Names
If InStr(nm.RefersTo, "[") > 0 Then
' "[" が含まれる=他のブックへの参照が存在する
Debug.Print " 名前: " & nm.Name & " → " & nm.RefersTo
foundCount = foundCount + 1
End If
Next nm

' - ② 各シートのセル数式に隠れた外部リンクを探す -
For Each ws In ThisWorkbook.Worksheets
Debug.Print ""

' 数式が入力されているセルだけを対象にして処理速度を上げる
On Error Resume Next ' 数式セルが1つもない場合のエラーを無視する
Dim formulaCells As Range
Set formulaCells = ws.Cells.SpecialCells(xlCellTypeFormulas)
On Error GoTo 0 ' エラー無視を解除する

If Not formulaCells Is Nothing Then
For Each cell In formulaCells
If InStr(cell.Formula, "[") > 0 Then
' "[" が含まれる数式=外部ファイルへの参照
Debug.Print " セル: " & cell.Address & " → " & cell.Formula
foundCount = foundCount + 1
End If
Next cell
End If

' - ③ 条件付き書式に隠れた外部リンクを探す -
Debug.Print ""
Dim fc As FormatCondition
Dim fcArea As Range
On Error Resume Next ' 条件付き書式がない場合のエラーを無視する
For Each fcArea In ws.Cells.SpecialCells(xlCellTypeAllFormatConditions)
Dim fcObj As Object
For Each fcObj In fcArea.FormatConditions
If TypeName(fcObj) = "FormatCondition" Then
If InStr(fcObj.Formula1, "[") > 0 Then
Debug.Print " 条件付き書式の数式: " & fcObj.Formula1
foundCount = foundCount + 1
End If
End If
Next fcObj
Next fcArea
On Error GoTo 0

' - ④ グラフ(データ系列)に隠れた外部リンクを探す -
Debug.Print ""
For Each cht In ws.ChartObjects
Dim sr As Series
For Each sr In cht.Chart.SeriesCollection
If InStr(sr.Formula, "[") > 0 Then
Debug.Print " グラフ「" & cht.Name & "」の系列: " & sr.Formula
foundCount = foundCount + 1
End If
Next sr
Next cht

Next ws

' - 結果の集計 -
Debug.Print "===== 調査完了 ====="
If foundCount = 0 Then
Debug.Print "外部リンクは見つかりませんでした。"
Else
Debug.Print "合計 " & foundCount & " 件の外部リンクが見つかりました。"
End If

End Sub

このコードの使い方を説明します。まず調べたいExcelファイルを開いた状態で、

Alt

キーと

F11

キーを同時に押してVBE(Visual Basic Editor、VBAを書く画面のことです)を起動します。次に「挿入」メニューから「標準モジュール」を選択し、上のコードを貼り付けます。その後

F5

キーを押してコードを実行し、

Ctrl

G

キーでイミディエイトウィンドウを開くと、外部リンクの場所が一覧表示されます。

次に、上記で見つかった「幽霊リンク」を一気に処理するコードを紹介します。名前の定義に潜んでいる外部リンクを、VBAで自動削除します。

【コード②】名前の定義に隠れた外部リンクを一括削除するコード
動作検証済みバージョンExcel 2016 / 2019 / 2021 / Microsoft 365(Windows版)
注意このコードを実行すると名前の定義が削除されます。必ず事前にファイルをバックアップしてください。

Sub DeleteExternalLinksInNames()
' =============================================
' 名前の定義に含まれる外部リンクを一括削除するコード
' 実行前に必ずファイルを別名で保存(バックアップ)すること!
' =============================================

Dim nm As Name ' 名前の定義を1つずつ処理するための変数
Dim deleteCount As Long ' 削除した件数を数える変数

deleteCount = 0

' 削除してよいか最初に確認メッセージを表示する
If MsgBox("外部リンクを含む「名前の定義」を削除します。" & vbCrLf & _
"事前にバックアップを取りましたか?", _
vbYesNo + vbQuestion, "確認") = vbNo Then
MsgBox "処理を中止しました。"
Exit Sub ' 「いいえ」が押されたら処理をやめる
End If

' 名前の定義を後ろから順に処理する
' (前から削除すると番号がずれてエラーになるため後ろから処理)
Dim i As Long
For i = ThisWorkbook.Names.Count To 1 Step -1
Set nm = ThisWorkbook.Names(i)
If InStr(nm.RefersTo, "[") > 0 Then
' "[" が含まれる=外部ファイルへの参照があるので削除する
Debug.Print "削除: " & nm.Name & " (" & nm.RefersTo & ")"
nm.Delete
deleteCount = deleteCount + 1
End If
Next i

' 削除結果を報告する
MsgBox deleteCount & " 件の外部リンク(名前の定義)を削除しました。" & vbCrLf & _
"ファイルを保存して、エラーが消えたか確認してください。", _
vbInformation, "完了"

End Sub

情シス直伝!「Excelが開かない」を30秒で切り分ける鉄板フローチャート

Excelのエラーに直面したとき、何から試すべきかわからなくなりますよね。私が社内のヘルプデスク対応で毎回使っている「30秒切り分けフロー」を大公開します。これは10年以上の経験から「この順番で確認すれば最短で原因を絞り込める」と自信を持って言える手順です。

  1. エラーメッセージを確認する(10秒)画面に表示されているメッセージを声に出して読む。「ファイル形式」「リンク」「別のアプリ」「アクセスできません」のどれかが必ず含まれているはずです。
  2. 別のExcelファイルで同じエラーが出るか試す(10秒)他のExcelファイルを開いてみる。他のファイルは問題なく開けるなら、原因はファイル側にある。他のファイルも開けないなら、原因はExcel本体か環境側にある。
  3. 別のパソコンで開いてみる(10秒)可能であれば、問題のファイルを別のパソコンに移してExcelで開いてみる。別PCで開ければ環境の問題、別PCでも同じエラーならファイル自体の問題と確定できる。

この3ステップで「ファイルの問題か」「環境の問題か」が必ず絞り込めます。ここが特定できれば、あとは本記事の各セクションの手順を試すだけです。それだけで、情シスへの問い合わせの半分は自己解決できるようになります。

現場でよくある「困った!」3大あるある問題と解決法

あるある問題① 送ってもらったExcelを開いたらリンクエラーが出る!でも相手に聞けない雰囲気……

取引先から受け取ったExcelファイルを開いたらリンクエラーが出た。送った相手は上の人だし、「あなたのファイルが壊れてます」とも言いにくい。でも「更新する」を押してもいいのかわからない……というケースは本当に多いです。

まず知ってほしいのは、「更新しない」を選んでもファイルは正常に使えます。リンクエラーのダイアログで「更新しない」を選ぶと、外部ファイルを参照しているセルには前回の値(送ってきた相手のパソコンで最後に計算された結果)がそのまま表示されます。データを見るだけなら問題ありません。

もしそのファイルを加工して相手に戻す必要がある場合は、「データ」タブの「リンクの編集」からリンクを解除(値に変換)してから作業するのが正解です。リンクを解除すると数式ではなく値として保存されるので、相手に送り返してもエラーが出ません。これが現場でいちばんスマートな対処法です。

あるある問題② Excelファイルを開こうとするとフリーズして何分待っても動かない!

ダブルクリックしてからExcelが起動はするけど、ファイルを開こうとしたタイミングでフリーズ。砂時計(または回転するサークル)がずっと表示されたまま……という症状です。これはファイルの中身を読み込もうとして何かに引っかかっている状態です。

原因として最も多いのは、ファイルの中に大量の条件付き書式が設定されているケースです。誰かが「コピー&ペースト」を繰り返しながら表を作っていくと、条件付き書式の設定がどんどん積み重なって、最終的に万単位のルールが設定されてしまうことがあります。こうなると開くだけで数分かかることもあります。

対処手順は次のとおりです。

  1. タスクマネージャー(
    Ctrl

    Shift

    Esc

    )でExcelを強制終了します。

  2. エクスプローラーで問題のExcelファイルを右クリックし、「コピー」を選択してデスクトップに貼り付けます(バックアップを作ります)。
  3. 問題のExcelファイルを右クリックし、「名前を変更」でファイルの拡張子を
    .xlsx

    から

    .zip

    に変更します(確認ダイアログが出たら「はい」を選択します)。

  4. .zip

    ファイルを開くと、中に

    xl

    というフォルダがあります。そのなかの

    worksheets

    フォルダにあるXMLファイルをテキストエディタで開き、

    conditionalFormatting

    というタグを含む部分を探して削除します。

  5. ファイルを保存して閉じ、拡張子を
    .zip

    から

    .xlsx

    に戻してExcelで開きます。

ステップ3以降はやや上級者向けですが、知っていると本当に助かります。怖くて触れない方は、まずExcelのVBAで条件付き書式を一括削除するアプローチも有効です。

【コード③】条件付き書式を全シートから一括削除するコード
動作検証済みバージョンExcel 2016 / 2019 / 2021 / Microsoft 365(Windows版)
注意条件付き書式が完全に削除されます。必ずバックアップを取ってから実行してください。

Sub DeleteAllConditionalFormats()
' =============================================
' ブック内のすべてのシートから条件付き書式を一括削除するコード
' フリーズの原因となる大量の条件付き書式を一気に消すことができます
' 実行前に必ずファイルを別名で保存すること!
' =============================================

Dim ws As Worksheet ' 各シートを処理するための変数
Dim deleteCount As Long ' 削除したシートの数を数える変数

' 実行前に確認メッセージを表示する
If MsgBox("全シートの条件付き書式をすべて削除します。" & vbCrLf & _
"この操作は元に戻せません。バックアップは取りましたか?", _
vbYesNo + vbExclamation, "重要な確認") = vbNo Then
Exit Sub ' 「いいえ」なら処理しない
End If

' 画面の更新を一時停止して処理を高速化する
Application.ScreenUpdating = False

' すべてのシートを順番に処理する
For Each ws In ThisWorkbook.Worksheets
ws.Cells.FormatConditions.Delete ' そのシート全体の条件付き書式を削除
deleteCount = deleteCount + 1
Debug.Print ws.Name & " の条件付き書式を削除しました。"
Next ws

' 画面の更新を再開する
Application.ScreenUpdating = True

' 処理完了のメッセージを表示する
MsgBox deleteCount & " 枚のシートから条件付き書式を削除しました。" & vbCrLf & _
"ファイルを保存してから動作を確認してください。", _
vbInformation, "完了"

End Sub

あるある問題③ Excelファイルが毎回「読み取り専用」で開いてしまう!

ファイルサーバーや共有フォルダのExcelを開こうとすると、毎回「このファイルは読み取り専用です」と表示されて編集できない。「編集を有効にする」を押せば一応作業できるけど、毎回これが出るのが煩わしい……というケースです。

これには複数の原因がありますが、最も多いパターンは「ファイルにロックがかかっている」ことです。誰か別の人が同じファイルを開いているか、前の作業で正常に閉じられずロックファイルが残っているかのどちらかです。

対処手順を説明します。まず対象のExcelファイルが保存されているフォルダをエクスプローラーで開きます。「表示」タブから「ファイル名拡張子」と「隠しファイル」の両方にチェックを入れてください。すると、Excelファイル名の先頭に「

~$

」がついた同名のファイルが見えることがあります(例「

~$売上管理.xlsx

」)。これがロックファイルです。このファイルを削除すれば、通常モードで開けるようになります。

ただし、誰かが本当に作業中の場合はロックファイルを削除してはいけません。削除すると、作業中の人のファイルが破損する危険性があります。必ず「誰もそのファイルを開いていない」ことを確認してから削除してください。これは私が新人の頃に実際にやってしまった失敗で、先輩が2時間かけて作業したデータを消してしまい、大変な目に遭いました。本当に気をつけてください。

初心者がやりがちな落とし穴と、私の失敗談

長年情シスをやっていると、同じ失敗を何度も見てきます。逆に自分も若い頃にやらかした失敗があります。ここでは特に「やりがちだけど危険な操作」をまとめます。

まず「開いて修復する」を選んだあとに「データの抽出」をすぐに選ばないことが大切です。「データの抽出」を選ぶと数式がすべて値に変換されてしまいます。必ず先に「修復」を試してください。私が入社2年目のとき、焦って「データの抽出」を先に選んでしまい、1000行以上の計算式が全部消えたことがあります。上司に報告するのが本当につらかったです。

次にバックアップを取る前に操作しないことです。「開いて修復する」「リンクの解除」「VBAの実行」など、どの操作もファイルを変更する可能性があります。必ず作業前に問題のファイルをコピーして別の場所に保存しておいてください。「コピーを取ろうと思っていたけど面倒でそのまま作業してしまい、余計に壊した」という話は本当によく聞きます。

また、「Officeを再インストールしたら直るだろう」と安易に判断しないことも重要です。Officeの再インストールは時間もかかりますし、ライセンスの再認証が必要になることもあります。まず「クイック修復」→「オンライン修復」の順で試してください。それでも直らない場合に限り、再インストールを検討するべきです。再インストールで直る問題は、実はオンライン修復でも直ることがほとんどです。

さらに、VBAコードを「とりあえず実行してみる」のは危険です。インターネットで拾ってきたVBAコードを動作確認もせずに本番ファイルに実行する方が意外と多いのですが、内容を理解しないまま実行するとデータが消えたり、ファイルが別の場所に保存されてしまったりすることがあります。この記事に掲載しているコードは動作検証済みですが、どんなコードも必ずバックアップを取ってからコピーファイルで試すことを習慣にしてください。

VBAで自動化!Excelを開く前にエラーを事前チェックするコード

ここまでは「エラーが出てから対処する」話をしてきましたが、ここからは「エラーが出る前に気づく」仕組みを作る方法を紹介します。毎日大量のExcelファイルを扱う業務では、問題のあるファイルを事前に検出できると非常に助かります。

以下のコードは、指定したフォルダ内のすべてのExcelファイルを順番に開き、外部リンクが含まれているかどうかを自動でチェックしてリストを作成するものです。業務の引き継ぎや、社内でファイルを共有する前の「送付前チェック」として活用できます。

【コード④】フォルダ内のExcelファイルを一括スキャンして外部リンクを検出するコード
動作検証済みバージョンExcel 2016 / 2019 / 2021 / Microsoft 365(Windows版)
注意が必要なバージョンExcel 2013以前はFileSystemObjectの参照設定が必要な場合があります。

Sub ScanFolderForExternalLinks()
' =============================================
' 指定フォルダ内のExcelファイルを全件チェックし
' 外部リンクを含むファイルをリストアップするコード
' チェック結果は新しいシートに一覧で出力されます
' =============================================

Dim folderPath As String ' チェックするフォルダのパスを入れる変数
Dim fileName As String ' フォルダ内のファイル名を入れる変数
Dim wb As Workbook ' 開いたブックを入れる変数
Dim resultWs As Worksheet ' 結果を書き出すシートを入れる変数
Dim resultRow As Long ' 結果を書き出す行番号を管理する変数

' - フォルダを選択するダイアログを表示する -
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "チェックするフォルダを選択してください"
If .Show = -1 Then
folderPath = .SelectedItems(1) & "\" ' 選択されたフォルダパスを取得
Else
MsgBox "フォルダが選択されませんでした。処理を中止します。"
Exit Sub
End If
End With

' - 結果を書き出す新しいシートを準備する -
Set resultWs = ThisWorkbook.Sheets.Add ' 新しいシートを追加
resultWs.Name = "外部リンクチェック結果" ' シート名をつける

' - 結果シートのヘッダー行を作成する -
resultWs.Cells(1, 1).Value = "ファイル名"
resultWs.Cells(1, 2).Value = "外部リンクの数"
resultWs.Cells(1, 3).Value = "リンク先のブック名"
resultWs.Cells(1, 4).Value = "チェック日時"
resultRow = 2 ' データは2行目から書き始める

' - フォルダ内のExcelファイルを順番に処理する -
fileName = Dir(folderPath & "*.xls*") ' *.xlsx, *.xlsm, *.xls すべてが対象

Do While fileName <> "" ' ファイルがなくなるまでくり返す

' 自分自身のファイルはスキップする(自分を開こうとするのを防ぐ)
If fileName <> ThisWorkbook.Name Then

' 画面更新をオフにしてExcelを静かに開く
Application.ScreenUpdating = False
Application.DisplayAlerts = False ' ダイアログを自動で閉じる

On Error Resume Next ' 開けないファイルがあってもエラーで止まらない
Set wb = Workbooks.Open(folderPath & fileName, _
UpdateLinks:=0, _
ReadOnly:=True) ' 読み取り専用で開く(安全のため)
On Error GoTo 0

If Not wb Is Nothing Then ' 正常に開けた場合だけ処理する
' ExternalLinksプロパティで外部リンクの一覧を取得する
Dim links As Variant
links = wb.LinkSources(xlExcelLinks) ' Excelブックへのリンクのみ取得

If Not IsEmpty(links) Then
' 外部リンクが1件以上あった場合、結果シートに書き出す
Dim i As Long
For i = 1 To UBound(links)
resultWs.Cells(resultRow, 1).Value = fileName
resultWs.Cells(resultRow, 2).Value = UBound(links)
resultWs.Cells(resultRow, 3).Value = links(i) ' リンク先ファイル名
resultWs.Cells(resultRow, 4).Value = Now() ' チェック日時
resultRow = resultRow + 1 ' 次の行に移動
Next i
End If

wb.Close SaveChanges:=False ' 保存せずに閉じる
Set wb = Nothing ' 変数をリセットする
End If

Application.DisplayAlerts = True
Application.ScreenUpdating = True

End If

fileName = Dir() ' 次のファイルへ移動する

Loop

' - 結果シートを見やすく整形する -
resultWs.Columns.AutoFit ' 列幅を自動調整する

' - 完了メッセージを表示する -
If resultRow = 2 Then
MsgBox "外部リンクを含むファイルは見つかりませんでした。", vbInformation
Else
MsgBox (resultRow - 2) & " 件の外部リンクが見つかりました。" & vbCrLf & _
"「外部リンクチェック結果」シートを確認してください。", vbInformation
End If

End Sub

このコードを使えば、たとえば「部署内の共有フォルダにある50個のExcelファイルのうち、外部リンクを持つファイルはどれか」を数分で洗い出せます。月次でこのチェックを走らせる習慣をつけると、「突然リンクエラーが出て慌てる」状況を大幅に減らせます。

ぶっちゃけこうした方がいい!

ここまで読んでくれた方に、本音で言わせてください。

Excelのエラー対処法をひとつひとつ覚えることも大事なんですが、ぶっちゃけ「エラーが起きにくい運用ルールを最初から作る」ほうが何倍も楽なんですよね。

たとえばリンクエラー。これ、なんで起きるかって言うと「別のファイルのセルをそのままコピーして貼り付けてしまう」から起きるんです。なので職場のルールとして「外部ファイルからコピーするときは必ず値貼り付け(

Ctrl

Alt

V

から「値」を選択)にする」と決めておくだけで、リンクエラーの9割は未然に防げます。ルール一つで、毎回の対処が不要になるんです。

アドインのエラーも同じで、「使わなくなったアドインは即座に外す」という文化を職場に根付かせるだけで、謎のエラーが激減します。私が最初に赴任した職場では、誰も使っていないアドインが10個以上アクティブになっていて、毎朝Excelを開くたびにポップアップが出ていました。全員のPCのアドインを棚卸しして整理したら、その日から問い合わせがほぼゼロになった。本当に劇的でした。

あと、これはExcelのエラー対応で最も重要なことなんですが、「バックアップを自動化する」のが最強の予防策です。毎日の業務終わりに重要なExcelファイルを自動でバックアップするVBAや、OneDriveのバージョン履歴を活用する方法など、仕組みさえ作ってしまえば万が一エラーでデータが消えてもすぐに復元できます。

そしてもう一つ、現場の実態として「エラーが出たら即座に情シスに連絡する」のが実は正解ではないんですよね。情シスに来る問い合わせの多くは「自分で調べれば5分で解決できる」ものです。でも自分で調べない→情シスに聞く→情シスが他の緊急案件を後回しにして対応する→どちらも時間を無駄にする、というループが生まれます。

この記事で紹介した「30秒切り分けフロー」と「エラーメッセージをそのままメモして検索する」習慣さえ身につけてしまえば、たいていのエラーは自分で解決できます。そうなると情シスへの問い合わせは「本当に個人では解決できないレベルの問題」だけになって、双方にとって幸せな環境が生まれます。

まとめると、エラーが出てから焦って対処するのではなく、ルールと仕組みで予防するのが情シス10年以上の経験から言える最強の結論です。「転ばぬ先の杖」じゃないですけど、ちょっとした習慣の積み重ねがExcelトラブルから解放される一番の近道だと、個人的にはそう思っています。この記事が、あなたのExcelライフを少しでも快適にする一助になれば、本当にうれしいです。

Excelファイルのエラーに関するよくある質問

Excelを開くとエラーメッセージが出るのにファイルは普通に使えるのはなぜ?

これはほぼ間違いなくアドインの設定に残った「存在しないファイルへの参照」が原因です。Excelはファイルを開く前にアドインを読み込もうとするため、アドインが見つからないとエラーを出しますが、ファイルの読み込み自体には問題がないためファイルは正常に開きます。「ファイル」→「オプション」→「アドイン」から不要なアドインを無効化することで解決します。

「ファイル形式または拡張子が正しくありません」と表示されたとき、データは消えてしまった?

多くの場合、データは消えていません。ファイル自体は存在しているが、Excelが正しく認識できていないだけです。まずExcelの「開いて修復する」機能を試してください。それでもダメな場合は、ファイルの拡張子を

.xlsx

に修正してみましょう。修復しても開けない場合でも、「データの抽出」でセルの値だけを取り出せることがあります。

OneDriveに保存したExcelファイルが「別のアプリで開かれています」と表示されて開けない!

これはOneDriveの同期エラーによるファイルロックが原因である可能性が高いです。タスクバーのOneDriveアイコンを確認して赤い×マークが出ていないか確認しましょう。Excelをタスクマネージャーで完全に終了してから、OneDriveを再起動またはサインアウト・サインインし直すことで解消されることがほとんどです。

Excelファイルをダブルクリックしても何も表示されない(白い画面のまま)のはなぜ?

DDE設定の問題かアドインの干渉、またはExcelとファイルの関連付けが壊れている可能性があります。まず

Ctrl

キーを押しながらExcelアイコンをダブルクリックしてセーフモードで起動し、それで正常に開ければアドインが原因です。それでも改善しない場合は「ファイル」→「オプション」→「詳細設定」の「全般」セクションで「Dynamic Data Exchangeを使用する他のアプリケーションを無視する」のチェックを外すことで解決する場合があります。

Officeの修復をしてもエラーが直らない。次に何をすべき?

Officeの修復(クイック修復・オンライン修復)を試したあとも改善しない場合は、次の順番で対応を進めてください。まず問題のファイルを別のPCでも同じエラーが出るか確認します(別PCで開ければOffice環境の問題、別PCでも開けなければファイルの問題です)。ファイルの問題であれば自動回復ファイルや「以前のバージョン」の復元を試します。Office環境の問題であれば、Officeを完全にアンインストールしてから再インストールする方法を検討してください。

今すぐパソコンやスマホの悩みを解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

Excelファイルを開くとエラーが出る問題には、アドインの誤作動、外部ファイルへのリンクエラー、クラウドストレージの同期エラーによるファイルロック、拡張子・ファイル形式の不一致、ファイルパスの文字数超過、Officeアップデートによる互換性の問題、そしてファイルの破損といった多彩な原因があります。

最も重要なのは、エラーメッセージの内容をきちんと確認して、原因を正しく特定することです。原因がわかれば、この記事で紹介した手順を一つずつ試すことで、ほぼ確実に解決できます。

それでも解決しない場合は、Microsoft公式のサポートコミュニティに症状とエラーメッセージを詳しく書いて質問することをおすすめします。2026年現在、Microsoft 365はアップデートが非常に頻繁に行われており、新しい既知の問題と対処法が随時公開されています。

日頃から自動保存間隔を短く設定し、アドインを整理し、ファイルパスを短く保つ習慣をつけておくことが、Excelエラーとの長い付き合いを快適にする最大の近道です。この記事の内容が、あなたのExcelトラブル解決に少しでも役立てたなら幸いです。

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

タイトルとURLをコピーしました