ChatGPTのCSVがExcelで文字化け|日本語と先頭の0を守る開き方
ChatGPTのCSVがExcelで文字化けしたら、BOM付きUTF-8での再出力か、UTF-8を指定した取り込みを試します。ただし、商品コードの「00123」が「123」になる問題は別です。コードの列は、読み込む前に「文字列」に指定してください。
著者:ノオ · 操作・公式資料確認:2026年10月22日
ChatGPTにCSVを作り直してもらうなら、次の文を表の続きに送れます。 商品コードがない場合は、その行を省いてください。
直前の表を、BOM付きUTF-8のCSVファイルにしてください。
1行目は見出し、区切りはカンマにします。
元の行数・列順・値は変えないでください。
商品コードは00123のような先頭の0もCSV内に残してください。
作成後、行数と商品コードの先頭2件を示してください。
これは依頼文の例です。CSVの中に0が残っていても、Excelが開くときに数値へ変える場合があります。 ダウンロード後は、日本語の品名とコードを一つずつ元データに照合します。「文字化けが消えた」で確認を終えないのがポイントです。
AIで制作した説明用イメージです。検証したExcel画面や実際の業務資料の写真ではありません。
日本語と商品コードを、別々に確かめる
たとえば、元の表が次の2件だったとします。
| 商品コード | 商品名 | 数量 |
|---|---|---|
| 00123 | 東京ノート | 2 |
| 00456 | 大阪ペン | 3 |
開いた後に見るのは、商品名が読めるかだけではありません。A2の値が00123のままかも確認します。商品コードは計算する数ではなく識別子なので、先頭の0が落ちると別の文字列になります。
同じデータのCSVを編集部で用意し、Mac版Excel 16.56で開きました。BOMはファイルの先頭に付ける文字コード識別用の目印です。2ファイルのデータ部分は同一にしています。
| 開き方 | 日本語の表示 | A2の実際の値 |
|---|---|---|
| BOMなしUTF-8を[開く]で選択 | 文字化けした | 123 |
| BOM付きUTF-8を、表示された取り込み画面でUTF-8・カンマ・標準列として読む | 読めた | 123 |
| 同じBOM付きファイルで、商品コード列だけを読み込み前に文字列へ変更 | 読めた | 00123 |
確認した環境では、BOM付きのファイルを開くとテキスト取り込みウィザードが出ました。どのExcelでも同じ画面が出る、という結果ではありません。
日本語を読めるようにする設定と、数字に見えるコードを守る設定は二つ必要でした。 数量の2と3は計算用の数値にしたいので、文字列へ指定したのは商品コード列だけです。
取り込み画面で、文字コードと列の種類を選ぶ
Microsoftの公式説明では、BOM付きUTF-8のCSVは通常の方法で開けるとされています。うまく読めない場合には、Power Queryやテキスト取り込みの方法が案内されています。
テキスト取り込みウィザードが出る場合
今回Macで確認した順序です。画面の名称はExcelの版や表示言語で異なります。
- 文字コードをUnicode(UTF-8)、データの形式を「区切り文字あり」にする。
- 区切り文字はカンマを選び、プレビューが商品コード・商品名・数量の3列になることを確かめる。
- 列の形式を選ぶ画面で、商品コードの列を選択して「文字列」にする。すべてを「標準」のまま完了しない。
- 読み込んだA2を選び、数式バーにも00123と表示されるか確かめる。商品名とデータ件数も照合する。
日本語が直ってもA2が123なら、まだコードが変換されています。元のCSVを残し、列の指定からやり直してください。
[テキスト/CSVから]でプレビューが出る場合
こちらはMicrosoftの先頭の0を維持する案内に基づく手順です。今回、このPower Query画面をWindowsで操作した記録ではありません。
[データ]からCSVを取り込み、文字コードがUTF-8、区切りがカンマで、日本語が読めることを確かめます。そのまま読み込まず、[データの変換]や[編集]からエディターへ進みます。
商品コード列のデータ型をテキストへ変更します。列の種類を変更する確認で「現在のものを置換」が出た場合は、それを選びます。プレビューに00123が残ったことを確認してから[閉じて読み込む]へ進みます。
ここでもプレビューが123のままなら、失われた0を後から足したつもりで完了しないでください。元のCSVに00123があるか確認し、数値へ変換される前の段階から取り込み直します。
すでに123になったセルを「文字列」にしても戻らない
Excelが読み込み時に0を落とした後で、セルの表示形式だけを文字列に変えても、元の桁数は分かりません。123が00123だったのか、0123だったのかは、その値だけでは決められないためです。
5桁の表示形式で00123に見せる方法もありますが、それは元データが本当に5桁だったと確認できる場合の話です。桁数の異なる商品コードを一律に埋めると、別の誤りを作ります。復旧の基準は、まだ変更していない元の表やCSVにしてください。
文字化けした内容や変換済みのコードを上書き保存した場合も、まず元のダウンロードやChatGPTの元表へ戻ります。壊れた文字からAIに商品名やコードを推測させる方法は、元の値の確認にはなりません。
CSVが必要か、Excelファイルでよいかを決める
取引先のシステムへ取り込むためにCSVが必要なら、そのシステムの文字コード・列順・BOM対応の指定を優先します。「Excelで読めた」だけで、別のシステムでも受け付けられるとは限りません。
Excel内で表を確認・編集するだけなら、ChatGPTに「Excelファイル(.xlsx)で、商品コード列は文字列として作成して」と頼む選択もあります。受け取った後の値の照合は同じです。OpenAIのファイル作成ガイドも、出力形式・列構成・確認してほしい条件を伝え、生成物を確認して修正を頼む進め方を案内しています。
ファイルの文字化けではなく、コピーした表が一つのセルに入る症状なら、ChatGPTの表をGoogleスプレッドシートで列に分ける貼り付け方へ進んでください。こちらはCSVの文字コードとは別の問題です。
確認した範囲
2026年10月22日、macOS・Excel 16.56(韓国語UI)で、編集部が作成した同一データのCSVを開き、上の3条件と数式バーの値を確認しました。古いMac版での検証であり、最新のWindows版・Mac版の画面を再現したものではありません。特定のChatGPTモデルが生成したファイルのテストでもありません。Power Queryの操作とファイル作成の案内は、同日に確認した上記の公式資料に基づきます。