まず元のCSVを保存し、Excelの「データ」から文字コードを指定して取り込みます。UTF-8のCSVならUTF-8を選び、プレビューで日本語を確認してから読み込みます。
この記事の内容
対象・検証範囲:Windows版Excelのインポート手順。Microsoft公式資料の確認のみ。実機未検証。
どの文字化けを直す記事か
CSVをExcelでダブルクリックすると商品名が読めないのに、テキストエディターでは「ノート」「ペン」と読める。ここで扱うのは、このように元の文字は残っているが、開き方が合っていないケースです。
文字化けした状態で保存すると、元に戻せない変換が入ることがあります。編集前のCSVを別名で保管し、取り込みはコピーで試してください。最初から文字が「?」に置き換わっている場合、文字コードを変えるだけでは復元できません。
文字コードを指定して取り込む
次はWindows版Excelのデータ取り込みを前提にした手順です。バージョンや表示言語で項目名が変わることがあります。
- 空のブックを開き、データ → テキストまたはCSVからを選びます。環境によっては「データの取得 → ファイルから」の中にあります。
- 元のCSVのコピーを選択します。
- プレビューで文字コード・ファイルの元の形式を確認します。UTF-8のファイルなら「65001: Unicode (UTF-8)」に相当する選択肢を指定します。
- 区切り記号がカンマになっているかを確認します。日本語が直っても、全体が1列なら区切り設定を別途直します。
- IDなどの列がある場合は「データの変換」に進み、その列を文字列として取り込む設定を確認します。
- 日本語・列数・IDを確認して読み込み、編集結果を残すならまずExcelブック形式で保存します。
UTF-8を選んでも直らないときは、ファイルの出力元で文字コードを確認してください。「日本語のCSVだからShift_JIS」とは決められません。
入力例と確認する結果
元のCSVが次の内容なら、読み込んだ表でも同じ文字が見えることを確認します。
id,name
001,ノート
002,ペン
| 確認対象 | 期待する状態 | 違う場合に見直す点 |
|---|---|---|
| 商品名 | ノート、ペン | 文字コード |
| 列 | id と name の2列 | 区切り記号 |
| ID | 001、002 | 列の型・自動変換 |
先頭のゼロが消える問題は文字化けとは別です。日本語が直った時点で完了にせず、先頭のゼロを保持する取り込み方も確認してください。
BOM付きUTF-8なら解決する?
Microsoftは、BOM付きのUTF-8 CSVなら通常の方法で開けると案内しています。BOMはファイルの先頭に付く識別用のバイト列です。ただし、BOMを付けても列の型までは指定できません。先頭のゼロや長い番号を守るには、取り込み時の型指定が必要です。
自分でCSVを出力する側なら、PythonでBOM付きUTF-8を扱う方法を使えます。受け取り側のシステムがBOMなしを要求する場合には、勝手にBOMを追加しないでください。
直らないときの切り分け
- 日本語だけ崩れる: 出力元でUTF-8、CP932などの指定を確認し、元ファイルを取り込み直します。
- すべて1列になる: カンマではなくタブやセミコロン区切りの可能性があります。
- 引用符や改行で行がずれる: CSVの引用符構造が壊れている可能性があります。見た目の改行数だけではレコード数を判断できません。
- エディターでも「?」になる: 変換時に文字が失われた可能性があります。出力元からの再取得を優先します。
本記事ではExcelの画面を実機操作していません。公式手順と異なる表示の場合は、お使いのExcelのヘルプで「テキストまたはCSVから」を確認してください。読み込み後の文字・型・列が元データと一致することが、成功の判定です。
参考にした公式資料
- Microsoft公式: ExcelでUTF-8のCSVを開く確認日:2026.09.20
- Microsoft公式: テキスト・CSVファイルのインポート確認日:2026.09.20
公式資料に基づく説明です。アプリの画面操作は本制作環境では実機検証していません。 編集・検証方針