Excel管理表でCSVが文字化けする原因。文字コードの利用ルールを決める手順

Excel管理表でCSVが文字化けする原因。文字コードの利用ルールを決める手順のアイキャッチ画像 データ取込・CSV管理

導入

販売管理SaaSから出力したCSVをExcelで開いたら、顧客名が「譁ェ蠑丈シ夂、セ ・ア螳・・・イ」のような意味不明な文字列になっている。出力側はUTF-8で書き出していたのに、Excel側がShift_JISとして読み込んでしまった――こんな場面はありませんか。

これは出力ミスではなく、CSVの文字コードがファイル単位・運用単位で固定されていないことが原因です。本記事では、標準文字コードを1つに決めて、文字化けを構造的に防ぐ手順をまとめます。

この記事で解決すること

項目 内容
解決する課題 文字化けして取込できない
主な原因 文字コードが統一されていない
解決方法 UTF-8やShift_JISなど利用ルールを決める
対象業務 CSV取込・販売管理・請求管理
対象人数 2〜30人
難易度 ★☆☆☆☆
作業時間 20分
用意するもの 対象のExcelファイル/編集権限/出力側との合意
効果 文字化けを防ぎやすい
向かないケース CSVを使わない表

「UTF-8 (BOM付き)」「Shift_JIS」のどちらかに決めて出力側に合意してもらうだけで、文字化けの大半が消えます。

なぜその管理表はうまくいかないのか

  • 出力側がUTF-8で書き出し、Excel側がShift_JISで開いている(その逆も)
  • 担当者ごとに「ExcelでCSVを開く」「Power Queryで取り込む」など方法が違う
  • BOM付きとBOMなしのUTF-8が混在している
  • 文字化けが起きるたびに手動で文字コードを変換している
  • 特殊文字(旧字体、記号、機種依存文字)が混入してさらに化ける

担当者の作業手順ではなく、文字コードの標準がチームで決まっていないことが原因です。見直しは、標準文字コードを1つに決めて出力・取込の両側に共有するところから始めます。

完成イメージ

直す前 — 文字コードがその場任せ:

取込結果 文字化け状態
顧客名 譁ェ蠑丈シ夂、セ
案件名 蝠・刀蠑剋ュ

取込のたびに文字化けが起き、手動で変換している。

直した後 — 標準コードをUTF-8 BOM付きに統一:

取込結果
顧客名 株式会社山田商事
案件名 4月見積案件

すべてのCSVがUTF-8 BOM付きで揃い、Excelでもダブルクリックで正しく開ける。

改善手順

ステップ1. 標準文字コードを1つに決める

チームで使う標準文字コードを決めます。

操作: 別シート「文字コードルール」を作り、A列に項目、B列に標準値、C列に補足を記入する。

記入例:

項目 標準値 補足
標準文字コード UTF-8(BOM付き) Excelダブルクリックで開ける
改行コード CR+LF Windows標準
区切り文字 半角カンマ TSV不可
文字列の引用 ダブルクオート カンマや改行を含む場合のみ
例外 古い基幹システム連携時のみShift_JIS可 個別判断

「UTF-8 BOM付き」は、ExcelでCSVをダブルクリックしたときに文字化けしない設定。Power Query経由ならBOMなしUTF-8でも問題ないが、運用簡素化のためBOM付きを推奨。

ステップ2. 出力側にルールを共有する

CSVを出力する側(SaaSや基幹システムの担当)に文字コードルールを共有します。

操作: 「CSV連携仕様書」のような文書を作成し、ステップ1のルールを記載する。出力側にメール/チャットで共有し、了承を得る。連携先システムが3つ以上ある場合は、システムごとに対応状況を記入したマトリクス表を作る。

記入例(システム別対応マトリクス):

システム 文字コード対応 BOM対応 備考
販売SaaS_v3 UTF-8選択可 BOM付き選択可 設定済み
経理システム Shift_JIS固定 Power Queryで変換
在庫管理DB UTF-8選択可 BOMなし Power QueryでBOM追加

ステップ3. 取込時の文字コード指定を固定する

Excel側の取込手順で文字コードを毎回固定指定します。

操作: 「データ」→「データの取得と変換」→「テキスト/CSV」→ファイル選択時に「ファイル オリジン」を「65001: Unicode (UTF-8)」に固定する。Power Queryの取込クエリを保存しておくと、次回も同じ設定で取り込める。

記入例:

取込方法 設定
ダブルクリックで開く UTF-8 BOM付きなら自動認識
Power Query取込 「ファイル オリジン」を65001で固定
マクロ取込 OpenTextメソッドで Origin:=65001 を指定

✗悪い例: ファイルを開くたびに文字コードを毎回手動指定 → うっかり間違える ◎良い例: Power Queryクエリ保存で取込手順そのものを固定化

ステップ4. 文字化けが見つかったら出力側に差し戻す

文字化けが取込後に発見されたときの対応を運用ルールにします。

操作: 別シート「文字化け対応フロー」を作り、A列に状況、B列に対応を記入する。

記入例:

状況 対応
全体が文字化け 出力側に文字コードを確認し、再出力依頼
一部の文字だけ化ける(例:「髙」「鄭」など) 機種依存文字の混入。出力側にデータ確認依頼
列名だけ化ける ヘッダー行のみの異常。Power Queryで列名を上書き
半角カンマが値に混入 ダブルクオート引用なしのCSV。出力側に修正依頼

ステップ5. 例外データの扱いを決めておく

旧字体・絵文字・機種依存文字など、UTF-8でも扱いに注意が必要なデータの扱いを決めます。

操作: 文字コードルールシートの末尾に「例外文字の扱い」セクションを追加。NG文字リストと代替表記を書く。

記入例:

NG文字 代替表記 理由
機種依存文字(①②③) (1)(2)(3) 機種依存で文字化け危険
環境依存文字(髙、鄭) 高、鄭(許容) UTF-8では化けないが、印刷側で化ける可能性
絵文字 文字(笑、注意) CSV連携で多くのシステムが非対応

実務での注意点

  • CSVを使わない表(個人作業、印刷専用台帳など)には文字コードルールは不要です。
  • UTF-8 BOM付きは ExcelダブルクリックではOKですが、一部のLinux環境では先頭にゴミ文字として残ります。連携先の環境を確認します。
  • Shift_JISは「①」「㈱」などの機種依存文字や、海外文字(中国語簡体字等)を扱えません。海外データを扱う業務では必ずUTF-8を選びます。
  • Power Queryで一度クエリを保存すると、ファイルを開くたびに自動で同じ設定で取り込まれます。手動再設定の手間がなくなります。
  • 文字化け対応の連絡テンプレ(出力側への再出力依頼文)を用意しておくと、対応が速くなります。

まとめ

CSVが文字化けする原因は、文字コードの標準がチームで決まっていないことです。標準文字コード(UTF-8 BOM付き推奨)を決めて出力側と合意し、取込時の文字コード指定を固定化すれば、文字化けの大半が構造的に防げます。

次にやることは、現在使っているCSVが UTF-8 か Shift_JIS かを確認することです。混在している場合は、チームで標準を決めて出力側に依頼するところから始めます。あわせて、取込元の記録は取込元・取得日・担当者を記録する手順、列ズレ対策はCSVテンプレートの列順を固定する手順も参考になります。

タイトルとURLをコピーしました