To check if an AI got your Excel numbers right, work out the same total yourself with SUM and compare it with the AI’s answer. If the two do not match, the size of the gap tells you what went wrong. Double usually means your Total row was added in, and a smaller gap points to hidden rows, filters or numbers stored as text. Then check three rows by hand, one of them from the bottom.

Last updated 15 September 2026 · by Inam Ul Haq, data analyst and automation engineer · about the author

A printed spreadsheet on a desk with a pencil circle drawn around the bottom total row

Say you just gave a sales sheet to ChatGPT, or asked Copilot inside Excel to sum it up, and it came back with a clean answer. Total sales are 9,600, North is your top region, and this month looks better than last month. It is formatted nicely, it sounds sure of itself, and you are about to paste it into an email to your manager or a client.

You do not have to redo the whole sheet to find out if it is right. You need one control total, which is a single sum you work out yourself, a quick comparison between the two numbers, and three rows checked by hand. That takes about five minutes, and it catches the mistakes that actually matter.

When an AI gets a spreadsheet total wrong, the arithmetic is almost never the problem. ChatGPT reads your file by writing Python code and running it, and Python adds numbers up perfectly. What goes wrong is which rows it decided to add.

It counts your Total row at the bottom as if it were one more sale, it picks up rows your filter is hiding, or it quietly drops numbers that were typed in as text. Each of those leaves a different size of gap, so the gap tells you what happened.

So before you send a number an AI gave you, get the same number yourself with one formula. If the two match, and three rows you check by hand match, send it. If they do not match, do not send it until you know why.

The maths is rarely wrong. The rows it added up are.
01/LOOKS RIGHT

Why does an AI's Excel total look right even when it is wrong?

Because a wrong total looks exactly as clean as a right one. There is no red triangle and no error message, just a normal number with a comma in it. And the AI explains a wrong answer in the same calm, clear way it explains a right one, which Microsoft says openly in its Copilot in Excel FAQ: Copilot explains its insights and formulas in fluent, grammatically correct language, but the content can be inaccurate, so review and verify anything it creates before you rely on it.

It helps to know how these tools actually read your spreadsheet. OpenAI’s help page on data analysis says ChatGPT writes and runs Python code in a Jupyter notebook, which is a scratchpad where code runs one step at a time, and that it shows your data as pandas DataFrames. pandas is the standard Python library for tables, and a DataFrame is just a table held inside that program.

So the tool never sees your sheet the way you see it on your monitor, and that one difference explains most of these mistakes. On your screen a filter hides the rows you do not want, and a Total row is clearly a total because it sits at the bottom in bold. But to a program reading the file, a hidden row is just another row, and the Total row is one more number in the Amount column.

A printed spreadsheet folded so a band of rows is hidden, held with a blue paper clip
Rows hidden on your screen are still in the file

Here is a small example. Take a sheet with six sales, 1,200, 850, 640, 910, 430 and 770, which add up to 4,800, plus a Total row underneath that also says 4,800. You turn on a filter to see only North and East, so on screen you have three rows adding up to 2,270.

Now load that same file with pandas and add up the Amount column, and you get 9,600. It read all seven rows, the three hidden ones and your Total row too, and it did the addition without a single mistake. So one spreadsheet gives you three answers, 2,270 on your monitor, 9,600 from the AI and 4,800, which is the real total, and none of them came from bad maths.

WHAT YOU SEE, WITH A FILTER ONWHAT A PROGRAM READING THE FILE SEESREGIONAMOUNTNorth1,200East640North430THREE ROWS HIDDEN BY THE FILTERTOTAL ROW OUT OF VIEW=SUBTOTAL(109,B2:B7)2,270REGIONAMOUNTNorth1,200SouthHIDDEN850East640WestHIDDEN910North430SouthHIDDEN770TotalJUST ONE MORE NUMBER4,800ADD UP THE AMOUNT COLUMN9,600THE SIX REAL SALES ADD UP TO 4,800. NEITHER NUMBER ABOVE IS THAT.
fig 01: the same file, read by you with a filter on and read by a program that sees every row
02/YOUR NUMBER

What should you work out yourself before you ask the AI?

One control total. A control total is a number you calculate yourself, by a second route, that the AI’s answer has to match. It is an old accounting habit, and it works because two different routes to the same number rarely go wrong in exactly the same way.

Find the column your question depends on, usually an amount or a quantity, and type these four formulas into empty cells beside your data. The ranges below fit the six row example, so stretch them down to your own last row.

  1. 01
    The plain total: =SUM(B2:B7)
    Select only the data rows and leave the Total row out. This is the number you compare with the AI’s answer.
  2. 02
    The visible total: =SUBTOTAL(109,B2:B7)
    Microsoft’s SUBTOTAL page documents that SUBTOTAL always ignores rows a filter has hidden, and that function number 109 also ignores rows you hid by hand. If this number is different from the SUM, some of your rows are hidden, and you need to decide whether your question includes them, because a program reading the file will count them.
  3. 03
    The cells that are not really numbers: =COUNTA(B2:B7)-COUNT(B2:B7)
    COUNTA counts every cell that is not empty and COUNT counts only real numbers, so the difference is how many cells in the column are text. Anything above zero matters, because Microsoft’s own SUM page says SUM ignores text values and gives you the sum of just the numeric values, so your own total is short as well.
  4. 04
    The row count: =ROWS(B2:B7)
    This is how many data rows you have. Later you ask the AI how many rows it read, and the two should match.

Write down the SUM and the count of text cells before you ask the AI anything. If the text count is not zero, fix those cells first, because your own number is wrong too.

03/READ THE GAP

What does the gap between your total and the AI's total mean?

Now compare the two. If the AI matches your SUM, good, move on to the three rows. If it does not, do not start arguing with the AI or asking it to try again. Look at how far apart the numbers are first, because each common mistake leaves its own clue.

The size of the gap, and what it usually means
What you seeWhat it usually meansWhere to look
The AI total is almost exactly double yoursA Total row at the bottom of the sheet was added in as dataThe last rows of the sheet, and any row that says Total
The AI total is about three times yoursThe sheet is a report with subtotals and a grand total, so every sale was counted three timesRows made by Data then Subtotal, or bold group totals between the data
The AI total is higher, but not a clean multipleRows hidden by a filter or by hand that the file still holds, or numbers stored as text that your SUM skipped and its code convertedClear all filters, unhide rows, and check your text cell count
The AI total is lower than yoursIt left rows out: it dropped rows with a blank somewhere, applied a filter you did not ask for, or did not read the whole fileAsk how many rows it used and compare with your row count
Same grand total, different split by region or productThe same name is spelled more than one way, like North, north and North with a space after itCount the unique values in the category column
A completely different size of numberIt added up the wrong column or read the wrong sheetAsk which sheet and which column it used, by name

Numbers stored as text are the tricky one, because they can pull the two totals apart in either direction, or let them agree while both are wrong. Take a column holding 1,200, then 850, 1,250 and $80 all typed in as text, then N/A, then 640. Excel’s SUM skips every text cell and gives you 1,840.

A pandas script that converts the column with errors='coerce', a common setting that turns anything it cannot read into a blank, gives 2,690. The 850 converted cleanly, but 1,250 with its comma and $80 with its dollar sign did not. If all of those were meant as sales the real total is 4,020, and neither of them got there.

Spelling causes the same kind of trouble, and it is the same reason duplicate rows survive when you try to clean a table. North and North with a space at the end are two different values to software, which I went through properly in removing duplicates in Excel without losing data.

THE AI TOTAL COMPARED WITH YOUR OWN SUMWHAT IT USUALLY MEANSABOUT 2 × YOURSYOUR TOTAL ROW WAS COUNTED AS DATAABOUT 3 × YOURSSUBTOTALS AND A GRAND TOTAL WERE COUNTEDHIGHER, NOT A MULTIPLEHIDDEN ROWS, OR TEXT NUMBERS IT CONVERTEDLOWER THAN YOURSROWS DROPPED, FILTERED OUT OR NOT READSAME TOTAL, WRONG SPLITONE NAME SPELLED MORE THAN ONE WAYREAD THE GAP FIRST, AND ONLY THEN ASK THE AI TO TRY AGAIN
fig 02: read the size of the gap before you ask the AI to try again
04/THREE ROWS

Which three rows should you check by hand?

Matching totals are a good sign, but they are not proof. Two separate mistakes can cancel each other out, and a correct grand total tells you nothing about whether the North number is right. So check three rows by hand, and pick them on purpose.

The first is an easy one. Pick a small group you can add up in your head or with a quick filter, like one product or one week, and see if the AI’s answer for that group matches yours. The second comes from somewhere in the middle of the sheet, anywhere except the top.

The third one matters most, and it comes from the very end of your data. When code loads a spreadsheet it usually looks at a short preview first, and in pandas the preview command, head, returns the first five rows by default. The AI works out what each column means from the headers and those top rows.

But the real mess in a spreadsheet lives at the bottom. That is where you find the Total row, a note someone typed under the data, a second small table pasted underneath, or rows from a later export where the date format changed, and none of it shows up in a five row preview.

A long table printout running off a desk with blue tabs on a top, middle and last row
Check one row from the very end, where the trouble sits

OpenAI’s own help page says a file can upload fine and still be too large, complex or poorly structured for complete analysis, and it suggests asking ChatGPT to inspect specific sheets, rows, columns or sections. So do exactly that for your third check. Pick one of the last real rows in your file and ask the AI what it has for that row.

Check one easy row, one middle row and one row from the very bottom. If the last row is wrong or missing, the AI did not read your file the way you think it did.

DATE · REGION · AMOUNThead() SHOWS THE TOP 5 ROWSAND THE AI READS YOUR COLUMNS FROM THEMTHOUSANDS OF ROWSCHECK 2 · A ROW FROM THE MIDDLECHECK 3 · ONE OF THE LAST REAL ROWSTOTAL ROWA NOTE TYPED UNDER THE DATAA SECOND TABLE PASTED BELOWWHERE THE TROUBLE LIVESAND NO FIVE ROW PREVIEW REACHES IT
fig 03: the preview covers the top five rows, and the trouble sits at the bottom
05/CLEAN FIRST

Should you fix the data or the formula first?

Fix the data first, every time. When a sheet gives strange numbers the natural move is to ask the AI for a better formula, and it will happily write one, but that new formula points at the same messy column. So the answer is still wrong and now it looks more professional. Half the formulas I have been asked to fix were correct all along and were reading a column that was pretending to be numeric.

A neat stack of index cards beside a messy pile of the same cards on a grey desk
Clean the data before you ask for a better formula

So clean before anything else. Turn text numbers into real numbers, trim the stray spaces, move Total and subtotal rows out of the data, keep one header row and unmerge the cells, which is the routine in the cleaning order I use for messy Excel data. Once the data is clean, ask for the formula, and read its ranges against the last row of real data, which is one of the checks for an AI written Excel formula.

If you use Copilot directly in Excel, keep two points from Microsoft’s FAQ in mind. Copilot can only edit your sheet when calculation is set to Automatic, under Formulas then Calculation Options, and that matters for your own checks too, because in Manual mode the numbers on screen can be old. Copilot also makes real changes to your file, so if something looks wrong you can undo the changes or open a previous version of the workbook. The same caution applies to Anthropic’s rival add-in, whose own documentation says it is not for audit-critical calculations without verification, which is one of the limits of Claude in Excel.

06/ASK IT

What should you ask ChatGPT to show you before you trust the answer?

OpenAI’s help page is clear on this: when ChatGPT uses Python for analysis, review the generated code, outputs and assumptions before relying on the result. You do not need to know Python to do that. You need four questions and a quick look for a few words in the code.

  1. 01
    How many rows did you read, and what is in the last one?
    Compare the answer with your own row count and your real last row. If those two do not match, nothing else it tells you can be trusted yet.
  2. 02
    Which sheet and which column did you add up, by name?
    A wrong column, like quantity instead of amount, is the usual reason a total comes back a completely different size from yours.
  3. 03
    Did you include any Total, Subtotal or blank rows?
    If it says yes, ask it to leave them out and add up the column again.
  4. 04
    How many values could you not turn into numbers? List them.
    This is the question that catches the 1,250 and $80 cases. A list is easy to check against your sheet, and if it says zero while your own text count was above zero, one of you is wrong.

Then open the analysis to see the code it ran, and look for these words. You do not have to read the rest of it.

Four words in the code that change your total
In the codeWhat it doesWhy it matters to your total
head()Shows the first five rowsFine as a preview, but if it is the only look at the data, nobody checked the bottom
errors='coerce'Turns anything it cannot read as a number into a blankAsk how many values became blank
dropnaRemoves rows that have a blank in themWhole sales can vanish from the total
skipfooter or nrowsReads fewer rows than the sheet hasMake sure it is only leaving out the Total row

One more thing to keep in mind. ChatGPT’s Python environment cannot make web requests or reach your database, which I covered in the AI tools I actually use as a data analyst, so everything it knows about your numbers comes from the file you uploaded. If the file is messy, the answer is built on the mess.

07/BEYOND FIVE MINUTES

When is a five minute check not enough?

When the number goes to a client, a board or anywhere money is involved, and when the same report goes out every week. Microsoft’s FAQ says to avoid using Copilot for decisions in sensitive areas such as finance, legal or medical topics. That does not mean you stop using it, it means you put a real check between the tool and the person who reads the number.

For a one off question, a control total and three rows are enough. For a report that repeats, the check should live inside the spreadsheet, as a cell that compares the report total with the source total and turns red when they differ. That is the trace, reconcile and sample pass from the spreadsheet audit I run before a report ships, and once it is built into an automated Excel report nobody has to remember to do it.

> Where this leaves you

Checking an AI’s answer from Excel is not about doing all the maths again. Work out one total yourself with SUM, count the cells that are stored as text, and compare. When the numbers do not line up, read the gap before you ask again: double is a Total row, three times is subtotals, a bit higher is hidden rows or converted text, and lower is rows that got dropped.

Then check three rows by hand, and make one of them come from the very bottom of the sheet, because that is where the trouble sits and where a preview never looks. The AI’s arithmetic is usually fine. Your job is to make sure it added up the rows you meant, and if you have a file where you cannot get the numbers to agree, start a project and send it over.

Sources: Microsoft Support, SUM function; Microsoft Support, SUBTOTAL function; Microsoft Support, Frequently asked questions about Copilot in Excel; OpenAI Help Center, Data analysis with ChatGPT; pandas documentation, pandas.read_excel, pandas.to_numeric and DataFrame.head.