今すぐ行うこと
- 壊れたブックをコピーし、コピーだけで作業します。
- 数式や書式を残せる可能性がある、Excelの「開いて修復する」とパッケージの組み直しを先に試します。
- それでも開かない場合は、「破損ファイルの修復」で救出を選び、値だけの.xlsxとシートごとのCSVを受け取ります。
- 結果の行数や合計を確認し、必要な箇所の数式と書式を作り直します。
手順
ブックをコピーする
.xlsxまたは.xlsファイルを別のフォルダーかディスクにコピーし、元のファイルには触れないでおきます。0 KBのファイルには救出できるものがないので、自動回復のコピーや以前の版を探してください。
失うものが少ない方法から試す
Excelで「ファイル」の「開く」から「参照」でコピーを選び、「開く」の横の矢印から「開いて修復する」を選んで「修復」か「データの抽出」を押します。.xlsxなら、FileFix Ultimateの「破損ファイルの修復」によるパッケージの組み直しも試す価値があります。どちらも救出より多くを残せます。
「破損ファイルの修復」で救出を選ぶ
「破損ファイルの修復」を開き、ブックを選びます。ファイルを開ける状態にできない場合、アプリが内容の救出を提案します。それを選んでください。元のファイルは読み取るだけで、結果は新しいファイルとして書き出されます。
値だけのブックを開く
アプリは元の名前の後ろに.values.xlsxを付けた新しいファイルを書き出します。Excelで開き、シートを1つずつ確認します。文字、数値、TRUE・FALSE、エラー値、日付が元の行と列の位置に表示されます。
必要に応じてCSVファイルを使う
シートごとに、BOM付きUTF-8のCSVファイルとしても保存されるため、Excelで開いても日本語が文字化けしません。CSVは別のソフトへの取り込みや、バックアップとの比較に便利です。
確認して作り直す
合計、行数、わかっているいくつかの値を期待どおりか比べます。それから主要な数式を入れ直し、表示形式を設定し、グラフを作り直します。専門業者や後で別のツールがもっと救える可能性もあるので、壊れた元のファイルは保管しておきます。
救出モードがXLSXから読み取るもの
.xlsxファイルは、ワークシートごとのXMLパーツと、文字列テーブルやスタイルといった共通パーツを収めたZIPパッケージです。救出モードは、ブックのパーツ、リレーションシップ、共有文字列、スタイルが壊れていても、展開できる範囲でこれらを読み取ります。セルごとに共有文字列、インライン文字列、数値、TRUE・FALSE、エラー値を取り出します。
数式のセルは、数式そのものではなく、Excelが最後に計算して保存した結果を残します。日付の表示形式があるセルは、新しいブックでは本物の日付として、CSVではISO形式の日付として書き出すので、45231のようなシリアル値だけが残ることはありません。
Excel 97〜2003の古いXLSファイル
古い.xlsファイルは、複合ファイルのコンテナー内にバイナリーのBIFF8形式で保存されています。コンテナーが壊れている場合、救出モードはファイル全体からブックのストリームの先頭を探し、そこから読みます。共有文字列とラベル、数値、RKと複数RKの値、TRUE・FALSEとエラー、保存された数式の結果といった一般的なセルのレコードと、日付を正しく表示するための日付設定を理解します。
読み取りパスワードが設定されたブックは暗号化されているため、救出モードでは読み取りません。.xlsはExcel自身が形式を理解しているので、まずExcelの修復を試す価値があります。
失われるものと結果の扱い方
数式、表示形式、色、結合セル、列幅、グラフ、ピボットテーブル、画像、コメント、マクロは救出したファイルに含まれません。XMLパーツが途中で切れたシートは途中で終わることがあり、その場合はレポートに記録されます。等号、プラス、マイナス、@で始まる文字のセルは、表計算ソフトが数式として実行しないよう、CSVでは先頭にアポストロフィーを付けて書き出します。
使えるファイルに最も早く戻る方法は、救出した値を同じブックの古いコピーやテンプレートに貼り付けることです。そうすれば数式とレイアウトがすでにそろっています。
救出できない場合
- 読み取りパスワードで暗号化されたブックは、パスワードなしでは救出できません。
- 0 KBのファイルや、ゼロだけで埋まったファイルにはセルのデータがありません。
- XMLパーツやBIFFレコードが上書きされたシートは、読み取れる行だけが戻るか、何も戻りません。
- 救出モードが取り出すのは値だけで、数式、書式、グラフ、画像、マクロは戻りません。
FileFix Ultimateでできること
- 開ける状態にできないXLSXと古いXLSのブックから、セルの値を救出します。
- 行・列・日付を保った値だけの新しい.xlsxと、シートごとのUTF-8 CSVを書き出します。
- 数式のセルは最後の計算結果を残し、読み取れなかった部分はレポートで知らせます。
- 元のファイルは変更せず、個人利用は無料でファイルサイズの制限もアップロードもありません。
FileFix Ultimate は個人利用なら無料で、オフラインで動作し、復元元のドライブには書き込みません。業務利用にはPC 1台ごとに1年間のライセンスが必要です。実行前に署名を確認してください。
よく寄せられる質問
救出したファイルで数式が消えているのはなぜですか?
救出モードは、各数式が最後に出した値、つまりExcelがセルに保存している値を残します。数式の文字列は壊れやすいパーツに依存するため引き継ぎません。主要な数式を入れ直すか、数式が残っている古いコピーに値を貼り付けてください。
CSVをExcelで開くと文字化けします。どうすればいいですか?
CSVはBOM付きUTF-8で書き出しているので、最近のExcelは自動で認識します。古いソフトで文字化けする場合は、データの取り込み機能から開き、文字コードにUTF-8を選んでください。
CSVの一部の文字セルがアポストロフィーで始まるのはなぜですか?
=、+、-、@で始まる文字は、CSVを開いたときに数式として実行されるおそれがあります。そのためアプリがこうした文字の前にアポストロフィーを付け、ただの文字として残します。値だけの.xlsxには文字がそのまま入っています。
救出モードと通常の修復、どちらを先に使うべきですか?
通常の修復を先に使ってください。パッケージの組み直しは、該当するパーツが無事なら数式、書式、グラフまで残せます。救出は、それでもブックが開かないときの最後の手段です。