Help

【Excel】修復されたレコード: /xl/sharedStrings.xml の原因と直し方|再発防止も解説

excel-meister

Excelファイルを開いたときに、次のようなメッセージが表示されて困っていませんか。

‘○○.xlsx’ の一部の内容に問題が見つかりました。可能な限り内容を回復しますか?
ブックの発行元が信頼できる場合は [はい] をクリックしてください。

[はい] を押すと、続けて「修復されたレコード: /xl/sharedStrings.xml パーツ内の文字列プロパティ (文字列)」と表示されます。昨日まで普通に使えていたファイルでも突然起きるエラーです。

この記事では、まず今すぐできる対処方法を紹介し、そのあとで原因と再発防止策を説明します。

一部の内容に問題が見つかりました。可能な限り内容を回復しますか?

この記事でわかること

  • 「修復されたレコード:/xl/sharedStrings.xml」が出たときにまずやること
  • エラーの原因(文字列データ・フリガナ情報の異常)
  • 原因になったセルの探し方
  • 再発させないための貼り付け方

「修復されたレコード: /xl/sharedStrings.xml」とはどんなエラー?

Excelのファイル(.xlsx)は、中身が複数のXMLファイルをまとめたものです。
そのうち sharedStrings.xml は、ブック内のセルに入力された「文字列」をまとめて保存しているファイルです。

このエラーは、sharedStrings.xml に保存された文字列データのどこかが壊れていて、Excelが自動で修復した、という意味です。数値や数式ではなく、文字列(テキスト)に原因があるのがポイントです。

修復されたレコード: /xl/sharedStrings.xml パーツ内の文字列プロパティ

まず確認:修復して開いても大丈夫?

自分や社内で作成した、発行元が信頼できるファイルであれば、[はい]を押して修復しても問題ありません。ただし次の2点は必ず守ってください。

  1. 修復前の元ファイルをコピーして残しておく(修復で一部の文字が消えることがあるため)
  2. 修復後は「名前を付けて保存」で別名保存する

メールで受け取った覚えのないファイルなど、発行元が不明な場合は修復せず、送り主に確認しましょう。

解決方法1:修復して別名で保存し直す

一番簡単な方法です。

  1. エラーが出たら [はい] を押して修復する
  2. 修復の内容を確認するメッセージで [閉じる] を押す
  3. 文字が消えたり化けたりしているセルがないか確認する
  4. [ファイル] → [名前を付けて保存] で、新しい名前で保存する
  5. 保存したファイルを開き直し、エラーが出ないことを確認する

多くの場合はこれで解決します。開き直すたびに同じエラーが出る場合は、壊れた文字列がまだ残っています。解決方法2に進んでください。

解決方法2:Excelの「開いて修復」を使う

通常の修復でうまくいかない場合は、Excelの修復機能を明示的に使います。

  1. Excelを起動し、[ファイル] → [開く] → [参照] を選ぶ
  2. 対象のファイルを選択する
  3. [開く] ボタン右の「▼」から [開いて修復] を選ぶ
  4. [修復] を選択する(うまくいかない場合は [データの抽出] を選ぶ)

解決方法3:原因のセルの文字列を入れ直す

エラーが繰り返す場合は、原因になっている文字列を入れ直すのが確実です。原因のセルに心当たりがある場合(最近Webページから貼り付けたセルなど)は、次の手順で入れ直します。

  1. 該当セルを選択してコピーする
  2. メモ帳などのテキストエディタに貼り付ける
  3. メモ帳の文字を全選択して再コピーし、Excelのセルに貼り付け直す
  4. 別名で保存し、開き直してエラーが出ないか確認する

メモ帳を経由すると、文字以外の余計な情報(フリガナ情報や書式、制御文字)が取り除かれます。

原因のセルがわからない場合は、次の「原因を特定する方法」で探せます。

エラーの主な原因

原因1:フリガナ情報の異常(当サイトで確認した事例)

Excelは、キーボードで日本語を入力するとフリガナ情報を自動で記録しています。このフリガナ情報が異常な状態になると、sharedStrings.xml の修復が発生します。

当サイトで実際に調べた事例では、修復前後のファイルを比較したところ、文字列のフリガナ情報だけが修復で削除されていました。

原因2:Webページや他のアプリからの貼り付け

フリガナ情報の異常は、Webブラウザや、Excel・テキストファイル以外のアプリからコピーした文字を貼り付けたときに起きやすい傾向があります。見た目は普通の文字でも、裏側に余計な情報が付いてくることがあるためです。

原因3:特殊な文字・制御文字が含まれている

システムから出力したデータやWebからの貼り付けには、画面に表示されない制御文字が含まれていることがあります。これも文字列データの破損原因になります。

原因4:Excel以外のツールで作成・編集されたファイル

Excel以外のソフトやプログラムで作成・加工した.xlsxファイルでは、文字列データの書き方がExcelの想定と合わず、このエラーになることがあります。この場合は、作成元のツール側の修正が必要です。

原因を特定する方法(上級者向け)

どのセルが原因かを突き止めたい場合は、ファイルの中身を直接比較します。

準備するもの

  • 修復前のファイル(必ずコピーを使う)
  • 修復して別名保存したファイル
  • 差分比較ツール(WinMerge など)

手順

  1. 2つのファイルの拡張子を「.xlsx」から「.zip」に変更する
  2. それぞれを解凍する
  3. 解凍したフォルダ内の「xl」→「sharedStrings.xml」を、WinMergeで比較する
  4. 差分がある箇所の文字列を確認し、その文字列が入っているセルをExcelの検索(Ctrl+ F)で探す

見つかったセルは、解決方法3の手順で入れ直してください。

再発させないための対策

  • Webページの文字は「値のみ貼り付け」かメモ帳経由で貼る

    Microsoft 365 なら Ctrl + Shift + V で値のみ貼り付けができます(※バージョンにより使えない場合あり)。
  • 貼り付けた文字列は CLEAN 関数で制御文字を取り除く

    例: =CLEAN(A2) で、印刷できない文字を削除した文字列が得られます。
  • 大事なファイルは定期的にバックアップを取る
  • Excelを最新の状態に更新する

よくある質問

Q. 修復すると、データは消えますか?
A. 壊れていた文字列部分が削除・変更されることがあります。数値や数式は通常そのまま残りますが、修復後は必ず内容を確認してください。

Q. 毎回同じエラーが出ます。
A. 修復したファイルを上書き保存せず、別名で保存し直してください。それでも出る場合は、解決方法3で原因のセルを入れ直しましょう。

Q. 他の人から受け取ったファイルで出ます。
A. 作成者側の環境や作成ツールに原因がある可能性があります。作成者に、文字列をメモ帳経由で入れ直してもらうか、Excelで保存し直してもらうよう依頼してください。

まとめ

  • 「修復されたレコード:/xl/sharedStrings.xml」は、ブック内の文字列データの破損が原因
  • まずは修復して別名で保存。繰り返す場合は原因のセルをメモ帳経由で入れ直す
  • Webからの貼り付けは値のみ貼り付けかメモ帳経由にすると防げる

関連記事

記事URLをコピーしました