「CSVは手元にある。でも、まずどこを見ればよいのか分からない」
そんなとき、ChatGPTへCSVファイルを渡すと、自然言語で質問しながらデータの概要を確認したり、集計したり、グラフを作ったりできます。
しかも、ChatGPTの無料版でもファイルアップロードとデータ分析は利用できます。
ただし、ここで大切なのは、CSVを渡しただけで分析が自動的に正しく完成するわけではないということです。
この記事では、小さな売上CSVを使い、次の流れを試します。
- 1. CSVをアップロードする
- 2. まずデータの状態を確認する
- 3. 売上を集計する
- 4. 追加質問で掘り下げる
- 5. 結果を元データと照合する
次のことができるようになります。
- ChatGPTへCSVファイルをアップロードする
- 行数、期間、列、欠損などを確認する
- 日別売上や商品別売上を集計する
- 売上推移のグラフを作る
- ChatGPTが出した集計値を検算する
- 無料版の利用制限と、業務データを扱う際の注意点を確認する
今回はAPIもPythonプログラムも必須ではありません。まずはChatGPTの画面だけで、どこまでデータ分析を進められるかを体験します。
ChatGPT無料版でもCSVを分析できる
OpenAIの公式情報(2026年8月15日現在)では、ChatGPTはCSVやExcelなどの表形式ファイルを読み込み、データについて質問したり、集計したり、グラフを作成したりできます。
無料プランでも、ファイルアップロードとデータ分析は利用可能です。
ただし、有料プランと比べて利用回数などの制限があります。
2026年8月15日時点の主なポイントは次のとおりです。
| ChatGPT Free | |
|---|---|
| 月額料金 | 無料 |
| CSVアップロード | 利用可能。ただし制限あり |
| データ分析 | 利用可能。ただし制限あり |
| 無料ユーザーのファイルアップロード | 1日3回までが目安(公式FAQ) |
| CSV・表計算ファイルのサイズ | おおむね50MB以下 |
| 利用上限 | 混雑状況などで変わる可能性あり |
| インタラクティブな表・グラフ |
この記事では、無料版でも再現しやすいように、小さなCSVを1ファイルだけ使います。
今回使う売上CSV
今回のサンプルは、ある小売店の1週間分の売上を商品別にまとめたものです。
ファイル名:sample_sales_202607.csv
列は次の7つです。
| 列名 | 内容 |
|---|---|
| 日付 | 売上日 |
| 曜日 | 月〜日 |
| 商品名 | 商品名 |
| カテゴリ | 商品カテゴリ |
| 単価(円) | 1点あたりの価格 |
| 数量 | 販売数量 |
| 売上金額(円) |
CSVファイルを開くと、データの先頭は次のようになっています。
日付,曜日,商品名,カテゴリ,単価(円),数量,売上金額(円) 2026-07-06,月,おにぎり(鮭),主食,160,32,5120 2026-07-06,月,幕の内弁当,弁当,620,18,11160 2026-07-06,月,サンドイッチ,軽食,380,20,7600 2026-07-06,月,緑茶 500ml,飲料,150,35,5250 2026-07-06,月,アイスコーヒー,飲料,180,28,5040
1行が「1日 × 1商品」の売上レコードになっています。
Step 1:CSVをChatGPTへアップロードする
まずはChatGPTを開き、新しいチャットを開始します。
入力欄のファイル添付機能から、`sample_sales_202607.csv` を選択します。もしくは、入力欄にファイルをドラッグ&ドロップで添付します。
いきなり分析を始めず、まずファイルが正しく読み込めているかを確認します。
以下、プロンプト例です。そのままコピーし、ChatGPTの入力欄に入力します。
このCSVを読み込んでください。 まず、ファイルを正常に読み込めたか確認してください。 まだ売上分析はしないでください。

以下、ChatGPTの出力例です。人とタイミングによって出力が異なります。

以下、確認するポイントです。
- CSVファイルが添付されている
- ChatGPTがファイルを読み込めている
- まだ売上の分析には進んでいない
いきなり「このデータを分析して」と聞くこともできますが、実務では、読み込み確認 → データ確認 → 分析と段階を分けたほうが間違いに気づきやすくなります。
Step 2:データの状態を確認する
ファイルが読み込めたら、次は中身を確認します。
この段階では売上の良し悪しを考えるのではなく、分析する前提となるデータが正しいかを確認します。
以下、プロンプト例です。
このCSVの中身を確認してください。 次の項目を表にしてください。 1. 行数 2. 列名 3. 日付の最小値と最大値 4. 商品数 5. カテゴリ数 6. 各列の欠損数 7. 重複行数 この段階では売上の考察はしないでください。
以下、ChatGPTの出力例です。

以下、確認するポイントです。
- 行数は想定どおりか
- 対象期間は想定どおりか
- 欠損値はないか
- 重複行はないか
- 列名が想定どおり読み込まれているか
たとえば、1週間分のデータのつもりなのに期間が1日しかなければ、そのまま分析に進むべきではありません。
分析の前にデータの状態を確認するだけで、かなりのミスを防げます。
Step 3:売上を集計してもらう
データに大きな問題がなければ、ここで初めて売上分析に進みます。
今回は、売上合計、日別売上、商品別売上、グラフをまとめて依頼します。
以下、プロンプト例です。
このCSVの売上を分析してください。 次の順番で出してください。 1. 売上金額の合計 2. 販売数量の合計 3. 日ごとの売上金額 4. 商品別売上の上位3商品 5. カテゴリ別の売上金額 6. 日ごとの売上推移の折れ線グラフ 最後に、データから直接確認できる事実を3点だけ書いてください。 売上が増えた理由など、原因の推測はしないでください。
以下、ChatGPTの出力例です。



以下、確認するポイントです。
- 売上合計と販売数量が出ている
- 日別売上が表で確認できる
- 商品別ランキングが確認できる
- グラフだけでなく、元になった数値も表示されている
- 「土曜日だから売れた」のような原因の断定をしていない
今回のデータでは、土曜日の売上が最も高くなっています。
ただし、分かるのは「土曜日の売上が高かった」という事実までです。
来店客数、販促、天候、営業時間などの情報がないため、なぜ売上が高かったのかまでは判断できません。
Step 4:追加質問で分析を掘り下げる
一度CSVを読み込ませておけば、同じチャットの中で追加質問できます。
今度は、「土曜日は何が売れていたのか」をもう少し詳しく見てみます。
以下、プロンプト例です。
土曜日の売上について、もう少し詳しく見たいです。 月曜日から金曜日までの平均売上と比べて、 土曜日に売上が増えている商品を商品別に確認してください。 出力は次の2つに分けてください。 1. CSVから確認できる事実 2. 原因を考えるために追加で必要な情報 原因そのものは断定しないでください。
以下、ChatGPTの出力例です。


ここでは、回答が次の2つに分かれていることが重要です。
- CSVから分かること → 土曜日にどの商品がどれくらい売れたか
- CSVだけでは分からないこと → なぜ土曜日に売上が増えたのか
生成AIは、もっともらしい理由を文章として補うのが得意です。
そのため、データ分析では、「『事実』と『推測』を分けてください」と明示するだけでも、回答をかなり確認しやすくなります。
Step 5:集計結果を必ず検算する
ChatGPTが「売上合計は281,020円です」と回答したとしても、それだけで正しいと判断するのはおすすめしません。
少なくとも重要な数値は、別の方法でも確認します。
Pythonを使える場合は、数行で検算できます。
import pandas as pd
df = pd.read_csv("sample_sales_202607.csv")
print(df["売上金額(円)"].sum())
print(df["数量"].sum())
print(
df.groupby("商品名")["売上金額(円)"]
.sum()
.sort_values(ascending=False)
)
売上合計として、以下のように出れば一致しています。
281020
ExcelやGoogleスプレッドシートのSUM関数、ピボットテーブルで確認しても構いません。
大事なのは、生成AIの回答そのものを「正解データ」にしないことです。
特に……
- 売上合計
- 件数
- 平均
- 前期間比
- 構成比
- ランキング
……のように意思決定へ直接使う数字は、再現可能な方法で確認しておきましょう。
たとえば、次の依頼でもChatGPTは何かしら答えてくれます。
この売上データを分析してください。
これでは……
- 何を集計したのか
- どの期間を見たのか
- 売上と数量のどちらを重視したのか
- どのグラフを作ったのか
……がChatGPT任せになります。
そこで、実務では少なくとも、「対象期間 × 集計単位 × 指標 × 出力形式」を指定します。
以下、プロンプト例です。
2026年7月6日から7月12日を対象に、 日別に売上金額を合計し、 表と折れ線グラフで表示してください。
以下、ChatGPTの出力例です。


この「依頼の具体化」は、次の記事で扱います。
業務データをアップロードする前に確認する
今回の記事では、サンプルデータを使っています。
実際の業務データをChatGPTへアップロードするときは、会社や組織のルールを確認し、顧客名、メールアドレス、住所、社員情報、未公開の売上情報などを安易にアップロードしないでください。
個人向けのChatGPTでは、設定によって会話内容がモデル改善に使われる場合があります。
Web版では、プロフィール → Settings(設定) → Data Controls(データコントロール) → Improve the model for everyone(モデル改善に協力する)から、モデル改善への利用をオフにできます。

ただし、この設定をオフにすれば「どんな業務データでもアップロードしてよい」という意味ではありません。
実務では……
- 社内の生成AI利用ルール
- 個人情報の有無
- 顧客・取引先との契約
- 機密情報の分類
- 匿名化・仮名化できるか
……を確認したうえで利用します。
最初の練習には、今回のようなサンプルデータやオープンデータを使うのが安全です。
無料版で使うときの注意点
ファイルアップロード回数には上限がある
OpenAIの公式FAQでは、無料ユーザーのファイルアップロードは1日3回まで(2026年8月15日現在)と案内されています。
また、混雑時には上限が下がる場合があります。
何度もファイルを差し替えるのではなく、最初にCSVの列名や内容を確認してからアップロードするとよいでしょう。
大きなCSVは分割したほうがよいことがある
CSVや表計算ファイルは、おおむね50MB以下というサイズ制限(2026年8月15日現在)があります。
上限以内でも、行数が多かったり、構造が複雑だったりすると、すべてを期待どおり分析できない場合があります。
最初は小さな期間・店舗・商品群に絞って試すのがおすすめです。
自然な説明文と正しい集計は別
生成AIは、読みやすい文章を作るのが得意です。
しかし、文章が自然だからといって、その中に出てくる数値まで必ず正しいとは限りません。
重要な集計値はPython、SQL、Excel、BIツールなどでも確認します。
相関や増減から原因を断定しない
「土曜日に売上が高い」ことと、「土曜日だから売上が上がった」ことは同じではありません。
このCSVから確認できるのは売上の違いまでです。
原因を説明するには、来店客数、販促、天候、営業時間など別のデータが必要になるかもしれません。
ChatGPTはどこまで使い、どこからPythonに任せるか
今回の例ではChatGPTだけでも、CSVを読み込み、集計し、グラフを作り、結果を文章で説明できます。
これは探索的にデータを見るときにはとても便利です。
一方、毎日同じ集計を繰り返したり、社内システムへ組み込んだり、必ず同じ計算手順を再現したりしたい場合は、ChatGPTの画面だけでは足りません。
たとえば……
- 売上集計はPythonで実行する
- ABC分析もPythonで固定する
- ChatGPTには計算済みの結果だけを渡す
- ChatGPTは結果の説明や次の確認事項を文章化する
……という役割分担が考えられます。
この考え方は、後続の「POS売上分析Copilot」へつながっていきます。
計算する部分と、言葉で説明する部分を分ける。
生成AIをデータ分析で安全に使ううえで、最初に押さえておきたい考え方です。
まとめ
ChatGPT無料版でも、CSVをアップロードしてデータ分析を試すことができます。
今回の流れは次の5ステップでした。
- 1. CSVをアップロードする
- 2. 行数・期間・欠損などを確認する
- 3. 売上を集計する
- 4. グラフと追加質問で傾向を見る
- 5. 重要な数値を元データと照合する
最初の一歩としては、これだけでもかなり便利です。
ただし、生成AIが出した数字をそのまま正解とせず、「何をどう計算したのか」を確認できる形で使うことが重要です。

