CSVは、項目を列、記録を行として保存する表形式のファイルです。ChatGPT・Claude・GeminiにはCSVをアップロードして質問できる機能がありますが、集計条件を曖昧にすると、見た目は正しくても意図と違う数字が出ます。
結論:列の意味と集計条件を先に定義する
AIへ渡す前に、個人情報を除き、列名、単位、一行が表すものを確認します。最初に件数、欠損、重複、データ型を調べてもらい、その後に目的を一つずつ指定して集計します。
対応ファイル、容量、回数、利用できる分析機能はサービスやプランで異なります。利用時点の公式ヘルプと会社のルールを確認してください。
1. 入力できるデータだけにする
氏名、メールアドレス、顧客番号、自由記述内の個人情報、未公開の売上などを確認します。分析に不要な列は削除し、必要な場合も会社が承認した環境と加工方法を使います。
元ファイルを直接編集せず、分析用の複製を作ります。加工版のファイル名や非表示列にも情報が残っていないか確認します。
2. 表の形を整える
一行目に分かりやすい列名を置き、一行を一件の記録にします。途中の空行、結合セル、複数の表、合計行が混ざっている場合は整理します。日付の形式と金額の単位もそろえます。
「件数」が問い合わせ件数なのか顧客数なのかなど、列名だけで分からない意味を短いデータ辞書にします。空欄がゼロ、未回答、該当なしのどれかも定義します。
3. 最初に品質を確認する
添付CSVをまだ集計せず、構造を確認してください。
列名/推定されるデータ型/空欄数/重複の可能性
値の例/人が確認すべき点を表にしてください。
一行は一件の問い合わせです。
空欄を0として扱わないでください。
列の意味を推測した場合は「推測」と表示してください。
AIの件数と表計算ソフトの行数を比べます。文字コードや区切り文字の問題で列がずれていないかも確認します。
4. 集計条件を具体的にする
「傾向を分析して」ではなく、「受付月ごとに問い合わせ種別の件数を集計し、総件数と割合を出す」のように対象、期間、単位、除外条件を指定します。
同じ顧客の複数行を一件とするか、取消行を含めるかで結果が変わります。条件を回答の最初に再掲し、使った列と計算式も示してもらいます。
5. 3サービスを同じデータで比べる
比較する場合は、同じ匿名化済みCSV、質問、集計条件を新しいチャットで使います。回答の詳しさだけでなく、行数、欠損の扱い、計算結果、条件の説明を比べます。
サービスごとに使えるコード実行や表表示が異なります。一回の結果で優劣を決めず、代表的な数件を元データから手計算します。
6. 結果を元データへ戻って確認する
最大値や異常値を示されたら、該当する行を確認します。合計、割合、平均の分母が目的に合っているかを見ます。平均だけでは偏りが隠れるため、件数や範囲も確認します。
AIが作った修正版CSVを元データへ上書きしません。変更内容を一覧にし、担当者が承認したデータだけを正式な保存先へ移します。
分析結果を再現できる形で残す
結果だけをコピーすると、後から「どの行を除外したか」「空欄をどう扱ったか」が分かりません。使用したファイルの版、対象列、絞り込み条件、集計式、確認日を一緒に記録します。元データを更新した場合は、同じ条件で再集計します。
AIに処理手順や計算コードを表示できる機能があれば、内容を確認して保存します。ただし、コードが見えること自体は正しさの証明ではありません。少量のデータを手計算し、同じ結果になるか試します。
よくある読み違いを確認する
売上と件数、税込みと税抜き、月初と月末など、列名が似ていても意味が違うことがあります。単位や集計期間を表の見出しに含めます。平均値を使うときは、極端な値に引っ張られていないか中央値や分布も見ます。
相関が見つかっても、一方が他方の原因とは限りません。AIに説明文を作らせる場合は、「同時に増減している」と「原因である」を区別させます。業務上の結論は、データの担当者と確認して決めます。
まとめ
AIでCSVを読むときは、安全な複製を作り、列名、単位、一行の意味を定義します。集計前に欠損と重複を確認し、条件と計算方法を明示します。結果は元データの行と手計算へ戻って照合し、AIの表をそのまま確定値にしないようにしましょう。