CSVをExcelで開くと文字化けする時の直し方
CSVをExcelで開いたとき、日本語が文字化けする、先頭のゼロが消える、1件のメモが次の行へ割れる。この3つは原因が別です。UTF-8とBOM、データタブからの取り込み、列をテキストにする確認順をまとめます。
- 公開日:
- 最終更新:
- 読了:
- 約7分
CSVをExcelで開いたら、日本語が文字化けしたよ。
先に結論を3行で言うね。その下の表で、自分の症状の行を見て。
文字化けは、ダブルクリックをやめて「データ」タブの「テキストまたは CSV から」で開き、文字セットを 65001(Unicode UTF-8)に合わせます。 BOM付きのUTF-8は、Microsoftの案内では通常どおり開けます。
先頭のゼロが消えるのは、文字コードとは別です。 データ型の自動検出をオフにするか、列をテキストにします。消えたゼロは、表示形式では戻りません。
1件が複数行に割れるときは、引用符の中の改行を行の終わりにしていないかを見ます。 引用符が無い改行は、Excelの設定では1つのセルに戻りません。
この記事は、受け取ったCSVをExcelで読む側です。ExcelのブックをCSVとして渡す側は、ExcelをCSVに変換する方法にまとめています。専用のツールは使いません。画面写真は載せていません。ボタン名は、末尾の資料が書いている文言です。同じ文字がリボンに無いときは、番号とプレビューで判断してください。
症状と直し方の早見表
3つの症状は、同時に出ることがあります。直し方は別です。文字化けを直したあとに、ゼロと行数を見てください。
| 症状 | まず疑うこと | 直し方 |
|---|---|---|
| 文字化け | BOMの無いUTF-8を、ファイルの文字セットを指定せずに開いている | 空のブックから「テキストまたは CSV から」で開きます。プレビューの文字セットを 65001(Unicode UTF-8)にします。シフトJISのファイルなら 932 です。 |
| 先頭ゼロ消失 | 00123 のような文字を、Excelが数値へ変換している | データ型の自動検出をオフにするか、その列をテキストにします。消えたあとの表示形式では戻りません。元のCSVから取り込み直します。 |
| 改行割れ | メモの中の改行が、行の区切りとして読まれている | 元のCSVで、改行を含むフィールドが二重引用符で囲まれているかを見ます。Power Queryのソース編集では、引用符の中の改行を行の終わりにしない設定を選びます。 |
文字化けも、ゼロが消えるのも、同じ設定?
別だよ。文字セットは65001。ゼロは列をテキストにする。表の行を混ぜないでね。
ダブルクリックをやめて取り込む
作業の前に、受け取ったCSVのコピーを残します。文字化けしたブックを同じファイルへ上書き保存すると、元の文字はファイルからも失われます。
Microsoftのテキストファイルのインポート案内では、「データ」タブの「テキストまたは CSV から」でファイルを取り込みます。同じページは、.csv をExcelで開くと、現在の既定の書式で各列の解釈が決まると書いています。先頭のゼロを残したいときは、この取り込みで列をテキストにします。
CSV UTF-8ファイルを正しく開くは、BOM付きなら通常どおり開ける、BOMが無いときは次のどちらか、と書いています。
- 「データの取得」から Power Query でテキスト/CSVを開く。英語版の経路は、Data > Get Data > From file > From Text/CSV です。
- 「テキストからデータを取得」を使う。テキストインポートウィザードが開き、ブックへの外部リンクは作られない、とMicrosoftは案内しています。操作アシストとリボンから使える、とも書いています。
日本語サポートの経路の文は語順が崩れています。ボタンとして照合するのは「テキストまたは CSV から」です。サポートページのグループ名は「データの取得 & 変換」です。そのボタンが無いときは「データの取得」を開き、ファイルのテキスト/CSVを選びます。
取り込みの順番は、次のとおりです。
- Excelで空のブックを開きます。CSVファイルはダブルクリックしません。
- 「データ」タブから「テキストまたは CSV から」を選び、コピーしたCSVを指定します。
- プレビューで、日本語、先頭のゼロ、行数が目的どおりかを見ます。違うときは、このあと説明する文字セット、データ型、改行の設定を変えて、プレビューを見比べます。
- 目的の見え方になってから読み込みます。
「テキストまたは CSV から」は Power Query です。読み込んだ表は、元のCSVへの接続として置かれることがあります。接続を残したくないときは、外部リンクを作らないとMicrosoftが案内している「テキストからデータを取得」を使います。
プレビューが正しければ、もう保存していい?
読み込む前に、ゼロと行数も見よう。文字だけ直っても、他の2つは残ることがあるよ。
UTF-8とBOM
BOM(バイトオーダーマーク)は、UTF-8ではファイルの先頭に付く印です。文字そのものを別の文字コードへ変換する処理ではありません。バイト列は EF BB BF の3バイトです。
Microsoftは、UTF-8のCSVをBOM付きで保存してあれば通常どおり開ける、と案内しています。BOMが無い場合は、上の取り込みで文字セットを指定します。Power Query の Text/CSV コネクタは、文字セットは推論されず、UTF-8が推論されるのはファイルが UTF-8 の BOM で始まるときだけ、と書いています。BOMが無いUTF-8は、ダブルクリックでは通常どおり開けない場合として案内されています。日本語が文字化けするのは、そのときの見え方です。
プレビューの文字セットの欄は、版によって名前が違います。財務省の統計データのFAQは、日本語版の操作例として「元のファイル」と呼び、文字化けしているときは「65001:Unicode(UTF-8)」または「932:日本語(シフトJIS)」を選ぶ、と書いています。従来のテキストインポートウィザードのMicrosoft案内では、同じ役割の欄は「ファイルの元」です。欄の名前がどちらでも、選ぶのは番号です。UTF-8なら 65001、シフトJISなら 932 です。プレビューの日本語が読めてから次へ進みます。
BOMを足すことは、シフトJISのファイルをUTF-8に変換することではありません。中身がシフトJISなら、65001 を選んでも日本語は読めません。そのときは 932 を選びます。反対に、UTF-8のファイルへ 932 を指定しても文字化けは残ります。
BOMには、渡す相手の注意もあります。BOMを想定しない取り込み先では、先頭の列名に印が混ざることがあります。相手がBOM無しのUTF-8を指定しているなら、Excelで開くためだけにBOMを足さず、この記事の取り込みを使います。ExcelからCSVを書き出すときにBOMを付けるかは、ExcelをCSVに変換する方法で、保存側の確認として扱っています。
BOMを付ければ、どの相手にも渡せる?
Excelでダブルクリックする相手には有利だよ。BOM無しを指定されたら、足さない。開く側は 65001 を選ぼう。
先頭のゼロ
00123 が 123 になるのは、文字化けとは別です。Excelが、その列を数値だと判断しています。CSVファイルの中にゼロが残っていても、開いたシートの上では消えます。
Microsoft Learnの Text/CSV コネクタは、データ型検出を、最初の200行に基づかせるか、データセット全体に基づかせるか、自動検出をオフにして列をテキストにするか、から選べると書いています。推論は外れることがあるので、読み込む前に設定を見ると注意しています。画面の項目名が「データ型を検出しない」に近い表記なら、ゼロを残したい列にはそれを選びます。表記が違うときは、自動検出をオフにして、列がテキストになる方です。
列をあとからテキストにする手順は、Microsoftの先頭ゼロと大きな数値と、財務省FAQが同じ流れです。プレビューで「データの変換」を開き、列のデータ型をテキストにします。種類を変える確認では「現在のものを置換」を選び、「閉じて読み込む」です。英語版の同じ記事では、Replace Current、Close & Load と書かれています。
すでにゼロが消えたセルへ、00000 のような表示形式を掛けても、消えた桁は戻りません。Microsoftは、その表示形式は、設定したあとに入力する値に効く、と書いています。元のCSVが残っているなら、そのファイルからテキストとして取り込み直します。
Microsoft 365 と Excel 2024 には、別のスイッチもあります。データのインポートと分析のオプションは、「ファイル」>「オプション」>「データ」の自動データ変換に、「先頭のゼロを削除して数値に変換する」があると案内しています。これをオフにすると、00123 は数値 123 ではなく、文字の 00123 のままです。入力、貼り付け、読み込みに効く設定です。すでに変換されたセルを元へ戻すスイッチではありません。すべてのブックの既定も変わるので、1つのCSVだけを直すなら、先に取り込み側で列をテキストにしてください。
表示を文字にしたら、00123に戻ったよ。
それは次に入力する値の話だよ。消えた桁は、元のCSVからテキストで取り込み直そう。
改行割れ
住所やメモの途中で行が分かれ、次の列が下の行へずれるのが、ここでの改行割れです。セルの中で文章が折り返して見えることとは別です。折り返しは、列の幅を変えると位置が動きます。改行割れは、行の数が増えます。
次の文字は説明用の例です。Excelで開いた結果ではありません。
ID,名前,メモ 00123,山田,"1行目 2行目"
メモの2行は、二重引用符の中にあります。この形なら、1件のデータのままです。引用符が無い改行は、次のレコードの始まりとして読まれます。そのときはExcelの設定では1つのセルに戻りません。元のCSVで、そのフィールドを二重引用符で囲みます。
Power Query の CSV 取り込みは、最初のプレビューとは別に、ソースのステップを編集する画面があります。Microsoft Learnは、その画面の「改行」で次を選ぶと書いています。
- 「引用符で囲まれた改行を無視」:引用符の中の改行は、行の終わりではなくデータの一部です。上の例を1件のまま読む側です。
- 「すべての改行を適用する」:引用符の中でも改行を行の終わりにします。囲んであるメモも、ここで割れます。
Learnの英語版では、Line breaks、Ignore quoted line breaks、Apply all line breaks です。日本語の項目名がこの文言と違うときは、引用符の中の改行を行の区切りにしない方を選び、プレビューの行数が元の件数と合うかを見ます。この設定は、引用符の無い改行を1つのセルへ戻すものではありません。
引用符が無いメモも、設定で1行に戻る?
戻らないよ。囲まれた改行を割らない設定だよ。無い引用符は、元のCSVで足そう。
よくある質問
BOMを付ければ、ダブルクリックでも文字化けしませんか?
Microsoftは、UTF-8のCSVをBOM付きで保存してあれば通常どおり開ける、と案内しています。BOMが無い場合は、データタブから文字セットを指定して取り込みます。BOMは文字の変換ではなく、ファイル先頭の印です。シフトJISのファイルにBOMだけ足しても、UTF-8にはなりません。相手がBOM無しを指定しているときも、足す前に確認してください。
消えた先頭のゼロは、表示形式で戻りますか?
戻りません。Microsoftは、桁をそろえる表示形式は、その後に入力する値に効くと案内しています。消える前のCSVが残っていれば、列をテキストにして取り込み直します。文字化けした状態や、ゼロが消えた状態で同じCSVへ上書き保存すると、元の文字も桁もファイルから失われます。
UTF-8を選んでも文字化けしたままです。ファイルが壊れていますか?
壊れとは限りません。ファイルがシフトJISなら、65001 ではなく 932 を選びます。プレビューで日本語が読める項目を選んでから読み込んでください。どの番号でも読めないときは、そのCSVを作った側の文字コードを確認します。この記事では、壊れたバイト列の修復手順は書きません。
関連する記事
仕事のファイルのやり取りで、続きに読みやすい記事です。
- ExcelをCSVに変換する方法。この記事の逆で、ブックをCSVとして保存する側です。UTF-8のBOM、先頭のゼロ、シートの選び方を確認します。
- Markdownで表(テーブル)を作る書き方。CSVの行を表にするときの、列とセル内の改行です。
- 手取りから請求額を逆算する。請求書の本体、消費税、源泉徴収を確認する仕事の記事です。
確認した資料と範囲
- Microsoft:Excel で CSV UTF-8 ファイルを正しく開くには(BOM付きは通常どおり開ける。無いときは Power Query か、外部リンクを作らないテキスト取り込み)
- Microsoft(英語):Opening CSV UTF-8 files correctly in Excel(経路は Data > Get Data > From file > From Text/CSV)
- Microsoft Learn:Power Query Text/CSV コネクタ(文字セットは BOM があるときだけ UTF-8 と推論する。データ型検出。ソース編集の「改行」)
- Microsoft:テキスト (.txt または .csv) ファイルのインポートまたはエクスポート(「テキストまたは CSV から」。先頭ゼロは取り込み時にテキストにする)
- Microsoft:Keeping leading zeros and large numbers(テキストへの変換、表示形式では消えたゼロは戻らない。対象に Microsoft 365 と Excel 2024)
- Microsoft:Excel のデータのインポートと分析のオプション(「先頭のゼロを削除して数値に変換する」)
- 財務省:CSVを文字化けやデータ形式を変えないで開く方法(日本語版の操作例。「元のファイル」、「65001:Unicode(UTF-8)」、「932:日本語(シフトJIS)」、「現在のものを置換」、「閉じて読み込む」)
情報確認:2026年11月12日。公式の画面や文言は更新されます。作業時のExcelに同じボタンが無いときは、この記事の番号(65001 と 932)と、プレビューで日本語・先頭のゼロ・行数が合うかで判断してください。
この記事は、デスクトップ版Excelの公式案内に沿った確認順です。Excel for the web や Mac 版は、ボタンの位置が違うことがあります。編集部のExcelで、このCSVを開いた画面の撮影はありません。検索順位や、すべての版で同じ項目名が出ることは保証しません。