A monthly export can look clean enough to use until you find North, North , dates stored as text, duplicate order IDs, and amounts that will not total correctly. Fixing these issues manually is slow. Letting AI rewrite the only copy of the data is worse, because you may not know what changed.
The safer approach with ChatGPT in Excel is to work in a separate copy and build an Exceptions sheet alongside it. Every proposed change should have an original value, proposed value, reason, and review status. You get AI assistance without losing the audit trail.
Quick Solution: Clean a Copy and Log Every Change

- Keep the imported export unchanged in a table named RawData.
- Duplicate it into a table named WorkingData.
- Add a permanent Record ID column before cleaning, if the export does not already have a reliable unique key.
- Use ChatGPT to identify and propose specific cleanup rules for WorkingData, not RawData.
- Create an Exceptions table containing the row ID, field, original value, proposed value, reason, and reviewer decision.
- Use formulas and Power Query checks to find issues again when next month’s file arrives.
Caution: do not ask AI to “fix everything” without a review rule. A label such as “N. Region” might mean “North Region,” but it might also be a valid separate business code. Ambiguous values belong in the exception log, not in an automatic replacement.
Why an Exception Log Matters for ChatGPT in Excel
ChatGPT for Excel can help with tasks such as cleaning labels, finding duplicates, adjusting formatting, and repairing formulas. OpenAI’s guidance also advises reviewing changed cells before relying on the workbook. That review is much easier when your changes are collected in one table rather than scattered through a worksheet.
Your exception log turns a vague cleanup task into a decision list. It also gives a manager, colleague, or future you a clear answer to three important questions: what was changed, why was it changed, and who approved it?
Set Up a Small, Auditable Workbook
Convert each range to an Excel Table with Ctrl+T. Tables make formulas easier to read and expand automatically as you add records.
| Sheet or table | Purpose | Editing rule |
|---|---|---|
| RawData | Original CSV or export | Never overwrite it |
| WorkingData | Copy used for proposed cleanup | Change only through documented rules |
| Exceptions | Before/after changes requiring a decision | Reviewer owns the status |
| Checks | Duplicate, blank, type, and comparison tests | Refresh or recalculate after each import |
For example, assume RawData contains these fields:
| Record ID | Customer | Order Date | Amount | Order ID |
|---|---|---|---|---|
| 1001 | Northwind | 2025-01-03 | 1200 | SO-1048 |
| 1002 | northwind | 03/01/2025 | ‘950 | SO-1049 |
| 1003 | Contoso | not supplied | 475 | SO-1049 |
Keep Record ID unchanged in every table. Row numbers are not stable identifiers: sorting, filtering, and new exports can move them.
Ask AI for Controlled Proposals, Not Silent Cleanup
In the ChatGPT for Excel experience, give the selected working range and a narrow instruction. State the rule, the destination, and what should be left for human review. Start with one field or one issue type instead of transforming the whole export at once.
Use a prompt like this:
Review the Customer column in WorkingData. Identify leading/trailing spaces,
nonbreaking spaces, and capitalization inconsistencies. Do not edit RawData.
For each proposed change, add a row to Exceptions with Record ID, Field,
Original value, Proposed value, Reason, and Review status = Pending.
Do not standardize abbreviations or unclear names; log those as Pending.
Then inspect the proposals before applying them to WorkingData. The same pattern works for numeric text, duplicate keys, or invalid dates. Microsoft’s Copilot release notes describe Excel editing workflows for cleaning and transforming data; regardless of which AI feature your organization uses, retain this separate review layer rather than treating an AI edit as final.
Use clear exception categories
| Issue | Safe proposed action | Usually needs review? |
|---|---|---|
| Leading or trailing spaces | Trim the value | No, if the field is not a password or code |
| Numbers stored as text | Convert when the text is a valid number | Yes for IDs with leading zeros |
| Duplicate Order ID | Flag both records | Yes; do not delete automatically |
| Ambiguous date | Keep original text and flag it | Yes |
| Capitalization difference | Suggest a standard form | Yes when values are business labels |
Build the Exceptions Table

Create an Excel Table named Exceptions with these columns:
| Record ID | Field | Original value | Proposed value | Reason | Review status | Reviewer note |
|---|---|---|---|---|---|---|
| 1001 | Customer | Northwind | Northwind | Trailing space removed | Pending | |
| 1002 | Amount | ‘950 | 950 | Numeric text converted | Pending | Check source convention |
| 1003 | Order Date | not supplied | Unusable date value | Pending | Request source correction |
Use Data Validation for Review status: Pending, Approved, Rejected, and Needs source check. A controlled list prevents variants such as “approve,” “approved?” and “yes.” See this guide to auditing Excel data validation if you need to set up and check the dropdowns.
Add a simple action formula
Add an Action column in Exceptions. Enter this formula in the first data row of that table:
=IF([@[Review status]]="Approved","Apply",IF([@[Review status]]="Rejected","Keep original","Review"))
The result is Apply only after a human has approved the proposal. Filter the table to Apply when you are ready to make the approved changes in WorkingData.
For high-volume files, do not use a lookup to overwrite source fields immediately. Keep the approved list as a separate output until you have checked record counts and exceptions. This avoids replacing a value merely because two similar customer names exist.
Add Excel Checks Before and After Cleanup
AI suggestions are useful, but Excel should still test predictable issues. Add helper columns in WorkingData or a Checks sheet.
Flag repeated order IDs
In a helper column in WorkingData, use:
=COUNTIF(WorkingData[Order ID],[@[Order ID]])>1
TRUE means the Order ID occurs more than once. It does not prove that one record should be deleted. A repeat could be a split shipment, correction, or real duplicate.
Flag values that contain unnecessary spaces
For the Customer field, use:
=LEN([@Customer])<>LEN(TRIM(SUBSTITUTE([@Customer],CHAR(160)," ")))
This returns TRUE when trimming normal or nonbreaking spaces would shorten the value. It is safer than changing every name before you inspect the result.
Find numeric text
For an Amount column, use:
=IFERROR(AND(ISTEXT([@Amount]),ISNUMBER(--[@Amount])),FALSE)
This returns TRUE when Amount is text that Excel can interpret as a number. Do not apply this blindly to account codes, employee IDs, or postal codes, because leading zeros may be meaningful. For conversion methods and common causes, see how to fix numbers stored as text in Excel.
Make Next Month’s Cleanup Refreshable with Power Query
If the same export arrives every month, use AI to help define the cleanup rules once, then move repeatable transformations into Power Query. Power Query is designed to connect to data, shape it, and refresh the query when the source changes.
- Import the CSV through Data > Get Data.
- Use Power Query for unambiguous transformations, such as trimming spaces, changing a confirmed data type, or removing fully blank rows.
- Keep questionable dates, duplicates, and business-label mappings in the Exceptions process.
- Load the cleaned query to WorkingData and refresh it for the next file.
This division is practical: Power Query handles repeatable rules; reviewers handle decisions that require business context. Start with the Excel Power Query basics guide if you have not used query steps before.
Caution: a Power Query type change can turn invalid source values into errors. Do not suppress those errors without investigating them. An error count is often the most useful item in the month’s exception log.
Troubleshooting Common Cleanup Problems
| Problem | Likely cause | Reliable fix |
|---|---|---|
| Dates change day and month | Mixed regional date formats | Keep ambiguous text as Pending; confirm the source locale before conversion |
| Leading zeros disappear | A code was converted to a number | Restore the original text from RawData and set the field to Text |
| Exception rows cannot be matched | Using row positions instead of a stable key | Use Record ID or another unique business identifier |
| Refresh changes a reviewed result | Manual edits sit inside a query output | Keep review decisions in a separate table keyed by Record ID |
| AI suggests a plausible but wrong mapping | The value is ambiguous | Reject it or request source confirmation; retain the suggestion and note |
Final Checklist
- RawData is preserved and unedited.
- WorkingData has a stable Record ID.
- Every nontrivial change has an Exceptions row.
- Only Approved items are applied.
- Duplicates and malformed dates are flagged, not silently removed.
- Repeatable transformations are documented in Power Query.
- You check row counts, totals, and unresolved Pending items before reporting.
FAQ
Can ChatGPT in Excel clean my data automatically?
It can assist with cleanup tasks, but automatic edits should be limited to clear, reversible rules. Keep ambiguous values in an exception log for review.
Should I delete duplicate rows automatically?
No. First flag them and compare the full records. Identical order IDs can represent legitimate business activity.
Is Power Query better than AI for recurring cleanup?
For the same known transformation every month, Power Query is usually the better final process because its steps can be refreshed. AI is useful for investigating new inconsistencies and drafting controlled rules.
Pingback: Copilot Skill for Excel: Create a Monthly Report Checklist