CSV文字化けを修復:ExcelでCSVを正しく開く
このツールでCSVファイルを開くと、ダブルクリックだけでExcelが正しく開けるファイルに変換されます。ウムラウトやアクセント記号は文字化けせず、値は1列に1つずつ入ります。郵便番号の先頭の0も長い数字の全桁も残り、日付は日付のまま表示されます。無料でブラウザ上で動作し、ファイルはアップロードされません。
CSVファイル
このツールにはJavaScriptが必要です。CSVを手作業でExcelに取り込む方法は、このページの下で説明します。
ExcelでCSVが崩れる理由
CSVファイルには設定情報が含まれていません。Excelは文字コード、区切り文字、各値の型をパソコンの言語設定から推測します。ダブルクリックで開くと、その推測を確認・訂正する機会がありません。
そのため、「Müller」は「Müller」になり、1行全体がA列に入ります。01067は1067に、アカウント番号は4.00638E+12に変わってしまいます。このツールは、Excelがファイルを開く前に、こうした判断を代わりに済ませておきます。
このツールが修復するもの
- 文字コード:UTF-8、BOM付きUTF-8、Windows-1252を判別し、BOM付きUTF-8で保存
- アクセント記号:ZoëがZoëに戻ります
- 区切り文字:英語版Excelにはカンマ、ドイツ語版にはセミコロン
- 先頭の0と長い数字:02134や4006381333931がそのまま残ります
- 日付と小数点:お使いのExcelが読める形式に
崩れたファイルで試す
各例を選ぶと、よくある崩れ方をしたエクスポートファイルがツールに読み込まれます。結果をダウンロードし、ダブルクリックで開いてください。
- 例
アクセント記号の文字化け
UTF-8のエクスポートをWindowsの文字コードで開いたため、アクセント記号が1文字ずつ意味不明な2文字に化けています。バイトはすべて残っているので、このツールで元に戻せます。
- 2UTF-8でのアクセント記号のバイト数
- 1修復後の文字数
- 0アップロードされるファイル数
- 区切り文字
セミコロン区切りを英語版Excelで開く
ドイツのシステムから出力したファイルです。すべての行がA列に入ってしまいます。
- 先頭の0
郵便番号の先頭の0が消える
Excelは02134を数値の2134として読みます。このツールはテキストとして保持します。
- 長い数字
IDが4.00638E+12に
Excelは15桁までしか保持せず、長い数字を指数表記で表示します。
- 日付
日と月が入れ替わる
14/03/2026は「日/月/年」の順としか解釈できません。このツールは、列全体をその順序で読み取ります。
ExcelでCSVを開く3つの方法
上記の問題に対して、それぞれの方法で何が起きるかをまとめました。
| ダブルクリック | 「データ」›「テキストまたはCSVから」 | このツールで修復してダブルクリック | |
|---|---|---|---|
| ウムラウトとアクセント記号 | Excelが文字コードを推測 | 「元のファイル」で「65001 : Unicode (UTF-8)」を選択 | 修復し、BOM付きUTF-8で保存 |
| 区切り文字 | システムのリスト区切り文字 | 「区切り記号」を自分で選択 | お使いのExcelに合わせて設定 |
| 先頭の0と長い数字 | 失われる | 列を「テキスト」に設定すれば保持 | 保持 |
| 日付 | セルごとに推測 | データ型検出で推測 | お使いのExcel向けに書き換え |
| 毎回の手間 | なし | 6〜8クリック | ダウンロードしてダブルクリック |
「データ」›「データの取得」›「ファイルから」›「テキストまたはCSVから」は、Microsoft 365のExcelとExcel 2016以降での取り込み方法です。Microsoft 365のExcelでは、一部の自動変換をオフにすることもできます(「ファイル」›「オプション」›「データ」›「自動データ変換」)。
CSVを手動で取り込む
再ダウンロードできないファイルなど、Excel内で作業するしかない場合の手順です。
- 1
空白のブックを開く
CSVはダブルクリックしないでください。Excelを空白のブックで起動します。
- 2
「データ」›「テキストまたはCSVから」
「データ」›「データの取得」›「ファイルから」›「テキストまたはCSVから」を選び、CSVファイルを指定します。
- 3
元のファイルと区切り記号を設定
「元のファイル」は「65001: Unicode (UTF-8)」、「区切り記号」はファイルで使われている区切り文字、「データ型検出」は「データ型を検出しない」を選びます。
- 4
読み込み
Excelはすべての列をテキストとして読み込みます。数値や日付として扱いたい列だけ、データ型を変更してください。
SalesforceとPardotのCSVファイル
Excelで見やすいファイルと、インポートで正しく読み込めるファイルは、必ずしも同じではありません。
- 15Excelが数値として保持できる桁数
- 50,000データインポートウィザード1回あたりのレコード数
- 18大文字と小文字を区別しないSalesforce IDの文字数
- インポートには元のファイルを使う。修復したファイルはExcelで閲覧するためのものです。SalesforceやAccount Engagement(旧Pardot)にインポートする場合は、エクスポートしたファイルをそのまま使うか、Excelから「CSV UTF-8」形式で保存してください。そうすれば、="…"形式のセルがデータに紛れ込みません。
- データインポートウィザード。Salesforce Trailheadによると、一度にインポートできるのは最大50,000レコードです。それを超える場合は、データローダを使うようSalesforceが案内しています。
- Excel上のSalesforce ID。Excelの検索関数は大文字と小文字を区別しないため、別々の15文字のIDが同じものとして扱われることがあります。リストを照合する前に18文字に変換してください。
- Pardotのインポート。Pardotは、インポートしたプロスペクトをメールアドレスまたはCRM IDで照合します。アップロードする前に、両方の列がExcelで崩れていないか確認してください。
CSVとExcelのよくある質問
ExcelでCSVファイルを開くときによくある質問に、短くお答えします。
Excelでウムラウトが文字化けするのはなぜですか?
ファイルはUTF-8なのに、ExcelがWindowsの文字コードで読み込んだためです。その結果、ウムラウトやアクセント付きの文字が1文字につき2文字で表示されます(例:üがüになる)。BOM(バイトオーダーマーク)付きのUTF-8で保存し直すか(このツールはそう保存します)、「元のファイル」を「65001: Unicode (UTF-8)」にしてインポートしてください。
すべてが1つの列に入ってしまうのはなぜですか?
ファイルの区切り文字が、お使いのExcelが想定するものと違うためです。ドイツ語版Excelはセミコロン、英語版Excelはカンマを想定します。このツールは、お使いのExcelに合った区切り文字で書き出します。
Excelで先頭の0を残すにはどうすればよいですか?
Excelは01067を数値の1067に変換します。このツールはこうしたセルを="01067"として書き出し、Excelではテキストの01067として表示されます。Excel上で作業する場合は、その列を「テキスト」としてインポートしてください。
Excelで長い数値が4.00638E+12になるのはなぜですか?
Excelは数値を有効桁数15桁で保存し、長い数値は指数表記で表示します。16桁目以降は0になります。このツールは12桁以上の数値をテキストとして保持するため、すべての桁が残ります。
修復したファイルをSalesforceやPardotにインポートできますか?
修復したファイルはExcelでの閲覧用です。インポートには、元のエクスポートファイルを使うか、Excelから「CSV UTF-8」形式で保存してください。そうすれば、="…"形式のセルがデータに入りません。
ファイルはアップロードされますか?
いいえ。ファイルの読み込み、修復、新しいファイルの作成はすべてブラウザ内で行います。何も送信・保存せず、ファイルの内容をアクセス解析に送ることもありません。