CSVを開いて日本語が崩れたら、文字を修正して上書きする前に、元ファイルを残して取り込み直します。文字コードの読み違いなら、正しい指定で読める場合があります。ただし、元データ自体がすでに置き換わっている場合は、文字コードの変更だけで復元できません。
CSVの取り込みでは、日本語が読めることに加え、列の区切りとデータ型も確認します。Windows版Excelの「テキストまたはCSVから」を使い、顧客コード00125と金額1200を例に手順を説明します。
ADVERTISEMENT
1. 文字化けと列崩れ・自動変換を分ける
CSVは、文字として保存されたデータを区切り記号で分けたファイルです。日本語を保存した文字コードと、読み込み側の解釈が合わないと文字化けします。一方、1行が全部A列へ入るのは区切りの指定、00125が125になるのは数値への変換を先に調べます。
| 症状 | 確認する設定 |
|---|---|
| 日本語の名前が読めない | 文字コード |
| 項目が1列へまとまる・ずれる | 区切り記号と引用符 |
| 00125が125になる | 列のデータ型 |
| 長いIDの末尾が変わる | 数値変換前の文字列指定 |
ダブルクリックが常にShift-JIS固定、UTF-8非対応というわけではありません。MicrosoftはBOM付きUTF-8のCSVを通常の方法で開けると案内しています。ただし、開けたことだけでコードや日付の自動変換まで適切とは限らないため、確認が必要なデータは取り込み機能を使います。
2. プレビューで文字コードと区切りを合わせる
- 受け取ったCSVをそのまま残し、Excelで空のブックを開く。
- 「データ」→「テキストまたはCSVから」を選ぶ。環境によっては「データの取得」→「ファイルから」にある。
- 対象ファイルを選び、プレビューの「元のファイル」など文字コードの欄を確認する。
- 提供元の仕様に合わせてUTF-8や日本語の文字コードを選ぶ。
- 区切り記号をカンマなど実データに合わせ、列見出しと数行の内容を見る。
UTF-8なら65001、日本語のWindows向けCSVでは932が選択肢になる場合があります。日本語が崩れているから必ずUTF-8にすればよい、とは限りません。どちらが正しいか不明な場合は出力元の設定や担当者に確認し、氏名などが正しく読めるかを比べます。
最初の行だけで判断せず、漢字を含む名前や備考も見ます。区切りが正しければ「顧客コード」「氏名」「金額」が別の列に並ぶはずです。まだ読み込みを確定せず、続けて型を確認します。
3. コード列を文字列にしてから読み込む
プレビューで「データの変換」を選び、Power Queryエディターで顧客コード列を選択します。列の「データ型」を「テキスト」にします。金額や数量など計算する列までテキストにする必要はなく、それぞれの用途に合わせます。
自動で作られた「変更された型」ステップがすでにコードを数値に変えている場合、その後へテキスト変換を追加するだけでは125を00125へ戻せません。コードを数値へ変換するステップを変更・削除し、元の文字列が残る段階からテキストとして扱います。型の変更で「現在のものを置換」などが選べる場合も、結果の先頭ゼロを必ず確認します。
00125と00126、16桁以上のID、1-1のような品番をサンプルにして、値が変わっていないか比較します。型が整ったら「閉じて読み込む」でシートへ取り込みます。合計を使う金額列は数値であることも確認してください。文字化けの修正と番号の保持は別々の確認です。

4. 引用符とカンマを含むデータを確認する
CSVの項目には、備考の文章や桁区切りのカンマが含まれることがあります。たとえば備考が"午前,午後どちらでも可"なら、そのカンマを列の区切りとせず、一つの項目として扱う必要があります。ダブルクォーテーションを削除してから取り込むと、かえって列がずれます。
文字コードを合わせても列数が合わない場合は、区切りがカンマ・タブ・セミコロンのどれかを確認します。名称が.csvでも、出力元によって内容の区切りが違う場合があります。全体の区切り設定を変えるためにWindowsの地域設定まで変更する前に、この取り込みの指定を見直します。
プレビューで正しくても、途中の行だけ備考に改行や引用符が含まれていることがあります。取込後は元の件数、列見出し、備考のある行、最後の行を確認します。行が分かれたり金額が氏名列に入ったりしていれば、そのまま集計を進めず、出力仕様と該当行を調べます。
5. 作業用はExcel形式、提出用は相手の仕様で保存する
取り込んで整えたブックは、まず.xlsxなど必要なExcel形式で保存します。CSVはブックの数式・書式・複数シートをそのまま保存する形式ではありません。作業用ブックと提出用CSVを分けると、もう一度出力したいときに取り込み設定や計算を残せます。
UTF-8を求められているなら「名前を付けて保存」で「CSV UTF-8(コンマ区切り)」を選びます。受け手が別の文字コードやBOMなしを指定している場合は、その要件に合わせます。UTF-8が新しいからといって、すべての相手へ一律に同じ形式で渡すのは適切ではありません。
CSV保存では対象シートも確認します。別シートの集計や説明を含めたい場合は、必要なファイルをそれぞれ用意します。保存時の形式に関する警告を読まずに進めず、作業用の原本を上書きしない名前にしてください。最後に出力したCSVを新しいブックへ取り込み直し、文字・列・型をもう一度照合します。
6. BOMを原因と決めつけず元ファイルを守る
BOMはファイルの先頭にある識別用の情報で、UTF-8を判断する手がかりになります。Excelで通常の方法で開く際に役立つこともあり、必ず除去すべき不要文字ではありません。先頭の見出しだけ一致しない場合も、空白や別の文字が原因のことがあるため、BOMと即断しないでください。
相手のシステムがBOMなしを必要とする場合は、指定に合う出力方法を使い、提出前に受け入れ側で確認します。メモ帳で文字コードを変える場合も、必ず別名のコピーで行います。文字化けした状態で開いてそのまま別の文字コードへ保存すると、読めない文字を保存し直してしまうおそれがあります。
「ANSIへ変えれば直る」という手順も一律には使えません。ANSIが指すコードページは環境に依存し、対応していない文字を失う場合があります。CSVの元データを保ち、読み込み側で正しい文字コードを指定する方法を先に試します。
7. 取り込み結果を照合し、誤変換ならやり直す
完了の目安は日本語が読めることだけではありません。件数、先頭と末尾のコード、長いID、日付のような品番、金額の合計を元データと照合します。行数が一致していても、先頭ゼロが落ちれば照合キーが変わります。番号は先頭数件だけでなく、桁数の異なるものも確認してください。
文字化けや型の設定を間違えたら、元CSVから再度取り込みます。取り込み後の125へ表示形式でゼロを足しても、元が00125だったか000125だったかは分かりません。長いIDの末尾が数値変換で失われた場合も、元の文字列を取り直す必要があります。
クエリで取り込んだ表を使い続ける場合は、更新すると元ファイルと変換手順から再取得されます。シート側だけを手で直しても次の更新で戻ることがあるため、必要な修正は変換手順または元データで管理します。受け取った原本、作業用ブック、提出用CSVを分けておけば、修正と再出力をやり直せます。
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Excel】オートフィル(右下の+)が効かない!ドラッグできない時のオプション有効化設定
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【PDF】EdgeでPDFを開くと印刷できない・プリンタ一覧が出ない時のブラウザ再起動とシステムダイアログ
- 【Word】差し込み印刷の金額にカンマを付ける方法|小数・0・空欄の確認
- 【Outlook】祝日が表示されない・重複する時の対処|追加方法と対象年の確認
- 【Outlook】メールの受信が数分遅れる!リアルタイムで届かない時の同期設定と送受信グループ設定
- 保存せずに閉じたExcel・Wordを復元する方法|自動回復・未保存ファイル・履歴の確認
- 【Excel】COUNTAでセルの個数を数える方法|空文字・空白・COUNTとの違い
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】入力した文字のフォント・サイズ・色を変更する方法|注釈とフォームの違い
