CSVガイド

ExcelでCSVが文字化けする原因と直し方|Windows・Mac

CSVをダブルクリックすると文字化けするのに、別のアプリでは読める。そんなときは、ファイルの文字コードとExcelの読み込み方法を確認します。まず下のツールで元のCSVが正しく読めるか試してください。

CSVの文字化けをこの場で確認

アップロード不要・ブラウザ内で処理します。

CSVファイルをここにドロップ

このページで確認・保存する手順

  1. 元のCSVを選び、文字コードごとの日本語表示を比較します。
  2. 正しく読める文字コードで開き、Excel向けにBOM付きUTF-8で保存します。
  3. Excel側で文字コードを指定する場合は、ダブルクリックではなくデータの取り込みから開きます。UTF-8のファイルはUTF-8を選びます。
  4. 氏名、記号、先頭の0を含む番号を確認してから、配布用ファイルを確定します。

WindowsのExcelで開く場合

UTF-8のCSVなら、BOM付きで保存すると通常の操作で開きやすくなります。BOMがない場合は、Excelの「データ」からテキストまたはCSVの取り込みを選び、ファイルの文字コードを指定します。Shift_JISのファイルにUTF-8を指定しても直らないため、先にプレビューで確認してください。

商品コードや口座番号を含む列は、読み込み時に文字列として扱います。CSVを一度数値として開いて保存してしまうと、後から表示形式を変えても消えた桁は戻りません。

MacのExcelで開く場合

Windowsで作ったCSVを受け取っても、OS名だけで文字コードは決められません。UTF-8とShift_JISの候補を見比べ、内容に合う設定で読み込みます。メニューにデータ取り込みがある場合は、読み込み画面で文字コードと区切り文字を確認してください。

文字コードを指定しても記号だけが違う場合は、全角チルダと波ダッシュなどの違いも確認します。日本語全体が読めない状態とは分けて調べます。

スプレッドシートや会計ソフトへ渡す場合

Googleスプレッドシートで開けても、同じCSVがExcelや会計ソフトで同じように扱われるとは限りません。freee、マネーフォワード、弥生などへ渡す場合は、対象の取り込み機能に記載された仕様を確認します。同じサービスでも、取引・請求書・仕訳で列名や形式が異なることがあります。

文字化け以外に取り込みエラーがある場合は、必須列、日付の書式、金額の小数点、区切り文字を確認してください。文字コードの変更だけで、取り込み形式まで自動的に合うわけではありません。

保存後に確認すること

  • WindowsとMacのどちらで使うか、Excelのバージョンも含めて確認します。
  • 日本語が直っていても、長いIDや日付のような文字列が変わっていないか確認します。
  • BOMは先頭の0や16桁以上の番号を保護する設定ではありません。
  • 読み込み画面やメニュー名はExcelのバージョンにより異なります。文字コードを指定できない場合は、変換したファイルを使って確認します。

確認できる範囲と保存の上限

表のプレビューは先頭から最大100行・50列までです。長いセルは500文字まで表示しますが、保存するファイルにはすべての列とセルの全文が含まれます。Excelで変わりやすい列の検出は、先頭から最大1,000行が対象です。確認用の文字列を約2MiB以内に抑えるため、それより少ない行数になることもあります。検出されなかった列も含め、必要な値を原本と照合してください。

XLSXで保存できるのは、元ファイルが50MiB以下、データがヘッダー行を除いて25万行以下、全体で200万セル以下の場合です。CSVの保存ではファイル全体を処理しますが、大きなファイルを保存できるかはブラウザの保存機能や空き容量にも左右されます。処理が完了していないデータや、読み取りエラーが残ったデータは保存できません。

100MiBを超えるファイルでは、最初は先頭100MiBの文字を確認します。表示する文字の出現数も、その範囲内の数です。CP932で保存するには「ファイル全体の文字を確認」を押して全体の検査を終えてください。CSVの列数や引用符の検査と、保存するデータの範囲は、どちらの設定でもファイル全体です。

よくある質問

Excelで保存し直せば直りますか?

文字化けしたまま保存し直すと、元の文字を復元できなくなることがあります。原本を残し、正しく読める設定を確認してから別名で保存してください。

UTF-8 BOM付きなのに1列になります。文字化けですか?

日本語が読めていて列だけが分かれない場合は、区切り文字を確認します。BOMは文字コードの手掛かりであり、カンマやタブの指定を代わりに行うものではありません。

参考資料