破損したブックを修復する

Excel では、破損したブックを開いたときに自動的にファイルの回復モードが開始され、そのブックが開き直されると同時に、ブックの修復が試みられます。

Excel では、常にファイルの回復モードを自動的に開始できるとは限りません。ブックが破損しているために開けない場合は、手動でブックの修復を試みることができます。

また、ブックの修復に失敗したときは、ブックのデータを復元する他の方法を試してみることもできます。予防処置として、頻繁にブックを保存し、保存するたびにバックアップ コピーを作成することもできます。または、Excel によって指定した間隔で回復用ファイルが自動的に作成されるように指定することができます。この方法では、元のブックが誤って削除された場合や破損してしまった場合に、正常なブックのコピーにアクセスできます。

破損したブックを手動で修復する

  1. [ファイル] タブの [開く] をクリックします。

  2. Excel 2013 または Excel 2016 で、スプレッドシートが保存されている場所をクリックし、[参照] をクリックします。

  3. [開く] ダイアログ ボックスで、開こうとしている破損したブックを選択します。

  4. [開く] の横にある矢印をクリックし、[開いて修復] をクリックします。

  5. 次のいずれかの操作を行います。

    • ブックのデータを可能な限り回復するには、[修復] をクリックします。

    • ブックの修復に失敗したときに、ブックから値と数式を抽出するには、[データの抽出] をクリックします。

破損したブックのデータを回復する

次の方法は、他の方法では失われる可能性のあるデータを回復するのに役立ちます。1 つの方法で失敗した場合は、別の方法を試すことができます。これらのメソッドを使用してデータを回復できない場合は、ブックのデータを修復するために、サード パーティのソフトウェア ソリューションを試すこともできます。

重要: ディスク エラーまたはネットワーク エラーが原因でブックを開けない場合は、以下の回復方法のいずれかを試す前に、ブックを別のハード ディスク ドライブに移動するか、ネットワークからローカル ディスクに移動してください。

  • Excel で開いているブックのデータを回復するには、次のいずれかの操作を行います。

    • ブックを最後に保存したバージョンに戻す   ワークシートの編集中、変更を保存する前にブックが破損した場合は、最後に保存したバージョンに戻すことによって元のワークシートを回復できます。

      ブックを最後に保存したバージョンに戻すには、次の操作を行います。

      1. [ファイル] タブの [開く] をクリックします。

      2. 開いているブックの名前をダブルクリックします。

      3. ブックを再度開くには [はい] をクリックします。

        注: ブックが、最後に保存したバージョンのブックに戻ります。ブックの破損の原因となった可能性がある変更は、破棄されています。以前のバージョンのブックへの復元に関する詳細については、Office ファイルの自動保存および回復に関するページを参照してください。

    • ブックを SYLK (シンボリック リンク) 形式で保存する    ブックを SYLK 形式で保存すると、破損した要素を除外できることがあります。SYLK 形式は、通常、プリンターの問題を取り除くために使用されます。

      ブックを SYLK 形式で保存するには、次の操作を行います。

      1. [ファイル] タブをクリックし、[名前を付けて保存] をクリックします。

      2. [ファイルの種類] ボックスの一覧の [SYLK (*.slk)] をクリックし、[保存] をクリックします。

        注: SYLK ファイル形式を使用する場合は、ブック内の作業中のシートだけが保存されます。

      3. 選択したファイル形式では複数のシートを含むブックがサポートされていないというメッセージが表示されたら、[OK] をクリックして、作業中のシートだけを保存します。

      4. このブックには SYLK 形式と互換性のない機能が含まれている可能性があるというメッセージが表示されたら、[はい] をクリックします。

      5. [ファイル] タブの [開く] をクリックします。

      6. 保存した .slk ファイルを選択し、[開く] をクリックします。

        注: .slk ファイルを表示するには、[ファイルの種類] の一覧で [すべてのファイル] または [SYLK ファイル] をクリックすることが必要な場合があります。

      7. [ファイル] タブの [名前を付けて保存] をクリックします。

      8. [ファイルの種類] ボックスで、[Excel ブック] をクリックします。

      9. 元のブックを置き換えずにコピーを作成するには、[ファイル名] ボックスに新しいブック名を入力し、[保存] をクリックします。

        注: この形式ではブック内の作業中のワークシートしか保存できないため、破損したブックを繰り返し開き、それぞれのワークシートを別々に保存する必要があります。

  • Excel で開けないブックのデータを回復するには、次のいずれかの操作を行います。

    • Excel で計算方法のオプションを手動に設定する   ブックを開くには、計算方法の設定を自動から手動に変更してみます。ブックの再計算が行われなくなるため、ブックを開けるようになる場合があります。

      Excel で計算方法のオプションを手動に設定するには、次の操作を行います。

      1. 新しい、空白のブックが Excel で開いていることを確認します。新しい、空白のブックが開いていない場合は、次の操作を行います。

    • [ファイル] タブの [新規] をクリックします。

    • [使用できるテンプレート] の [空白のブック] をクリックします。

      1. [ファイル] タブの [オプション] をクリックします。

      2. [数式] カテゴリの [計算方法の設定] で [手動] をクリックします。

      3. [OK] をクリックします。

      4. [ファイル] タブの [開く] をクリックします。

      5. 破損したブックを選択し、[開く] をクリックします。

    • 外部参照を使用して破損したブックにリンクする    数式や計算値ではなくデータだけをブックから取り出す場合は、外部参照を使用して、破損したブックへのリンクを作成できます。

      外部参照を使用して破損したブックにリンクするには、次の操作を行います。

      1. [ファイル] タブの [開く] をクリックします。

      2. 破損したブックのあるフォルダーを選択し、破損したブックのファイル名をコピーして、[キャンセル] をクリックします。

      3. [ファイル] タブをクリックし、[新規作成] をクリックします。

      4. [使用できるテンプレート] の [空白のブック] をクリックします。

      5. 新しいブックのセル A1 に、「=ファイル名!A1」と入力し、Enter キーを押します (ファイル名は、手順 2 でコピーした破損したブックの名前です)。

        ヒント: ブックの名前だけを入力する必要があります。ファイル名の拡張子を入力する必要はありません。

      6. [値の更新] ダイアログ ボックスが表示されたら、破損したブックを選び、[OK] をクリックします。

      7. [シートの選択] ダイアログ ボックスが表示されたら、適切なシートを選び、[OK] をクリックします。

      8. セル A1 を選びます。

      9. [ホーム] タブの [クリップボード] で [コピー] をクリックします。

      10. セル A1 から始めて、破損したブックのデータが含まれているセルの範囲とほぼ同じサイズの領域を選びます。

      11. [ホーム] タブの [クリップボード] グループで [貼り付け] をクリックします。

      12. セル範囲が選択されている状態のまま、もう一度 [ホーム] タブの [クリップボード] で [コピー] をクリックします。

      13. [ホーム] タブの [クリップボード] グループで、[貼り付け] の下にある矢印をクリックし、[値の貼り付け] の下にある [] をクリックします。

        注: 値を貼り付けると、破損したブックへのリンクが削除され、データだけが残ります。

    • マクロを使用して破損したブックからデータを取り出す    グラフと破損したブックとの間にリンクが設定されている場合は、マクロを使用してグラフのソース データを取り出すことができます。

      マクロを使用するには、次の操作を行います。

      1. 次のマクロ コードをモジュール シートに入力します。

        Sub GetChartValues() 
        Dim NumberOfRows As Integer
        Dim X As Object
        Counter = 2
        ' Calculate the number of rows of data.
        NumberOfRows = UBound(ActiveChart.SeriesCollection(1).Values)
        Worksheets("ChartData").Cells(1, 1) = "X Values"
        ' Write x-axis values to worksheet.
        With Worksheets("ChartData")
        .Range(.Cells(2, 1), _
        .Cells(NumberOfRows + 1, 1)) = _
        Application.Transpose(ActiveChart.SeriesCollection(1).XValues) 
        End With
        ' Loop through all series in the chart and write their values to
        ' the worksheet.
        For Each X In ActiveChart.SeriesCollection
        Worksheets("ChartData").Cells(1, Counter) = X.Name
        With Worksheets("ChartData")
        .Range(.Cells(2, Counter), _ 
        .Cells(NumberOfRows + 1, Counter)) = _
        Application.Transpose(X.Values)
        End With
         Counter = Counter + 1
        Next
        End Sub
      2. ブックに新しいワークシートを挿入し、その名前を ChartData に変更します。

      3. 基になっているデータ値を抽出するグラフを選びます。

      4. 注: グラフはワークシートまたは独立したグラフ シートに埋め込むことができます。

      5. GetChartValues マクロを実行します。

      6. ChartData ワークシートは、グラフから取り出したデータで置き換えられます。

自動的にブックのバックアップ コピーを保存する

自動的にブックのバックアップ コピーを保存すると、元のブックが誤って削除された場合や破損してしまった場合に、正常なブックのコピーにアクセスできます。

  1. [ファイル] タブの [名前を付けて保存] をクリックします。

  2. Excel 2013 または Excel 2016 で、スプレッドシートが保存されている場所をクリックし、[参照] をクリックします。

  3. [保存] ボタンの隣にある、[ツール] の横にある下向き矢印をクリックし、[全般オプション] をクリックします。

  4. [バックアップ ファイルを作成する] チェック ボックスをオンにします。

以前のバージョンのブックの保存および回復に関する詳細、および (以前に保存していなかった) 新しいブックの回復に関する詳細については、「Office ファイルの回復機能」を参照してください。

指定した間隔で自動的に回復用ファイルを作成する

Excel で定期的にブックの回復用ファイルを作成するように設定すると、元のブックが誤って削除された場合や破損してしまった場合に、正常なブックのコピーにアクセスできます。

  1. [ファイル] タブの [オプション] をクリックします。

  2. [保存] カテゴリで、[ブックの保存] の [次の間隔で回復用データの自動保存を行う] チェック ボックスをオンにし、分数を入力します。

  3. [自動回復用ファイルの場所] ボックスに、回復用ファイルを保存する場所を入力します。

  4. [このブックの自動保存を行わない] チェック ボックスがオフになっていることを確認します。

以前のバージョンのブックの保存および回復に関する詳細、および (以前に保存していなかった) 新しいブックの回復に関する詳細については、「Office ファイルの回復機能」を参照してください。

破損したブックを手動で修復する

  1. Microsoft Office ボタン Office ボタンの画像 をクリックして、[開く] をクリックします。

  2. [開く] ダイアログ ボックスで、開こうとしている破損したブックを選択します。

  3. [開く] の横にある矢印をクリックし、[開いて修復] をクリックします。

  4. 次のいずれかの操作を行います。

    • ブックのデータを可能な限り回復するには、[修復] をクリックします。

    • ブックの修復に失敗したときに、ブックから値と数式を抽出するには、[データの抽出] をクリックします。

破損したブックのデータを回復する

次の方法は、他の方法では失われる可能性のあるデータを回復するのに役立ちます。1 つの方法で失敗した場合は、別の方法を試すことができます。これらのメソッドを使用してデータを回復できない場合は、ブックのデータを修復するために、サード パーティのソフトウェア ソリューションを試すこともできます。

重要: ディスク エラーまたはネットワーク エラーが原因でブックを開けない場合は、以下の回復方法のいずれかを試す前に、ブックを別のハード ディスク ドライブに移動するか、ネットワークからローカル ディスクに移動してください。

  • Excel で開いているブックのデータを回復するには、次のいずれかの操作を行います。

    • ブックを最後に保存したバージョンに戻す   ワークシートの編集中、変更を保存する前にブックが破損した場合は、最後に保存したバージョンに戻すことによって元のワークシートを回復できます。

      ブックを最後に保存したバージョンに戻すには、次の操作を行います。

      1. Microsoft Office ボタン Office ボタンの画像 をクリックして、[開く] をクリックします。

      2. Excel で開いているブックの名前をダブルクリックします。

      3. ブックを再度開くには [はい] をクリックします。

        注: ブックが、最後に保存したバージョンのブックに戻ります。ブックの破損の原因となった可能性がある変更は、破棄されています。

    • ブックを SYLK (シンボリック リンク) 形式で保存する    ブックを SYLK 形式で保存すると、破損した要素を除外できることがあります。SYLK 形式は、通常、プリンターの問題を取り除くために使用されます。

      ブックを SYLK 形式で保存するには、次の操作を行います。

      1. Office ボタンの画像 (Microsoft Office ボタン) をクリックし、[名前を付けて保存] をクリックします。

      2. [ファイルの種類] ボックスの一覧の [SYLK (*.slk)] をクリックし、[保存] をクリックします。

        注: SYLK ファイル形式を使用する場合は、ブック内の作業中のシートだけが保存されます。

      3. 選択したファイル形式では複数のシートを含むブックがサポートされていないというメッセージが表示されたら、[OK] をクリックして、作業中のシートだけを保存します。

      4. このブックには SYLK 形式と互換性のない機能が含まれている可能性があるというメッセージが表示されたら、[はい] をクリックします。

      5. Office ボタンの画像 (Microsoft Office ボタン) をクリックし、[閉じる] をクリックします。

      6. 変更を保存するかどうかを確認するメッセージが表示されたら、[はい] をクリックします。

      7. Microsoft Office ボタン Office ボタンの画像 をクリックして、[開く] をクリックします。

      8. 保存した .slk ファイルを選択し、[開く] をクリックします。

        注: .slk ファイルを表示するには、[ファイルの種類] ボックスの一覧の [すべてのファイル] または [SYLK ファイル (*.slk)] をクリックすることが必要な場合があります。

      9. Office ボタンの画像 (Microsoft Office ボタン) をクリックし、[名前を付けて保存] をクリックします。

      10. [ファイルの種類] ボックスの一覧の [Excel ブック (*.xlsx)] をクリックします。

      11. 元のブックを置き換えずにコピーを作成するには、[ファイル名] ボックスに新しいブック名を入力し、[保存] をクリックします。

        注: この形式ではブック内の作業中のワークシートしか保存できないため、破損したブックを繰り返し開き、それぞれのワークシートを別々に保存する必要があります。

  • Excel で開けないブックのデータを回復するには、次のいずれかの操作を行います。

    • Excel で計算方法のオプションを手動に設定する   ブックを開くには、計算方法の設定を自動から手動に変更してみます。ブックの再計算が行われなくなるため、ブックを開けるようになる場合があります。

      Excel で計算方法のオプションを手動に設定するには、次の操作を行います。

      1. 新しい、空白のブックが Excel で開いていることを確認します。新しい、空白のブックが開いていない場合は、次の操作を行います。

        1. Microsoft Office ボタン Office ボタンの画像 をクリックして、[新規] をクリックします。

        2. [Blank and recent] の [新しいブック] をクリックします。

      2. Microsoft Office ボタン Office ボタンの画像 をクリックし、次に [Excel のオプション] をクリックします。

      3. [数式] カテゴリの [計算方法の設定] で [手動] をクリックします。

      4. [OK] をクリックします。

      5. Microsoft Office ボタン Office ボタンの画像 をクリックして、[開く] をクリックします。

      6. 破損したブックを選択し、[開く] をクリックします。

    • 外部参照を使用して破損したブックにリンクする   数式や値ではなくデータだけをブックから取り出す場合は、外部参照を使用して、破損したブックへのリンクを作成できます。

      外部参照を使用して破損したブックにリンクするには、次の操作を行います。

      1. Microsoft Office ボタン Office ボタンの画像 をクリックして、[開く] をクリックします。

      2. [ファイルの場所] ボックスで、破損したブックのある場所を参照し、[キャンセル] をクリックします。

      3. Microsoft Office ボタン Office ボタンの画像 をクリックして、[新規] をクリックします。

      4. [Blank and recent] の [新しいブック] をクリックします。

      5. 新しいブックのセル A1 に「=<ファイル名>!A1」 (<ファイル名> は破損したブックの名前) と入力し、Enter キーを押します。

        ヒント: 入力する必要があるのはブックの名前だけです。拡張子を入力する必要はありません。

      6. ブックをクリックし、[OK] をクリックします。

      7. [シートの選択] ダイアログ ボックスが表示されたら、適切なシートを選択し、[OK] をクリックします。

      8. セル A1 を選択します。

      9. [ホーム] タブの [クリップボード] で、[コピー] をクリックします。

        ショートカット キーの使用 Ctrl キーを押しながら C キーを押して実行することもできます。

      10. 破損したブックのデータが入力されているセル範囲とほぼ同じ大きさの領域を選択します。

      11. [ホーム] タブの [クリップボード] グループで [貼り付け] をクリックします。

      12. セル範囲が選択されている状態のまま、もう一度 [ホーム] タブの [クリップボード] で [コピー] をクリックします。

      13. [ホーム] タブの [クリップボード] で、[貼り付け] の下にある矢印をクリックし、[形式を選択して貼り付け] をクリックします。

      14. [貼り付け] の [] をクリックし、[OK] をクリックします。

        注: 値を貼り付けると、破損したブックへのリンクが削除され、データだけが残ります。

    • Microsoft Office Word または Microsoft ワードパッドで破損したブックを開く    Microsoft Office Excel コンバーターがインストールされている場合は、Word でブックを開くことができる可能性があります。ブックを Word で開くと、データを回復することができます。モジュール シート、ダイアログ シート、グラフ シート、マクロ シート、または埋め込みグラフを回復するために、この方法を使用することはできません。セルの数式を回復することもできません。現在、破損したブックのセルに表示されている数式の結果のみを回復できます。

      また、Excel ブックをワードパッドで開くこともできます。ブックが開いた場合、モジュールおよびクラス モジュールで Microsoft Visual Basic コードを回復できる場合があります。"Sub" または "Function" という単語を検索すると、自分のコードを見つけることができます。

    • マクロを使用して破損したブックからデータを取り出す    グラフと破損したブックとの間にリンクが設定されている場合は、マクロを使用してグラフのソース データを取り出すことができます。

      マクロを使用するには、次の操作を行います。

      1. 次のマクロ コードをモジュール シートに入力します。

        次のマクロ コードをモジュール シートに入力します。

        Sub GetChartValues() 
        Dim NumberOfRows As Integer
        Dim X As Object
        Counter = 2
        ' Calculate the number of rows of data.
        NumberOfRows = UBound(ActiveChart.SeriesCollection(1).Values)
        Worksheets("ChartData").Cells(1, 1) = "X Values"
        ' Write x-axis values to worksheet.
        With Worksheets("ChartData")
        .Range(.Cells(2, 1), _
        .Cells(NumberOfRows + 1, 1)) = _
        Application.Transpose(ActiveChart.SeriesCollection(1).XValues) 
        End With
        ' Loop through all series in the chart and write their values to
        ' the worksheet.
        For Each X In ActiveChart.SeriesCollection
        Worksheets("ChartData").Cells(1, Counter) = X.Name
        With Worksheets("ChartData")
        .Range(.Cells(2, Counter), _ 
        .Cells(NumberOfRows + 1, Counter)) = _
        Application.Transpose(X.Values)
        End With
         Counter = Counter + 1
        Next
        End Sub
      2. ブックに新しいワークシートを挿入し、その名前を ChartData に変更します。

      3. 基になっているデータ値を取り出すグラフを選択します。

        注: グラフは、ワークシートに埋め込まれている場合もあれば、独立したグラフ シートに表示される場合もあります。

      4. GetChartValues97 マクロを実行します。

        ChartData ワークシートは、グラフから取り出したデータで置き換えられます。

自動的にブックのバックアップ コピーを保存する

  1. Office ボタンの画像 (Microsoft Office ボタン) をクリックし、[名前を付けて保存] をクリックします。

  2. [ツール] の横にある矢印をクリックし、[全般オプション] をクリックします。

  3. [バックアップ ファイルを作成する] チェック ボックスをオンにします。

指定した間隔で自動的に回復用ファイルを作成する

  1. Microsoft Office ボタン Office ボタンの画像 をクリックし、次に [Excel のオプション] をクリックします。

  2. [保存] カテゴリの [ブックの保存] で、[次の間隔で回復用データの自動保存を行う:] チェック ボックスをオンにし、自動保存の間隔を分単位で入力します。

  3. [ファイルを自動保存する場所] ボックスに、回復用ファイルの保存先となる場所を入力します。

  4. [このブックの自動保存を行わない] チェック ボックスがオフになっていることを確認します。

補足説明

Excel Tech Community では、いつでも専門家に質問できます。Microsoft コミュニティでは、サポートを受けられます。また、Excel User Voice では、新機能についての提案や改善案を送信することができます。

共有 Facebook Facebook Twitter Twitter メール メール

この情報は役に立ちましたか?

ありがとうございます。その他のフィードバックはありませんか?

改善内容をお聞かせください

ご意見をいただきありがとうございます。

×