CSVの文字化けの直し方|Excelの取り込みからゼロ落ち・保存後の確認まで
7.読み込み後は、件数・識別番号・金額を照合する
最初に点検用の行を決める
読み込みが完了したら、表の先頭だけを見て作業を終えず、特徴の異なる行を点検します。先頭がゼロのコード、長い番号、特殊な記号を含む氏名、備考内のカンマ、空欄、負の金額などが候補です。問題が起こりやすい値を先に決めておくと、「何となく正しく見える」という判断を避けられます。
氏名だけでは同姓同名を区別できないため、元の顧客コードや伝票番号を使って該当行を照合します。並べ替えをした後なら、行番号が一致するとは限りません。部分的に並べ替えて氏名と金額の対応を変えていないかも確認し、比較するときは表全体を一つの単位として扱います。
点検用の見本は、通常の行だけでなく境界の値を含めます。たとえば「数量が0」「備考が空欄」「末尾に英字が付くコード」といった行です。実データの一部を確認できたことと、すべての行が正しいと保証できたことは違うため、後続作業への影響が大きい列は、可能なら全件で照合します。

件数と合計は、同じ範囲で比べる
出力元の件数と、読み込んだ表の件数を比べます。見出し、末尾の合計行、空行、取消データを含むかどうかをそろえてください。フィルターが残っていると、画面に見える件数と全体の件数が違うこともあります。元システムの抽出期間や対象条件も、同じである必要があります。
金額の合計が一致することは確認材料ですが、それだけでは十分ではありません。コードが変わっていても合計が合う場合や、正負の誤りが打ち消し合う場合があります。件数、金額、識別番号の三つを別々に確認すると、違う種類の問題を見つけやすくなります。
エラーのある行を削除して件数を合わせたり、空欄をすべてゼロにして合計を出したりする操作は、元の意味を変えます。まずエラー件数と該当する値を記録し、どの変換で失敗したかを確認します。「読み込めない行がある」ことも、結果として扱うべき情報です。
不一致があったら、最後に追加した変換へ戻り、同じ行の変換前後を比べます。型の変更、見出しの昇格、行の削除など、どの操作で差が出たかを一つずつ確かめます。原因が分からないまま次の集計へ進まず、原本からやり直せる状態を維持してください。
8.保存先に合わせて書き出し、次回も同じ条件で読み込む
Excelで続けるなら、作業用ブックを残す
集計や確認をExcelで続けるなら、原本とは別にブック形式で保存すると、列の型や書式、複数のシートを扱えます。CSVへ戻すことが目的でなければ、無理に毎回CSVとして保存する必要はありません。受領原本、確認済みのブック、他システムへ渡すCSVは、用途を分けて保管します。
Power Queryを含むブックは、読み込み元のファイルの場所を参照している場合があります。表だけが見えていても、更新時には元の場所が必要になることがあります。ブックを移動したり他の人へ渡したりするときは、データの接続先も確認し、相手が更新する必要があるのか、確認済みの値だけを渡すのかを決めます。
CSVで渡すなら、受け取り先の仕様を先に確認する
別システムへ登録する場合は、文字コードだけでなく、BOM、区切り文字、見出し、列順、改行、日付表記、必須項目などを合わせます。UTF-8へ統一すれば解決するとは限りません。出力先がCP932などを指定しているなら、その文字コードで表せない文字が含まれていないかも確認が必要です。
CSVへ出力するときは、今開いているブックのどのシートを渡すのかを確かめます。確認用の列や合計行を誤って含めたり、別のシートを出力したりしないようにします。保存形式に「CSV UTF-8」などの選択肢があっても、受け取り先の要求と一致するかは別の確認です。表示名や利用できる形式は、Excelの環境によって異なります。
- 受け取り先の仕様と、出力対象のシート・列を確認します。
- 原本とは別の名前と場所へ、指定のCSV形式で保存します。
- 書き出したCSVを新しいブックへ、相手と同じ条件で取り込みます。
- 件数、列順、氏名や記号、識別番号、金額を照合します。
- 可能なら本登録の前に、少量の見本で受け取り先の読み込みも確認します。
自分の画面で正しく見えたことと、相手のシステムが正しく読み取ることは別です。全件を送る前の見本には、先頭ゼロや改行など、実際に問題になる特徴を含めます。機密データを共有する場合は、クラウドの共有リンクの安全な使い方も参考に、閲覧範囲と権限を確認してください。
毎月の取り込みは、設定と確認項目を残す
同じ出力元のデータを定期的に扱うなら、文字コード、区切り文字、見出しの位置、各列の型、対象期間、点検する値を短く記録します。担当者が替わっても同じ条件で読み込めるようにするには、「このボタンを押す」だけでなく、コードを文字列にする理由まで残すと役立ちます。
Power Queryの取り込み手順を再利用すれば、毎回の手作業を減らせます。ただし、更新できたことだけで正しいとは判断できません。出力元の列名や列順が変わる、列が追加される、日付の表記が変わるといった変更があると、前回の手順が合わなくなる場合があります。

再利用時にも、ファイル名と対象期間、列の構成、件数、エラーの有無を最初に確認します。以前の月のファイルを参照したまま更新していないかも点検してください。設定を固定するだけでなく、入力がいつもの条件に合っているかを確かめる作業が、安定した取り込みにつながります。
まとめ
CSVの文字化けでは、原本を残してから、文字コード、区切り文字、データ型の順に確認します。日本語が読めた段階で終えず、コードの先頭ゼロ、長い番号、日付に見える値、引用符を含む備考まで照合してください。
保存前の判断は、「どこで使うデータか」です。Excelで作業を続けるなら確認用ブックを残し、他システムへ渡すなら相手の仕様で出力して読み直します。読み込み条件と点検する値を記録しておけば、次回も原本に戻れる状態で、同じ根拠に沿って確認できます。
よくある質問
CSVの文字が読めなくなったら、元ファイルも壊れていますか?
読み取り側の文字コードの指定が違うだけなら、元ファイルから正しい設定で取り込み直せる場合があります。文字化けした状態で保存すると文字情報を失うおそれがあるため、まず上書きせずに閉じ、原本を保管してください。
UTF-8で保存すれば、すべてのシステムで文字化けを防げますか?
受け取り先が対応する文字コードやBOMの有無、区切り文字の条件によって異なります。出力先の仕様に合わせ、保存したCSVを同じ条件で再び取り込んで値を照合してください。
消えた先頭のゼロは表示形式を文字列にすれば戻りますか?
数値への変換で失われたゼロは、表示形式を変えるだけでは戻りません。元のCSVから対象列を文字列として読み直し、長い番号や日付のようなコードも一緒に確認してください。
UTF-8とCP932を試しても一部の文字だけ直らないのはなぜですか?
出力前の変換で文字が失われていたり、出力先の文字コードで表せない文字が置き換えられていたりする場合があります。推測で氏名や記号を書き換えず、原本と出力元の画面を照合し、必要なら再出力を依頼してください。
一つの列に全部入ってしまう現象も文字化けですか?
日本語が読めているなら、区切り文字の指定が合っていない可能性を先に確認します。カンマやタブなどの実際の区切りに合わせ、引用符内のカンマや改行も含めて正しい列に入るか点検してください。











コメント
まだコメントはありません。最初の感想をどうぞ。