ぱんだツールズぱんだツールズ

文字コード・エンコーディング

ExcelとCSVを変換する方法 — Excelで開いて文字化け・データ崩れを防ぐ

約7分

ExcelファイルをCSVで保存したら列が崩れた、CSVをExcelで開いたら「繧オ繝シ繝薙せ」みたいな呪文になった—— ExcelとCSVを行き来するたびに起きる文字化け・データ崩れ・区切り文字の誤認識は、 仕事でファイルを扱う人なら一度は経験する壁です。 この記事では、その原因と対策を手順ベースで解説します。 UTF-8・Shift_JIS・BOM の違いも図解し、どの設定を選べばよいかをはっきり示します。

ExcelをCSVに保存する方法

ExcelファイルをCSVに変換する基本操作は「名前を付けて保存」です。 ただし保存形式の選び方を間違えると、後で文字化けやデータ崩れの原因になります。

Windows(Excel 2016以降)

  1. 対象の Excel ファイルを開く
  2. 「ファイル」→「名前を付けて保存」を選択
  3. ファイルの種類のドロップダウンから 「CSV UTF-8(コンマ区切り)(.csv)」 を選ぶ
  4. ファイル名を入力して「保存」をクリック

「CSV(コンマ区切り)」という似た選択肢がありますが、こちらは Shift_JIS で保存されます。 Googleスプレッドシートやプログラムで使うなら必ず「CSV UTF-8」を選んでください。

Mac(Numbers)

  1. ファイルを開き、メニューバーの「ファイル」→「書き出す」を選択
  2. 「CSV」を選択
  3. テキストエンコーディングが「Unicode(UTF-8)」になっていることを確認して「次へ」
  4. 保存先とファイル名を指定して「書き出す」

CSVをExcelで正しく開く方法

CSV ファイルをダブルクリックで開くと、Excel がエンコーディングを自動推測します。 BOM なしの UTF-8 ファイルを Windows 版 Excel でダブルクリックすると、 Shift_JIS として読んでしまい文字化けします。 確実に開くには「データ」タブからのインポートを使います。

  1. Excel を起動し、新しいブックを開く
  2. 「データ」タブ →「データの取得」→「テキストまたは CSV から」を選択
  3. 対象の CSV ファイルを選んで「インポート」
  4. 「ファイルの起点」ドロップダウンで文字コードを指定
    • UTF-8 のファイル:65001: Unicode (UTF-8)
    • Shift_JIS のファイル:932: 日本語 (シフト JIS)
  5. 区切り記号が「コンマ」になっていることを確認して「読み込み」

どの文字コードか分からない場合は、文字コード確認ツールにCSVをドロップすれば自動で判定できます。

文字化けの原因と対策

文字化けは「保存したときの文字コード」と「開くときに想定した文字コード」のズレが原因です。 日本語の「あ」という文字は、Shift_JIS では2バイト(0x82A0)、 UTF-8 では3バイト(0xE38182)で表現されます。 開く側が間違ったルールで解読すると、意味不明な文字列が表示されます。

Shift_JIS と UTF-8 の比較

Shift_JISUTF-8
対応文字ASCII と日本語世界中すべての文字
日本語1文字のサイズ2バイト3バイト
Excel(Windows)既定Shift_JIS で書き出すBOM付きなら自動認識
Web・API 連携非推奨(文字化けリスク大)事実上の標準

BOM(Byte Order Mark)の役割

BOM はファイルの先頭に置く3バイト(EF BB BF)の目印です。 Excel はこれを見つけると「UTF-8 で書かれている」と判断し、ダブルクリックでも文字化けしません。

ただし BOM は万能ではありません。Python・Node.js・Ruby などのプログラムで CSV を読む場合、 BOM が最初のセルの値として混入しバグの原因になることがあります。Excelで開くなら BOM付き、プログラムで処理するなら BOMなし、と用途で使い分けるのが実務的です。

ブラウザツールで変換する方法

ExcelとCSVの相互変換を手軽に行うなら、ぱんだツールズのツールが便利です。 処理はすべてブラウザ内で完結し、ファイルがサーバーに送信されないため、 機密データを含むファイルでも安心して使えます。

  • CSV↔Excel変換— CSV を Excel(.xlsx)に、または Excel を CSV に変換。文字コードを選択してダウンロードできます。
  • Excel→CSV一括変換— 複数の Excel ファイルをまとめて CSV に変換。文字コードを統一して出力できます。
  • CSV文字コード変換— 既存のCSVのエンコーディングを Shift_JIS ↔ UTF-8 で変換。既存ファイルの文字化けをすぐ直せます。

まとめ

  • ExcelでCSVを保存するときは「CSV UTF-8(コンマ区切り)」を選ぶ。「CSV(コンマ区切り)」を選ぶと Shift_JIS になる
  • CSVをExcelで開くときはダブルクリックを避け、「データ → テキストまたはCSVから」でエンコーディングを指定してインポートする
  • 文字化けの原因は「保存時の文字コード」と「読み込み時の想定」のズレ。BOM付き UTF-8 にすれば Excel と Web 系の両方で最大限互換性が取れる
  • 複数ファイルの一括変換やエンコーディング変換は、ブラウザ内変換ツールを使えばマクロ不要で処理できる

よくある質問

ExcelでCSVを保存したら列が崩れました。原因は何ですか?

最も多い原因は区切り文字の設定ミスです。カンマ(,)区切りで保存したつもりが、OS の地域設定によっては別の区切り文字(セミコロンなど)が使われることがあります。また、セル内に改行が含まれている場合、CSV の行が意図せず分割されることがあります。「名前を付けて保存」で保存形式を「CSV UTF-8(コンマ区切り)」に明示的に指定し直すと解決するケースがほとんどです。

CSVをExcelで開くと日本語が文字化けします。どう直せばよいですか?

Excelのダブルクリック開きを避け、「データ」タブ →「テキストまたはCSVから」を使ってインポートします。インポートダイアログの「ファイルの起点(エンコーディング)」で正しい文字コードを指定してください。UTF-8 のファイルなら「65001: Unicode (UTF-8)」、Shift_JIS なら「932: 日本語 (シフト JIS)」を選びます。BOM(Byte Order Mark)付きの UTF-8 であれば、ダブルクリックでも文字化けせずに開けます。

UTF-8 と Shift_JIS、どちらで保存すればよいですか?

用途によって使い分けます。Excelでのみ使うなら「Shift_JIS」または「UTF-8 BOM付き」が安定します。Googleスプレッドシートや Web サービスのCSV取り込み、プログラムでの処理には「UTF-8 BOMなし」が標準です。迷ったときは UTF-8 BOM付きを選ぶと、ExcelでもWeb系ツールでも最大限互換性が保てます。

BOM付き UTF-8 とはどういう意味ですか?

BOM(Byte Order Mark)とは、ファイルの先頭に置く3バイト(EF BB BF)の見えない目印で、「このファイルは UTF-8 で書かれています」と宣言する役割を持ちます。Excel はこの BOM を検出すると自動で UTF-8 として読み込むため、ダブルクリックで開いても文字化けしません。一方で、Python や Node.js などのプログラムで処理する場合は BOM が余計な文字として扱われることがあるため、プログラム連携が前提の場合は BOMなし UTF-8 を選ぶのが無難です。

CSV と TSV の違いは何ですか?

CSV(Comma-Separated Values)はカンマで列を区切るファイル形式、TSV(Tab-Separated Values)はタブ文字で区切る形式です。TSV はデータにカンマが含まれていてもエスケープ処理が不要なため、住所や商品説明のようなカンマを含むデータに向いています。Excel ではどちらも「データ → テキストまたはCSVから」でインポートでき、区切り文字をカンマかタブに切り替えるだけで読み込めます。

マクロを使わずに Excel と CSV を変換したいのですが。

ぱんだツールズの Excel↔CSV変換ツールを使えば、マクロ不要でブラウザ上で変換できます。ファイルをドロップし、文字コードを選択してダウンロードするだけです。Excel の VBA マクロや Power Automate を使わないため、マクロが無効化された環境でも動作します。処理はすべてブラウザ内で完結するため、社外秘のデータも安全に扱えます。

複数の Excel ファイルを一括で CSV に変換したいのですが。

ぱんだツールズの Excel→CSV一括変換ツールで複数ファイルをまとめて変換できます。Excel を1つずつ開いて「名前を付けて保存」する手間が省け、文字コードも統一して出力できます。10ファイル・20ファイルでも同じ操作で処理でき、変換後はまとめて ZIP でダウンロードできます。

LibreOffice や Numbers(Mac)でも同じ文字化け問題が起きますか?

はい、同様の問題が起きます。LibreOffice Calc は UTF-8 を標準で正しく読みますが、Shift_JIS のファイルは「文字コードを指定」のダイアログでエンコーディングを手動選択しないと化けることがあります。macOS の Numbers は UTF-8 で保存されたCSVを基本的に正しく扱いますが、Shift_JIS 出力で保存した CSV を Windows の Excel で開くと文字化けします。いずれの場合も、文字コードを明示的に指定してインポートするか、ぱんだツールズで変換前に文字コードを統一するのが確実です。

ExcelやCSVファイルをオンラインツールで変換するとき、ファイルの内容がサーバーに送られますか?

ぱんだツールズのExcel↔CSV変換ツール・CSV文字コード変換ツール・Excel→CSV一括変換ツールは、すべての処理をブラウザ内(お使いの端末上)で完結させています。ファイルは外部サーバーに送信されず、変換は JavaScript がブラウザ内で行います。ページを閉じればデータはメモリから消去されます。一方で海外の有名なオンライン変換サービスはサーバー送信型が多く、社内データや個人情報が外部に渡る前提になります。機密性の高いExcel・CSVを扱う場合は、ブラウザ内処理のツールを選ぶのが安全です。

この記事で紹介したツール