INSYNTIVEAcademyAll guides

Analyze a messy Excel file with ChatGPT in four prompts

The full workflow from my Reel. Profile the data first, give ChatGPT real business context, make it check its own work, then turn the result into a dashboard you'll actually use.

See the sample dashboard ↓

sales_export_final_v3.xlsx
order_idorder_dateregionproductqtyrevenue
10412026-01-12JakartaCoffee Beans 1kg3675000
104212/01/2026jakartaCoffee beans 1kg2450000
104212/01/2026jakartaCoffee beans 1kg2450000
10432026-01-13SurabayaDrip Kettle    389000
10442026-01-13BandungHand Grinder19999999
10452026-01-14MedanPaper Filters5Rp 60.000

This is what real data looks like, so don't clean it first. A good first prompt should make ChatGPT find every one of these on its own:

Before you start

Upload the raw file

In ChatGPT, click + in the message box, choose Add photos & files, and pick your CSV or Excel file. One table per sheet with headers in the first row works best.

Keep private data out

Remove names, phone numbers, emails, and anything confidential. If it's company data, check your company's AI policy first.

Decide about training

On a personal plan, you can stop your chats from being used to train OpenAI's models: Settings › Data controls, then turn off Improve the model for everyone.

No dataset yet? Use mine

This is the same messy file I use in my videos: 9,408 rows of made-up coffee sales with every problem above hidden inside.

Download the practice fileExcel, 9,408 rows, about 400 KB

Or ask ChatGPT to make you a fresh one:

Practice data

      

Make the prompts yours

Fill these in once and every prompt below updates as you type. Anything you leave blank stays as a highlighted placeholder you can edit inside ChatGPT.

Saved only in this browser.

Don't analyze yet. Profile first.

Upload the raw file and make ChatGPT understand it before it draws a single chart. Most bad analysis starts with skipping this.

Prompt 1 of 4

      

What a good answer looks like

The row count matches what you see in Excel. It tells you what one row represents. Problems come with counts, like “139 duplicate rows”, not vague warnings.

Give it context: role, problem, decision

Without context you get “interesting charts”. With your role, the business problem, and the decision on the table, you get answers you can act on.

Prompt 2 of 4

      

What a good answer looks like

Every number comes with a calculation you can follow. The cleaning log explains any rows that disappeared. When the data can't answer something, it says so.

The important part

Make it check its own work

Do the totals match the source? What did it assume? This is what separates a pretty chart from an analysis you can defend in a meeting.

Prompt 3 of 4

      

Then check two or three numbers yourself

Open your original file, make a quick pivot table, and compare the totals ChatGPT flagged. It takes five minutes, and it's what makes the analysis yours. AI can make mistakes; you own the conclusion.

Turn it into a dashboard you'll actually use

Not a screenshot of charts in the chat. A file your team can open, update, and trust.

Prompt 4 of 4

      

What a good answer looks like

Open the file in Excel and click a KPI: you should see a formula, not a typed number. Then change one value on the Data sheet and watch the dashboard move. If something ChatGPT promised is missing, ask it for the steps to add it yourself.

Prefer Power BI?

Optional

      

See what prompt 4 can give you

A sample built with this exact workflow on the practice file above: 9,408 raw rows, profiled, cleaned, reconciled, and then turned into a dashboard. ChatGPT hands it to you as an Excel file with Data, Dashboard, and Notes sheets. Here it is live, so you can try the filters.

Sample Coffee Co. Sample data

Quarterly sales review

Five regions, three channels, twelve products. January 2025 to June 2026, in rupiah.

What this means

    What drove the change

    Volume: selling more or fewer units. Price: charging more or less per unit. Mix: a shift between cheaper and pricier products.

    Revenue by month

    Selected quarter in dark blue, comparison quarter in mid blue.

    Change by category

    Regions vs. target

    Channel mix

    Share of revenue by sales channel.

    Top products

    Data notes: from 9,408 raw rows to 9,266 clean orders
    Cleaning log
    Revenue reconciliation
    Assumptions
    • Dates typed as text were read as day/month/year, the Indonesian format.
    • Blank quantities were filled as revenue ÷ unit price. Every result was a whole number.
    • The six revenues of 9,999,999 didn't match qty × unit price, so they were treated as placeholders, not sales.
    • 2026 targets are +8% on the same quarter of 2025. There are no targets for 2025.
    • Regions vs. target uses total region revenue, so the channel and category filters don't apply there.
    • Each row in this export is one order with one product.

    All numbers are made up for practice. The company and its sales are not real.

    Keep going: three follow-ups worth asking

    Stay in the same chat so ChatGPT keeps the cleaned data and everything it already checked.

    Find the cause
    
          
    Explain it simply
    
          
    What did I miss?
    
          

    Before you share anything