Phase 1 · ChatGPT · Level 2 · Practitioner
Files and data analysis
By the end, you'll be able to…
- Upload a spreadsheet or document to ChatGPT and ask clear questions of it
- Clean a messy CSV, get reliable totals, and catch the errors hiding in it
- Tell the difference between a number ChatGPT calculated and one it guessed
Why it matters
Most useful work data lives in files, not in your head: a sales export, a policy PDF, a month of meeting notes. Being able to hand ChatGPT a file and interrogate it turns a vague 'summarise this' into real analysis you can act on. The catch is that a confident wrong number looks exactly like a right one, so this lesson is as much about checking as it is about asking.
Two ways ChatGPT reads a file
When you attach a file, ChatGPT can work with it in one of two quite different ways, and knowing which is happening changes how much you trust the answer.
The first is reading it as text. A short document, a policy, an email thread: ChatGPT pulls the words into the conversation's context window (its working memory for that chat) and answers from them, the same way it would if you had pasted the text in. This is great for summarising, finding a clause, or comparing two documents. Its limit is length: a very large file may not fit, and the model can lose track of detail buried deep inside a long one.
The second is running code on it. For spreadsheets and data files, ChatGPT can write and run a small program in a sandbox to do the actual sums, calculating a total rather than predicting what it probably is. This matters enormously. A plain language model is a text predictor; asking it to add up a column of numbers in its head is asking it to guess, and it will sometimes guess wrong with total confidence. When it runs code instead, the arithmetic is real. You'll usually see it mention that it's analysing the file, and you can often expand a panel to see the code it ran. If you care about the numbers, prefer this route, and you can nudge it there by saying "calculate this, don't estimate it".
Uploading a file
In the message box there's a paperclip or + icon. Click it, choose your file (or drag it straight onto the chat), and it uploads. Common formats all work: spreadsheets (.csv, .xlsx), documents (.pdf, .docx, .txt), and images. You can attach more than one and ask ChatGPT to compare them. Then you type your question as normal. The file is just part of the prompt now.
One habit to build from the start: the same privacy rules from Phase 0 apply to files, and a file often carries far more hidden detail than you'd paste by hand: customer names, personal data, a stray tab you forgot was in the workbook. On a personal account, upload only what you'd be comfortable sharing, and use an employer-approved Business-tier tool for anything confidential.
Worked example: cleaning up a messy sales export
Let's do a real one. Fernway's sales team keep an export of the month's deals, and like most real spreadsheets it's a bit of a mess: someone typed the regions by hand, a few totals are blank, and at least one number looks wrong. We want reliable regional totals out of it, and we want to know what we can't trust. Download the Fernway sales CSV and follow along.
Attached is a month of sales data. Before you total anything, calculate the figures, don't estimate them. First give me a short data-quality report: list any blank cells, any dates in a different format from the rest, any region names that look like misspellings of each other, and any row where Units times Unit Price doesn't equal the Total. Show me the problem rows. Then wait; don't fix anything yet.
Why this works: Asking for a data-quality check first, and telling it to calculate rather than estimate, surfaces the errors before they poison any total, and steers ChatGPT to run real code instead of predicting the sums.
On this file, a good reply flags several real problems. The region column has typos that would wreck a naive grouping: "Sotuh" appears twice and "Midlnads" once, so a straight count would invent phantom regions unless they're corrected to South and Midlands. The dates are inconsistent: most are DD/MM/YYYY, but one is ISO format (2026-04-03) and one drops its leading zero (17/4/2026). Several cells are blank: two missing Totals, two missing Units, and two missing Rep names. And crucially, the recomputed column catches two arithmetic errors: a Pro Plan row of 5 units at £120 is recorded as £650 when it should be £600, and a Starter Plan row of 10 units at £49 is recorded as £49 when it should be £490, a dropped zero worth £441. Those two are exactly the kind of thing a human skim would miss and a naive "just add up the Total column" would carry straight into your report.
Now you decide the fixes rather than letting the tool decide silently:
Good. Now: correct "Sotuh" to South and "Midlnads" to Midlands. For the two rows where Units times Unit Price doesn't match, trust Units times Unit Price and recalculate the Total. For the blank Totals, calculate them from Units and Unit Price where both are present; where Units is missing, leave the Total blank and list those rows separately as "needs checking". Then give me total revenue by Region and by Product, and tell me exactly which rows you had to exclude.
Why this works: Spelling out each correction, and how to treat the gaps, keeps you in control of the numbers instead of accepting whatever the tool assumed.
The reply now gives you regional and product totals you can actually stand behind, plus an explicit list of the rows it couldn't complete. That last part is the point: a trustworthy analysis tells you what it left out, not just a single confident number.
Asking questions of a document
The same skills work on prose. Upload a long document and you can ask it targeted questions instead of reading the whole thing: "What does this policy say about equipment claims?", "Find every mention of a deadline and list the dates", "Does this brief contradict itself anywhere?" As with the spreadsheet, the trick is to ask for evidence, not just an answer: tell it to quote the specific line it's relying on, so you can check the source rather than trust a paraphrase.
From the attached document, answer these three questions, and after each answer quote the exact sentence you based it on: (1) How many days a week must staff be in the office? (2) What are the core hours? (3) What does it say about putting company information into AI tools? If the document doesn't answer one, say "not specified" rather than guessing.
Why this works: Asking for the exact quoted line behind each answer turns a paraphrase you'd have to trust into something you can verify against the source in seconds.
Try it now
Common mistakes
- Trusting a total it did in its head. If ChatGPT didn't run code, a big sum is a prediction, not a calculation. Ask it to calculate rather than estimate, and prefer the answer where it shows the working.
- Letting it clean the data silently. "Tidy this up and total it" invites invisible decisions: which typo it merged, how it treated a blank. Ask for the problems first, then instruct the fixes, so you know what changed.
- Forgetting what's really in the file. A workbook can hold hidden columns, other tabs and personal data you never meant to share. Check before you upload, especially on a personal account.
- Over-trusting a clean-looking answer (the big one). A confident table with neat totals is exactly what a quiet miscalculation or a merged-away error produces. The polish tells you nothing about the accuracy. Spot-check a couple of rows against the source yourself before any number leaves the chat.
Keeping current
Which file types are supported, how big they can be, and when ChatGPT runs code versus reads text all change over time. For the current details, see OpenAI's file uploads FAQ and the ChatGPT release notes. Accurate as of 13 July 2026.