ChatGPTはCSVやExcelファイルを読み込み、表の整理・変換・分析に使えます。OpenAIの公式ヘルプでも、CSVやXLSXなどの構造化データに対応し、表を編集してCSVとして出力できることが案内されています。

ただし、仕事のCSVでは「見た目がきれいになった」だけでは合格にしない方が安全です。

たとえば、

  • 00123 が 123 になる
  • 0円と空欄が同じ扱いになる
  • 長いIDが別の値になる
  • 重複削除で別取引まで消える
  • 行数や金額合計が変わる
  • 不明な空欄をAIが推測で補う

といった変化は、表を眺めただけでは気づきにくいことがあります。

このサイトでは、AIでCSVを扱うときに、

AIで変換 → 機械的に検証 → 人が確認

の3段階を基本にします。

OpenAI自身も、データ分析でPython等が使われた場合は、結果を信頼する前に生成されたコード・出力・前提を確認するよう案内しています。

ChatGPTでCSVの何ができる?

ChatGPTでは、CSVやXLSXなどをアップロードして、たとえば次の作業ができます。

  • 列名をそろえる
  • 列順を変える
  • 前後の空白を除く
  • 日付表記をそろえる
  • 完全一致の重複を探す
  • 欠損セルを一覧にする
  • 特定条件の行を抽出する
  • 列を追加する
  • 集計や分析を行う

ただし、「処理できる」と「元データを壊していないことを確認した」は別です。

1. 元ファイルを残す

AIに渡す前の元CSVを正本として残します。

たとえば、

  • sales_original.csv
  • sales_ai_work.csv
  • sales_checked.csv

のように分けます。

AI処理後に問題が見つかっても、元データが残っていれば比較できます。

2. 「変えてよい列」と「変えてはいけない列」を指定する

「このCSVをきれいにして」だけでは、変更範囲が曖昧です。

たとえば、

account列の前後空白だけ除去してください。
id、date、amount、descriptionは変更しないでください。
行の追加・削除もしないでください。
判断できない値は推測して埋めず、そのまま残して一覧にしてください。
処理後に、変換前後の行数、amount合計、idの完全一致を確認してください。

のように、

  • 変更対象
  • 変更禁止対象
  • 行の増減
  • 推測禁止
  • 処理後に確認すること

を明示します。「何をするか」だけでなく、何をしてはいけないかと何を検証するかまで指定します。

なお、AIが「確認しました」と答えても、それだけで完了にはしません。次の3以降の確認は、変換前後のファイルを使って自分でも行います。

3. 行数を確認する

整形だけを頼んだのに、

1000行 → 997行

になっていれば、3行がどこかで消えています。

逆に行が増えた場合も、セル内改行が別行として分裂していないか確認します。

行数の増減を意図した処理でなければ、変換前後の行数は一致しているべきです。

4. ID・コードは文字列のまま保持されているか

ID、商品コード、郵便番号などは、数字に見えても計算用の数値とは限りません。

  • 00123 と 123 は別の値です(先頭0の消失)
  • 00000012345678901234 のような長い識別子は、数値として扱われると桁落ちや表記変換が起きることがあります

計算に使わないIDは、数値ではなく文字列として扱うよう指示します。確認は目視ではなく、変換前後のID列を完全一致で比較します。

5. 金額合計を比較する

会計・売上・経費CSVでは特に重要です。

列の整形や並べ替えだけを行ったのであれば、

変換前の金額合計 = 変換後の金額合計

になっているか確認します。

1行ずつ見る前に合計を比較すると、大きな異常を見つけやすくなります。

6. 0と空欄を区別し、空欄を推測で埋めさせない

0、空欄、値なしは同じ意味とは限りません。「欠損を処理して」と頼んだときに、amountが 0 の行まで欠損扱いされていないか確認します。

また、空欄をAIがもっともらしい値で埋めていないかも確認します。

  • vendorが Amazon でcategoryが空欄でも、消耗品費・書籍・備品などのどれかは分かりません
  • ATM という文字だけでは、入金・出金・資金移動のどれかは確定できません

不明なセルは補完させず、「要確認」として一覧に残し、人が判断する方が安全です。

7. 重複削除で別データまで消していないか

「重複を削除して」は危険な指示になり得ます。

たとえば、

id date amount
A 2026/09/01 1000
B 2026/09/01 1000

は、日付と金額が同じでも別取引です。

重複削除をする場合は、

全列が完全一致する行だけ削除する

など、条件を先に固定します。

8. カンマ・セル内改行でCSV構造が壊れていないか

CSVには、セルの中にもカンマや改行を含められます。

たとえば摘要が

文房具,コピー用紙

の場合です。

正しく引用されたCSVなら1セルとして扱えますが、引用構造が壊れると列が増えます。

セル内改行でも同様です。

変換後CSVをCSVパーサーで再度読み込み、行数・列数・セル内容を確認します。

9. 日付は「表記」だけでなく実在日を確認する

2026/09/01 は有効ですが、

2026/13/01

は実在しません。

日付を正規化するときは、

  • 表記形式
  • 実在する日付か
  • 年月日の入れ替わりがないか

を確認します。

会計CSVへ使う場合は、対象会計ソフトが許可する日付形式や会計期間も別途確認します。

10. 構造が壊れているときは意味を推測させない

本来4列のデータが、

2, 2026/09/02, 3300

の3項目しかない場合、3300がaccountなのかamountなのかは確定できません。

こういう場合は、

この行は列数不足として「要確認」の一覧に入れてください。意味を推測して補完しないでください。

とします。

自動化では「直す能力」だけでなく、直してはいけないときに止まる能力も重要です。

当サイトで試した結果と、その限界

当サイトでは、上の確認ポイントに、金額の桁区切り除去・列名変更・全角数字の正規化などを加えた15種類の整形課題を用意し、ChatGPTで試しました。

課題ごとに変更範囲を厳密に指定したところ、15課題すべてで、行数・ID・金額などあらかじめ決めた「変わってはいけない部分」が保たれていることを、プログラムによる機械的な比較で確認できました。

ただし、これは同じモデル・同じ会話の中で、課題の内容を知っている当サイトが行った小規模な試行です。第三者による独立した検証ではありません。

「ChatGPTはCSVを壊さない」と一般化できる結果ではなく、AIの出力を別の検証にかける手順を組み立てるための試行として読んでください。

AI変換後の10項目チェック

変換後に最低限、次を確認します。

  • [ ] 行数は意図どおりか
  • [ ] ID・コードは完全一致しているか
  • [ ] 金額合計は意図どおりか
  • [ ] 列名・列数・列順は仕様どおりか
  • [ ] 空欄が勝手に埋まっていないか
  • [ ] 0と空欄が区別されているか
  • [ ] 重複削除で別行を消していないか
  • [ ] 日付が有効か
  • [ ] カンマ・改行を含むセルが壊れていないか
  • [ ] 分からないデータを意味推測で補完していないか

会計ソフトへ取り込む場合はもう1段チェックする

AIで整形したCSVを会計ソフトへ取り込む場合は、AI側の検証が終わっても作業は完了ではありません。

次に、

  • 必須項目
  • 日付形式
  • 金額形式
  • 貸借
  • 勘定科目
  • ソフト固有の列やコード

を確認します。項目の名前や形式はソフトごとに異なるため、利用している会計ソフトのCSV取込仕様と照らし合わせます。

取込でエラーが出て先へ進めない場合は、関連ページ「会計ソフトにCSVを取り込めないときの確認順」で、確認する順番を整理しています。

まとめ

ChatGPTはCSVやExcelの分析・編集に使えます。

ただし、仕事のデータでは、

「AIがきれいな表を返した」=「元データを壊していない」

ではありません。

安全に使うなら、

元ファイルを保存 → 変更範囲を限定してAIへ指示 → 行数・ID・金額・列構成などを機械的に検証 → 不明箇所を人が確認

の順にします。

参考一次情報

  • OpenAI Help Center「ChatGPT によるデータ分析」

https://help.openai.com/ja-jp/articles/8437071-data-analysis-with-chatgpt

  • OpenAI Help Center「ChatGPT データ分析でインサイトを抽出」

https://help.openai.com/ja-jp/articles/9213685-extracting-insights-with-chatgpt-data-analysis

関連ページ

  • 会計ソフトにCSVを取り込めないときの確認順
おすすめの記事