Concept
Download the workbook below. This guided challenge combines references, text cleanup, dates, Tables and conditional aggregation. All data is synthetic. The formulas work without XLOOKUP or dynamic arrays. Allow 30 minutes; save a working copy before starting.
1. Inspect and agree the rules · 3 minutes
Your manager needs net sales by region and month for January–March 2026. The export has one line per order, so Order ID is the unique key for this exercise. Real multi-line orders would need an order-plus-line key.
Open Read Me, then Raw Export. There are 2,000 data rows, excluding the header. Clean Work contains a copy plus empty helper columns H:Q. Keep Raw Export unchanged as the audit trail.
| Problem | Decision |
|---|---|
| Repeated import of the same order | Normalize the ID, then keep one row per ID; the duplicates here have identical transaction data. |
| Mixed case, spaces, non-breaking spaces | Standardize text before comparing or grouping. |
Dates stored as YYYY-MM-DD text |
Build dates from year, month and day; keep existing numeric Excel dates. |
| Quantity or price stored as text | Convert to numbers after stripping known formatting. |
| Missing quantity | Retain the order with Status = Review; exclude it from sales KPIs. Do not invent a quantity. |
| Negative quantity | A genuine return: keep it and subtract its amount from net sales. |
| Zero unit price | A valid promotional order: keep the order and its zero revenue. |
Filter a few examples before editing. If duplicate IDs had conflicting values, stop and investigate instead of arbitrarily keeping the first row. In this supplied file, unit prices are present and dates are valid; the Status formula below is tailored to its missing-quantity problem.
2. Normalize with helper columns · 9 minutes
In Clean Work, enter these formulas in row 2. Fill H2:Q2 down through row 2001 using the fill handle, or select H2:Q2001 and press Ctrl+D after entering the first row.
| Column | Header | Formula in row 2 |
|---|---|---|
| H | Clean ID | =UPPER(TRIM(CLEAN(SUBSTITUTE(A2,CHAR(160)," ")))) |
| I | Clean Date | =IF(ISNUMBER(B2),B2,DATE(VALUE(LEFT(B2,4)),VALUE(MID(B2,6,2)),VALUE(RIGHT(B2,2)))) |
| J | Clean Region | =PROPER(TRIM(CLEAN(SUBSTITUTE(C2,CHAR(160)," ")))) |
| K | Clean Code | =UPPER(TRIM(CLEAN(SUBSTITUTE(D2,CHAR(160)," ")))) |
| L | Clean Qty | =IF(TRIM(E2&"")="","",VALUE(TRIM(E2&""))) |
| M | Clean Price | =VALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(F2&"","₹",""),",","")," ","")) |
| N | Clean Rep | =PROPER(TRIM(CLEAN(SUBSTITUTE(G2,CHAR(160)," ")))) |
| O | Status | =IF(L2="","Review","Ready") |
| P | Duplicate | =IF(COUNTIF($H$2:H2,H2)>1,"Duplicate","Keep") |
| Q | Net Sales | =IF(O2="Ready",L2*M2,"") |
TRIM handles ordinary spaces; replacing CHAR(160) first also handles the non-breaking spaces planted in this file. CLEAN removes common nonprinting characters. The date formula avoids interpreting ISO text according to a regional date setting. The number conversion assumes this export's comma thousands separator and whole-number prices.
Format I as yyyy-mm-dd, L as a number, and M/Q as currency or numbers with two decimals. Formatting alone does not convert text into numbers. Check ISNUMBER(I2) and a nonblank L/M cell; they should return TRUE. The negative quantities must remain negative.
3. Freeze values, deduplicate and create a Table · 5 minutes
- Before removing anything, filter P for Duplicate: it should identify 100 repeated rows. Clear that filter.
- Copy H2:Q2001, then Paste Special → Values onto the same range. This freezes the results before rows move.
- Select A1:Q2001. Data → Remove Duplicates → confirm headers → select only Clean ID. Remove 100 duplicate rows, leaving 1,900 orders. Select the whole record range, not just the ID cells.
- Select A1:Q1901, press Ctrl+T, confirm headers, and name the Table Sales in Table Design. This precise range excludes the now-empty trailing rows.
- Filter Status = Review. There should be 20 retained orders. Keep them visible in your audit; do not fill missing quantities with zero or an average. Clear the filter when finished.
There are 1,880 Ready orders. Blank quantities can occur in more than one raw row because a missing-value row can also be duplicated: count review items after deduplication. Do not add issue counts together to infer rows removed.
4. Build the summary block · 8 minutes
The Summary sheet provides labels. Enter these formulas:
| Cell | Metric | Formula |
|---|---|---|
| B2 | Raw rows | =COUNTA('Raw Export'!A2:A2001) |
| B3 | Unique orders | =COUNTA(Sales[Clean ID]) |
| B4 | Duplicates removed | =B2-B3 |
| B5 | Review orders | =COUNTIF(Sales[Status],"Review") |
| B6 | Ready orders | =COUNTIF(Sales[Status],"Ready") |
| B7 | Net units | =SUMIFS(Sales[Clean Qty],Sales[Status],"Ready") |
| B8 | Net revenue | =SUMIFS(Sales[Net Sales],Sales[Status],"Ready") |
| B9 | Average Ready order | =IFERROR(B8/B6,0) |
| B10 | Return orders | =COUNTIFS(Sales[Status],"Ready",Sales[Clean Qty],"<0") |
| B11 | Zero-price orders | =COUNTIFS(Sales[Status],"Ready",Sales[Clean Price],0) |
Regions are in E2:E5. In F2 enter =COUNTIFS(Sales[Clean Region],E2,Sales[Status],"Ready"). In G2 enter =SUMIFS(Sales[Net Sales],Sales[Clean Region],E2,Sales[Status],"Ready"). Fill both down to row 5.
Month-start dates are already in E9:E11. In F9:
=COUNTIFS(Sales[Clean Date],">="&E9,Sales[Clean Date],"<"&DATE(YEAR(E9),MONTH(E9)+1,1),Sales[Status],"Ready")
In G9:
=SUMIFS(Sales[Net Sales],Sales[Clean Date],">="&E9,Sales[Clean Date],"<"&DATE(YEAR(E9),MONTH(E9)+1,1),Sales[Status],"Ready")
Fill both down to row 11. Using an inclusive start and exclusive next-month start also works when valid source dates contain times. All summaries explicitly require Ready status; worksheet filters alone do not change SUMIFS results.
5. Reconcile and hand over · 5 minutes
Check these independently before looking at Clean Answer and Answer Key:
- Raw rows = unique orders + duplicates removed: 2,000 = 1,900 + 100.
- Unique orders = Ready + Review: 1,900 = 1,880 + 20.
- Net units 8,904; net revenue ₹8,783,340; average Ready order ₹4,671.99 (display rounded, retain full precision).
- There are 46 return orders and 19 zero-price orders; both remain in the Ready group.
- The four regional revenues and three monthly revenues must each sum to B8. Their order counts must each sum to B6.
| Region | Ready orders | Net revenue |
|---|---|---|
| North | 470 | 2,224,370 |
| South | 470 | 2,134,940 |
| East | 470 | 2,240,950 |
| West | 470 | 2,183,080 |
Write two short observations in Summary A15:A16 and your unresolved-data note in A18. For example, East has the highest regional net revenue in this sample; 20 orders remain excluded pending quantity confirmation. Describe observations, not unsupported causes. Save your workbook with Raw Export, your cleaned Table and the formula-based summary intact.
Completion criteria: correct row reconciliation, all review rows retained, returns/zero prices preserved, numeric dates/amounts, matching regional/monthly totals, and a clear handover note. If a check fails, revisit the relevant rows; do not hide every error with IFERROR or hard-code the expected total.