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の版や表示言語で異なります。

  1. 文字コードをUnicode(UTF-8)、データの形式を「区切り文字あり」にする。
  2. 区切り文字はカンマを選び、プレビューが商品コード・商品名・数量の3列になることを確かめる。
  3. 列の形式を選ぶ画面で、商品コードの列を選択して「文字列」にする。すべてを「標準」のまま完了しない。
  4. 読み込んだ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の操作とファイル作成の案内は、同日に確認した上記の公式資料に基づきます。