日本語が崩れる・列が分かれない・先頭の0が消える、を見分ける
CSVは、表の値をカンマなどの区切りと改行で並べたファイルです。Excelで開いたときに「おかしい」と感じても、文字の読み違い、列の区切り、値の自動変換では対処が異なります。作業を始める前に原本を複製し、文字化けした状態で上書きしないでください。
| 症状 | 対処する項目 | 読み込み後の目印 |
|---|---|---|
| 日本語が別の文字や「�」になる | 文字コード:文字をどう読むかの決まり | 見出しと日本語の内容が、元データと一致する。 |
| 日本語は読めるが、すべて1列に入る | 区切り記号:どこで列を分けるか | 見出しと値が、予定した列に分かれる。 |
| 00123が123になる、番号が日付になる | データ型:数値・日付・文字列などの扱い | 番号やコードが、先頭の0も含めて元データどおりに残る。 |
次の手順はWindows 11で使うデスクトップ版Excel for Microsoft 365の、テキスト/CSV取り込み機能を対象にします。Microsoftの公式資料に基づく案内で、Excel実機では未検証です。Mac版、ブラウザ版、スマートフォン版は画面が異なるため、このボタン順の対象には含めません。
すでに値が変わった表を直すより、元のCSVを指定して読み直します。元のCSVにも「?」などが保存されている場合は、末尾の「復元できない場合」も確認してください。
Windows版Excel for Microsoft 365で、CSVを読み直す
この節は、Windowsのデスクトップ版Excel for Microsoft 365向けです。CSVを直接ダブルクリックする方法ではなく、Excelの読み込み画面で文字コード・区切り・列の扱いを選びます。手順の出典はMicrosoftのCSV取り込み案内とテキスト/CSVコネクタの説明です。実機の画面を確認した記事ではありません。
準備:元のCSVを別の場所へコピーします。提供元の出力設定や説明に「UTF-8」「Shift_JIS」などが書かれていれば控えてください。これは日本語を読み込む方法の名前です。業務データを外部の変換サイトへ送る必要はありません。
Excelの「データ」から「テキストまたはCSVから」を開く
新しいブックを開き、「データ」タブの「データの取得と変換」にある「テキストまたはCSVから」を選びます。「データの取得」→「ファイルから」→「テキスト/CSVから」の経路で表示される構成もあります。原本のCSVを選び、「インポート」または「開く」でプレビューへ進みます。
「元のファイル」で、提供元と同じ文字コードを選ぶ
文字コードを選ぶ欄は「元のファイル」(File Origin)と呼ばれます。提供元がUTF-8なら「65001: Unicode (UTF-8)」、Shift_JISなら「932: 日本語 (シフト JIS)」に対応する選択肢を探します。日本語の名称は表示言語や版で異なる場合があります。出力元が不明なら候補を切り替えて見出し・名前・記号をプレビューで照合し、判断できなければ提供元へ確認します。
「区切り記号」を選び、列の分かれ方を見る
カンマ区切りのCSVなら「コンマ」を選びます。タブ区切りのファイルなら「タブ」です。プレビューで、見出しと各行の値が予定した列に入ることを確認します。日本語が直っても1列のままなら、文字コードではなく区切り記号を見直してください。
番号を守る場合は、型の自動検出を止める
先頭に0のある番号や長いコードがある場合、プレビューの「データ型検出」で「データ型を検出しない」に相当する選択肢を使います。列をひとまず「テキスト」として扱い、数値や日付への自動変換を避ける設定です。値の意味が分からない列を、先に数値へ変えないでください。
必要なら「データの変換」で列の型を確認する
「データの変換」を押すとPower Queryエディターという取り込み用の編集画面が開きます。番号の列を選び、「ホーム」→「データ型」→「テキスト」を選びます。数値計算が必要な列だけを、その用途に合う型に変更します。すでに先頭の0が消えていたら、後からテキスト型にするだけでは戻りません。読み込みを中止し、元のCSVから自動検出しない設定でやり直します。
表を読み込み、元のCSVと照合して別名で保存する
プレビューから直接なら「読み込み」、エディターで編集した場合は「ホーム」→「閉じて読み込む」を使います。ワークシート上で日本語、列数、先頭の0、長い番号、日付を確認します。元データと一致したら、原CSVと区別できる名前でExcelブックとして保存します。CSVで渡す必要がある場合は、相手が指定する文字コードと列の扱いを別に確認してください。
画面や項目が見つからない場合:「ファイル」→「アカウント」→「Excelのバージョン情報」で製品・版を確認し、対応版のMicrosoft公式手順に切り替えてください。上記の日本語ラベルと配置は実機で確認していないため、似た名前の項目を確信なく選び続けないでください。
読み込み後に直らないときは、どこまで戻るか
ExcelにCSVを取り込んだあと、次の順に結果を確認します。すべて直ったと一括で判断せず、日本語、列、値を別々に見ます。
日本語が読めない場合は、元のCSVから文字コードを選び直す
ワークシートの崩れた文字を直接書き直さず、原本を読み込み直します。出力元の指定とプレビューが合わなければ、提供元へ文字コードを問い合わせます。
日本語は読めるが列が違う場合は、区切り記号を見直す
テキスト/CSVのプレビューに戻り、カンマやタブなど、元ファイルに合う区切りを選びます。提供元の列数・見出しと一致することを確認してください。
0や桁が失われた場合は、原本をテキスト型で読み直す
表示形式だけを変更して、元の桁が復元したと考えないでください。元CSVの値が残っていれば、自動型変換を止めて読み直します。原本にも失われた値しかなければ、再取得が必要です。
自分の読み込み設定か、ファイルそのものの問題かを切り分けたい場合は、下の自作サンプルを同じ手順で開けます。機密情報を含む原本の代わりに、サンプルで操作を確認できます。
補足:同じ内容のCSVを3形式で保存した検証資料
ここからは操作の根拠を詳しく知りたい方向けです。次の表は自作の架空データです。3ファイルとも内容を揃え、保存時の文字コードとBOMの有無だけを変えています。BOMは、ファイル先頭に付ける文字コードの目印です。Excelの実画面を再現したものではありません。
項目,内容 名前,山田 地域,日本
- UTF-8(BOMなし)のCSVを保存(45 bytes)
- UTF-8(BOMあり)のCSVを保存(48 bytes)
- Shift_JISのCSVを保存(33 bytes)
このサンプルなら、見出し「項目」「内容」の2列に、名前・地域の行が並べば内容を読めています。BOM付きUTF-8をExcelで通常の方法で開けることはMicrosoftの公式説明にあります。ただし、BOMを付ければすべての取り込み先で使えるという意味ではありません。
実バイトと、文字コードを読み違えた結果を見る
バイトはファイルのデータ量の単位です。16進表示は、そのデータを数字で照合するための表示です。比較ではTextDecoderというJavaScriptの文字読み込み機能を使いました。以下はその結果で、Excelで文字化けさせた実測ではありません。
| 保存方法 | 容量 | 先頭8バイト(16進表示) |
|---|---|---|
| UTF-8(BOMなし) | 45 bytes | e9 a0 85 e7 9b ae 2c e5 |
| UTF-8(BOMあり) | 48 bytes | ef bb bf e9 a0 85 e7 9b |
| Shift_JIS | 33 bytes | 8d 80 96 da 2c 93 e0 97 |
| 元ファイル | 正しい指定 | 誤った指定での例 |
|---|---|---|
| UTF-8(BOMなし) | 項目,内容 / 名前,山田 | shift_jisで読む:鬆�岼,蜀�ョケ / 蜷榊燕,螻ア逕ー |
| UTF-8(BOMあり) | 項目,内容 / 名前,山田 | shift_jisで読む:�ソ鬆�岼,蜀�ョケ / 蜷榊燕,螻ア逕ー |
| Shift_JIS | 項目,内容 / 名前,山田 | utf-8で読む:����,���e / ���O,�R�c |
UTF-8のBOMは3バイトです。誤読したときの表示はアプリによって異なるため、崩れ方だけで元の文字コードを確定することはできません。
補足:原本を失った場合と、対象環境の限界
CSVの元のデータが残っていれば、読み込み方を変えることで正しく表示できる場合があります。文字化けした文を「?」などで上書きしたファイルや、先頭の0を削った値だけが残る場合は、正しく読む設定を選ぶだけで元どおりにはなりません。原本を再取得するか、提供元へ再出力を依頼します。
この手順の対象はWindowsのExcel for Microsoft 365です。Mac版・ブラウザ版等の操作順、個別ビルドのラベルやボタン配置は未確認です。Microsoftの公式資料は機能や対応製品の根拠であり、この記事を実機操作済みとするものではありません。
Shift_JISと呼ばれるデータにも拡張文字を含む場合があります。今回のサンプルは共通に扱える日本語に限定し、特殊な記号や絵文字まで同じ結果になるとは検証していません。拡張子を変更するだけでは文字コードは変わらないため、原本を残して提供元の指定を確かめてください。
出典と検証条件
編集:QuickTools 運営チーム · 検証・更新方針
検証日:
自作の日本語CSVをUTF-8・BOM付きUTF-8・Shift_JISで保存し、実バイトとTextDecoderの読み込み結果を確認。Excelは実機検証せず、操作案内はMicrosoft公式資料に基づきます。
- テキスト/CSVコネクタ(Microsoft Learn)
ファイルの文字コード、区切り、データ型の自動検出を止める設定の公式説明。
- 列のデータ型を変更する(Microsoft)
Excel for Microsoft 365の列をテキスト等として扱う方法。実機の画面配置は未確認です。
- 先頭のゼロと大きい数値を保持する(Microsoft)
番号を文字列として扱う理由と、取り込みから読み込みまでの案内。
- データソースから取り込む(Microsoft)
Windowsデスクトップ版のテキスト/CSV読み込みの経路。
- ExcelでUTF-8 CSVを正しく開く(Microsoft)
BOM付きUTF-8と、データの取得・テキストからの読み込みについての公式案内。
- テキスト・CSVのインポートとエクスポート(Microsoft)
CSVを開く場合の形式やインポートの説明。利用するバージョンの表示に従ってください。
- Encoding Standard(WHATWG)
Webでの文字コード・デコーダーの仕様。比較表の読み込み処理の根拠。
説明や仕様が変わっていたら、掲載内容の訂正を連絡する。