You will build
An auditable evidence chain
Raw rows become cleaned data, formulas become verified metrics, metrics become charts, and charts become a decision request.
Free Productivity Course · 2026 Edition
Turn messy data into a verified workbook, a clear dashboard, and an executive presentation without letting AI invent the evidence. You will practice with editable files, not screenshots of imaginary work.
Before you start: Basic spreadsheet navigation; no programming or AI experience.
Estimated hands-on work: 2–4 hours in addition to reading. Setup and independent extensions vary.
This course is about dependable office work with AI, not a tour of buttons that may change with the next product release.
A useful spreadsheet is a small information system. A useful presentation is a decision interface. AI can accelerate both, but it cannot decide what your data means, repair missing facts with guesses, or take responsibility for a recommendation.
You will work with a fictional company called Aperture Workspaces. The practice workbook contains a realistic sales table plus four intentional defects: one duplicate row, inconsistent capitalization, trailing whitespace, and one missing owner. Your job is to identify and classify those issues, calculate defensible metrics, and present one bounded recommendation. You will also build controls for risks that are not present in the exercise data, because a clean result is not proof that an important failure mode was tested.
You will build
Raw rows become cleaned data, formulas become verified metrics, metrics become charts, and charts become a decision request.
You will avoid
Polished wording, attractive charts, and plausible formulas do not count as proof. Every important claim must trace back to a source and a definition.
Start here
Find the defects, check your cleaning, build the analysis, and write the presentation brief.
Check your work
Compare against formula-driven analysis, dashboard charts, and a visible audit gate.
Editable deliverable
Six slides with claim-based titles, evidence, owners, and speaker notes.
Keep beside you
Professional standard
AI may propose. Excel must calculate. A person accountable for the decision must verify.
When the assistant can edit the workbook (checked 1 October 2026)
Agent Mode in Excel, generally available on the web since December 2025 and on Windows and Mac since January 2026, opens Copilot in edit mode: it writes formulas, sheets, charts and PivotTables into your workbook directly. The rule above still holds; what changes is where you verify. Ask for plan mode first or let it work on a copy, then compare the result with version history before you accept it, and if it touched the audit sheet, check that each control still tests what it claims to. The =COPILOT() worksheet function that many tutorials still teach was a preview feature and stopped working on 14 September 2026: a cell that recalculates now returns #NAME?, and Microsoft points to the Copilot pane instead.
Open the practice workbook and save a working copy. Locate the source table, count its rows, and identify the month, revenue, cost, orders, and owner fields. Write down which values you can verify and which are unknown. Do this before asking AI to summarize the business.
Download the practice workbook and open it in Excel. Start with the source table; keep the original file unchanged so you can reconcile your working copy.
Because the class decides the action. A duplicate is removed once, a label or spelling variant is mapped to its controlled value, and a missing owner is preserved as unknown. Fixing before classifying is how the blank owner gets filled from the neighboring rows: it looks like the others, and it is the one defect whose correct repair is to leave it alone.
Most office-work errors happen before the formula or slide: the question, source, definition, or decision was never made explicit.
Imagine a manager asks, “Can you analyze sales and make a deck for tomorrow?” Before opening an AI assistant, translate that request into an operating contract. Which period? Which source is authoritative? Does “sales” mean booked revenue, invoiced revenue, or cash collected? Who will see the deck? What decision should they make?
The backward arrow matters. If a chart reveals an impossible spike, do not explain it with a story. Return to the data. If a formula produces a result that cannot be reconciled, do not round it until it looks right. Return to the definition and calculation. A professional workflow makes correction cheap before a decision makes the error expensive.
The operating contract: the period, the authoritative source, what “sales” means (booked, invoiced or collected revenue), the audience, and the decision the deck must support. Without them the assistant chooses the question, the metric and the interpretation for you, and a polished deck answers a question nobody asked.
The fastest workflow is not the one that ignores privacy, retention, licensing, or authority.
Office files often contain more than their visible table. Hidden sheets, comments, formulas, named ranges, document properties, speaker notes, embedded files, and revision history can expose information you never intended to send. Treat upload as disclosure.
| Data class | Examples | Default action |
|---|---|---|
| Public | Published reports, approved marketing data | Use with normal verification. |
| Internal | Plans, internal metrics, unpublished targets | Use only in an organization-approved account and service. |
| Personal or regulated | Names, email, health, financial, employee, customer records | Remove, mask, aggregate, or obtain explicit approval. |
| Credentials and secrets | Passwords, API keys, tokens, private keys | Never submit. Rotate immediately if exposed. |
| Trade secret | Pricing logic, unreleased strategy, proprietary methods | Use synthetic substitutes unless policy explicitly permits use. |
For this course, every company, person, transaction, and number is fictional. That is intentional. Synthetic data lets you practice the complete workflow without normalizing unsafe behavior. In real work, follow your employer's data classification, approved-tool, retention, and cross-border processing rules.
Stop condition
If you cannot say who owns the data, which AI service is approved, and what the service may retain, do not upload the file. Ask the privacy, security, legal, or data owner.
The stop condition. Owner names are personal data and unpublished targets are internal, so the file needs an approved service and a known retention policy before anything is sent. If the summary only needs regional totals, aggregate first and send the totals; if it needs nothing about individuals, drop the owner column. Then check what else travels with the file: hidden sheets, comments and document properties go with an upload even when the visible table looks harmless.
Useful prompts define the decision, evidence, constraints, output shape, and verification burden.
“Analyze this spreadsheet” gives the assistant permission to choose the question, metric, and interpretation. A stronger prompt narrows those choices. It provides only the minimum safe data, names the business rule, requires assumptions to be visible, and blocks unsupported completion.
Decision
Should we fund a 30-day East-region diagnostic before reallocating growth budget?
Verified inputs
- East gross margin: 30.6%
- East return rate: 5.0%
- West gross margin: 36.0%
- West return rate: 3.0%
Task
Separate observations from hypotheses. Propose one reversible next step.
Constraints
- Do not infer a cause from these aggregates.
- Do not create new numbers or forecasts.
- Mark missing evidence explicitly.
Output
Observation | possible explanation | evidence still needed | decisionThis prompt does not ask AI to “be an expert.” It specifies an expert's discipline. The output remains a draft until you compare each claim against the workbook.
The downloadable prompt library gives you reusable versions for formula design, data quality, chart selection, slide critique, rehearsal, and final verification.
It broke “Do not infer a cause from these aggregates” and skipped “Mark missing evidence explicitly.” Discounting belongs in the possible-explanation column, not the observation. A compliant row reads: observation, East margin 30.6% against West 36.0%; possible explanation, discounting; evidence still needed, discount depth by deal and product; decision, fund the 30-day diagnostic. Send the reply back with the broken constraint named rather than editing it into shape yourself, so the next draft starts from the contract.
Fluency can hide arithmetic errors, invented causes, stale feature knowledge, and confident misuse of business definitions.
Use a four-part check. First, verify the source: are the rows complete, current, and authorized? Second, verify the calculation independently in Excel. Third, verify the interpretation: does the evidence support the wording? Fourth, verify the action: is the recommendation reversible and proportionate to uncertainty?
| AI output | Required check | Release evidence |
|---|---|---|
| Formula | Normal, blank, zero, missing match, and error cases | Visible test rows and expected results |
| Summary | Reconcile totals and denominators | Pivot, formula, or independent calculation |
| Insight | Separate observation from possible explanation | Source cells plus caveat |
| Chart | Check scale, units, population, period, and labels | Chart-to-table reconciliation |
| Recommendation | Check authority, downside, owner, and success gate | Named decision and follow-up measure |
A good AI response often saves drafting time. Verification converts saved time into trustworthy work. Skipping verification merely transfers the time to a later incident, rework cycle, or embarrassing meeting.
Not yet. READY says the checks pass; it does not say what changed. Compare the workbook with version history or the copy you kept, list the cells, formulas and ranges the agent rewrote, and check each one against the metric definitions. Look hardest at the audit sheet itself: an agent that edited a control can make the gate pass by changing what the control tests.
Reliable analysis starts with rectangular data: one header row, one observation per row, one meaning per column.
Convert the practice data range into an Excel Table before building analysis. Tables expand with new rows, provide structured references, retain filters, and make formula intent more readable. Give the table a meaningful name such as SalesData.
| Weak layout | Why it fails | Table-first correction |
|---|---|---|
| Blank rows and decorative headings inside data | Filters and formulas stop at inconsistent boundaries | Keep decoration outside the source table |
| Month names spread across columns | New periods require new structure | Store one date per row, then pivot |
| Color indicates status | Meaning is invisible to formulas and many users | Add an explicit Status field |
| Multiple values in one cell | Sorting, joining, and validation become ambiguous | Use one atomic value per field |
| Subtotals inside raw rows | Summaries double-count | Calculate totals outside the source table |
AI works better when the structure is explicit, but the larger benefit is human: another analyst can understand and audit your workbook without reverse-engineering formatting conventions.
The supplied table has 48 monthly regional records after cleaning: twelve months for each of four regions. A row summarizes activity for its displayed owner, channel, and product; it is not one customer order. Orders is a count and Returns is a returned-order count. For this synthetic exercise, Returns refers to the same order cohort as Orders. Thus summing Orders gives the denominator, while counting rows gives 48 reporting records. Real return data may arrive in a later month; choose an order-cohort rate or a period-flow ratio explicitly before comparing regions.
Copy only the header and data rectangle into an Excel Table: exclude the title, subtitle, blank rows, and totals. Check the table's row count after removing the known duplicate; a title accidentally treated as a record should fail that check.
That something other than a record is inside it: the duplicate survived, or a title, subtitle or total row was swept into the range. The cleaned grain is twelve months for each of four regions, 48 rows, so 49 is a structural error to find, not a number to explain.
Cleaning is the controlled resolution of defects, not permission to make incomplete data look complete.
Open the practice workbook and inspect the Raw Data sheet. Use filters, conditional formatting, Remove Duplicates on a copy, and validation rules to find defects. Ask AI to propose detection rules from the schema, but decide corrections from an authoritative source or a documented business rule.
For every change, record where it is, what it was, what it became, why, on whose evidence and on whose authority. If the correct value is unknown, preserve the missing state and describe how downstream calculations handle it.
| Column | Example | Why it is required |
|---|---|---|
| Row or key | 2026-07 · West (month and region identify one record) | So the change can be found again |
| Original value | Focus desk | So it can be undone |
| Corrected value | Focus Desk | — |
| Reason | Label variant of the same catalog product | So a reviewer can judge the change without re-deriving it |
| Source | Product catalog, retrieved 12 March | This is the column that separates a correction from a guess |
| Authorized by | Documented normalization rule, or a named person | So responsibility is attached to a judgment |
If the source column cannot be filled, the change is not a correction. That single test resolves most cleaning arguments, and it is what makes the next table decidable rather than a matter of confidence.
| Situation | Acceptable? | Do this |
|---|---|---|
| “Focus Desk” and “Focus desk”, catalog confirms one product | Yes | Map to the controlled value; log the catalog as the source |
| East’s May owner is missing; the April and June rows say “Leena” | No | Keep it blank, exclude it explicitly, or retrieve the authoritative value. A neighboring row is not evidence. |
| The same owner is missing; “Leena” owns every other East month | No | Same. Frequency is not evidence either. The reference workbook keeps this owner blank and its audit allows that one documented blank. |
| An unusually large order | Not a defect yet | Treat “probably a typo” as a hypothesis. A large order may be a real enterprise purchase. |
| Returns greater than orders | Block it | This violates a business invariant and cannot be true. Resolve before proceeding. |
Rows four and five look similar and are opposites. An outlier is unusual; an invariant violation is impossible. Deleting the first loses a real sale and flatters the data; ignoring the second carries a contradiction into every calculation downstream. The distinction is whether a rule of the business has been broken, not whether the number looks surprising.
| Aspect | Observed defect | Tested invariant |
|---|---|---|
| Says something about | This dataset, today | Every acceptable dataset, always |
| Found by | Filters, conditional formatting, inspection | A rule you write down and re-run |
| Survives next month’s file | No | Yes |
| Example | Four bad rows in the practice sheet | Blank grouping keys, negative amounts, invalid satisfaction values, returns greater than orders |
Write the invariants even when every current row passes. That is the whole distinction: fixing four rows cleans one file, and writing four rules cleans every file you receive afterwards — including the one where the defect appears for the first time and nobody is looking.
Detect with the rule, correct from a source. A proposed rule is a good way to find candidates — that is genuinely what it is for — and it supplies no evidence about what any value should be. Work the 200 against the authoritative system or a documented business rule, and where neither resolves a row, preserve the missing state and describe how the downstream calculation treats it. Two hundred confident corrections with an empty source column is a worse dataset than two hundred acknowledged blanks.
Block the row and go to the source. Returns greater than orders breaks a business invariant, so the row cannot be true as recorded; capping it invents a number that hides the contradiction. Resolve it from the authoritative system, or exclude it explicitly and log why, before anything downstream uses it.
The practice workbook carries its own checker. Clean Raw Data, read what fails, and fix what it names until every rule passes.
Cleaning is easy to declare and hard to prove. The practice workbook’s Check My Cleaning sheet makes it provable: eleven rules read Raw Data directly and report PASS or CHECK, and the sheet reads READY only when every rule passes. Below them, a grid counts the rows for each month and region; every cell should be 1. Work in your working copy of Raw Data, in place, and keep the original file unchanged.
| Rule | Expected | Catches |
|---|---|---|
| Records after cleaning | 48 | A duplicate left in, or a real row deleted with it |
| Month-region pairs present exactly once | 48 | Duplicates, missing rows, and regions spelled differently, shown cell by cell in the grid |
| Region and product spelled exactly | 0 exceptions each | Capitals and stray spaces that look right and group wrong |
| One blank owner, at East, May 2026 | 1 and 1 | A guessed owner, and an owner cleared by mistake |
| Revenue, cost, orders and returns totals | The reference totals | Counted duplicates, deleted rows, edited values and swept-in total rows |
| Rows where returns exceed orders | 0 | An impossible row; it passes before cleaning too, and protects next month’s file |
Predict before you read the report
The untouched file has four defects. West’s August row appears twice, West’s February region reads west with a trailing space, July’s West product reads Focus desk, and East’s May owner is blank. Before you look at the report below, decide how many of the eleven rules read CHECK, and which pass. One defect trips several rules, and one should trip none.
Untouched, the practice file reads NOT YET. This is what the sheet reports before any cleaning:
Check Expected Actual Status
Records after cleaning 48 49 CHECK
Month-region pairs present exactly once 48 46 CHECK
Rows whose region is not spelled exactly 0 1 CHECK
Rows whose product is not a catalog label 0 1 CHECK
Rows with a blank owner 1 1 PASS
The blank owner is East, May 2026 1 1 PASS
Revenue total 8,837,000 9,057,500 CHECK
Cost total 5,763,552 5,904,672 CHECK
Orders total 8,952 9,161 CHECK
Returns total 310 316 CHECK
Rows where returns exceed orders 0 0 PASS
Overall NOT YET
Read the failures before fixing anything. The duplicate West August row makes 49 records and inflates every total, revenue by ₹220,500, and the grid shows it as a 2. West’s February row spells its region west , with a trailing space, so it fails the spelling rule and leaves a 0 in the grid. July’s West row says Focus desk. And the blank owner passes: an unknown stays unknown, so the sheet allows exactly that one blank, at East, May 2026, and no other.
| A plausible wrong fix | What the checker reports |
|---|---|
| Fill East’s May owner with Leena, the owner of the rows around it | Rows with a blank owner 0, and the blank owner is East, May 2026 0: two CHECKs |
| Delete both copies of West August | 47 records, 47 pairs, and every total short: revenue ₹8,616,500 |
Apply TRIM alone to west | The region is still not spelled exactly, and the grid still has a 0 |
Apply PROPER alone, leaving West with its trailing space | The same two CHECKs |
First, let the grid find the defects for you: a 2 is a duplicate and a 0 is a row the spelling rules cannot see. Second, remove the duplicate once, not both copies: Remove Duplicates on all columns keeps the first of two identical rows, and EXACT tells you whether a value matches its controlled spelling, capitals and spaces included.
| Row or key | Original | Corrected | Reason and source |
|---|---|---|---|
| 2026-08 · West, second copy | An identical row | Removed | Duplicate of the first 2026-08 West row on every field; Remove Duplicates on all columns |
| 2026-02 · West | west | West | Capitalization and trailing space; the controlled region list |
| 2026-07 · West | Focus desk | Focus Desk | Label variant of one catalog product; the product catalog |
| 2026-05 · East, owner | Blank | Blank, unchanged | Unknown at source; logged, and left out of owner-level views, while its orders, revenue, cost and returns still count |
With those four decisions the sheet reads READY, and the cleaned rows match the reference workbook row for row. The fourth row is the one that matters: the decision was to change nothing, and the log is what shows a reviewer that this was a decision rather than an oversight.
Open this once your own copy reads READY, because it contains the answer. It rebuilds the sheet’s eleven rules from the practice workbook’s rows: the five rows the defects touch are listed, and the other 44, which no rule asks you to change, are summed. It then runs the untouched file, each plausible wrong fix from the table above, and the four decisions. Python stands in for the Excel functions, and the comments say what each one imitates.
# The Check My Cleaning rules, rebuilt from the practice workbook. The five rows the defects
# touch are listed; the other 44 rows, which no rule asks you to change, are summed.
REGIONS, CATALOG = ["North", "South", "East", "West"], ["Focus Desk", "Flex Chair", "Team Pod"]
REFERENCE = {"revenue": 8_837_000, "cost": 5_763_552, "orders": 8_952, "returns": 310}
OTHER_44 = {"revenue": 8_097_700, "cost": 5_283_040, "orders": 8_245, "returns": 286}
RAW = [ # month, region, owner, product, orders, revenue, cost, returns
("2026-02", "west ", "Kabir", "Team Pod", 151, 159_200, 101_888, 5),
("2026-05", "East", "", "Flex Chair", 146, 147_200, 101_568, 7),
("2026-07", "West", "Kabir", "Focus desk", 201, 212_400, 135_936, 6),
("2026-08", "West", "Kabir", "Team Pod", 209, 220_500, 141_120, 6),
("2026-08", "West", "Kabir", "Team Pod", 209, 220_500, 141_120, 6),
]
def TRIM(text): # Excel's TRIM: no spaces at either end, single spaces inside
return " ".join(word for word in text.split(" ") if word)
def PROPER(text): # Excel's PROPER: a capital after any non-letter, lower case elsewhere
out, after_letter = "", False
for ch in text:
out += ch.lower() if after_letter else ch.upper()
after_letter = ch.isalpha()
return out
def lookup(text, allowed): # the controlled list is the source; XLOOKUP also ignores case
return next((value for value in allowed if value.lower() == TRIM(text).lower()), text)
def check(rows): # every comparison is exact, as EXACT makes it
pairs = [(row[0], row[1]) for row in rows]
column = {"orders": 4, "revenue": 5, "cost": 6, "returns": 7}
totals = {name: OTHER_44[name] + sum(row[column[name]] for row in rows) for name in REFERENCE}
rules = [("records", 48, 44 + len(rows)),
("pairs once", 48, 44 + sum(pairs.count(p) == 1 and p[1] in REGIONS for p in pairs)),
("region spelling", 0, sum(row[1] not in REGIONS for row in rows)),
("product labels", 0, sum(row[3] not in CATALOG for row in rows)),
("blank owners", 1, sum(row[2] == "" for row in rows)),
("blank at East May", 1, sum(row[2] == "" and row[:2] == ("2026-05", "East") for row in rows)),
*[(name, REFERENCE[name], totals[name]) for name in REFERENCE],
("returns over orders", 0, sum(row[7] > row[4] for row in rows))]
return [f"{rule} {actual:,}" for rule, expected, actual in rules if actual != expected]
def clean(region=lambda text: lookup(text, REGIONS), duplicates="keep first", fill_owner=""):
rows = []
for month, reg, owner, product, *numbers in RAW:
row = (month, region(reg), owner or fill_owner, lookup(product, CATALOG), *numbers)
if not (duplicates == "keep first" and row in rows):
rows.append(row)
return [row for row in rows if duplicates != "delete both" or rows.count(row) == 1]
print(f"TRIM {TRIM('west ')!r} PROPER {PROPER('west ')!r} lookup {lookup('west ', REGIONS)!r}")
for name, rows in [("untouched file", RAW), ("owner filled with Leena", clean(fill_owner="Leena")),
("both West August rows deleted", clean(duplicates="delete both")),
("TRIM alone on the region", clean(region=TRIM)),
("PROPER alone on the region", clean(region=PROPER)), ("the four decisions", clean())]:
failed = check(rows)
print(f"{name}: {'READY' if not failed else 'NOT YET'}, {len(failed)} of 11 read CHECK")
for start in range(0, len(failed), 4):
print(" " + ", ".join(failed[start:start + 4]))
The trace it prints:
TRIM 'west' PROPER 'West ' lookup 'West'
untouched file: NOT YET, 8 of 11 read CHECK
records 49, pairs once 46, region spelling 1, product labels 1
revenue 9,057,500, cost 5,904,672, orders 9,161, returns 316
owner filled with Leena: NOT YET, 2 of 11 read CHECK
blank owners 0, blank at East May 0
both West August rows deleted: NOT YET, 6 of 11 read CHECK
records 47, pairs once 47, revenue 8,616,500, cost 5,622,432
orders 8,743, returns 304
TRIM alone on the region: NOT YET, 2 of 11 read CHECK
pairs once 47, region spelling 1
PROPER alone on the region: NOT YET, 2 of 11 read CHECK
pairs once 47, region spelling 1
the four decisions: READY, 0 of 11 read CHECK
The untouched run reproduces the report above, eight CHECKs and three passes, and each wrong fix reproduces its row of the table. The first line shows why TRIM and PROPER each fail alone: one leaves the lower-case letter, the other the trailing space, and only a lookup into the controlled list returns the exact value. Deleting both West August rows costs the same ₹220,500 of revenue that keeping both added, in the other direction.
READY proves less than it seems to. It cannot see your correction log, a column sorted on its own (which keeps every total and scrambles the rows), or the formulas you build next. The reference workbook’s Formula Audit covers the analysis; a reviewer covers the log.
A formula can be syntactically valid and still implement the wrong business definition.
Before asking for a formula, write the rule in plain language. Gross margin is not “revenue minus cost” when expressed as a percentage. It is (Revenue - Cost) / Revenue, with defined behavior when revenue is zero. Return rate may mean returned units divided by units sold, not returned orders divided by all orders. The denominator is part of the product definition.
=IFERROR(([@Revenue]-[@Cost])/[@Revenue],0)
=SUMIFS(SalesData[Revenue],SalesData[Region],$A2)
=IF([@Revenue]=0,"REVIEW",([@Revenue]-[@Cost])/[@Revenue])The third formula is often more honest than silently returning zero. Zero margin and undefined margin are different facts. Choose error behavior that helps the reviewer notice data requiring attention. The reference workbook uses the third form for every margin and rate, and its Formula Audit blocks release while any of them shows REVIEW.
Engineering insight
IFERROR is not a cleaning strategy. It is error handling. Use it only after you understand which error is expected and what the fallback means.
IFERROR(([@Revenue]-[@Cost])/[@Revenue],0), and one month shows 0%. What can you conclude about that month?Nothing yet. A 0% can be a true break-even month or a month with zero revenue, where margin is undefined and IFERROR quietly returned 0. The two are different facts: use IF([@Revenue]=0,"REVIEW",…) so an undefined margin is visible, and check the row’s revenue before reporting either.
Every lookup assumes something about key uniqueness, missing records, freshness, and ownership.
XLOOKUP is readable for many one-to-one joins. INDEX/MATCH remains useful for compatibility and flexible lookup direction. Power Query is better when data must be imported, shaped, merged, and refreshed repeatedly. The choice is not fashion; it follows from scale, refresh behavior, workbook compatibility, and auditability.
| Question | Why it matters |
|---|---|
| Is the key unique? | A lookup may silently return the first duplicate and hide conflicting records. |
| What does no match mean? | Missing master data, a new product, a spelling defect, and an unauthorized record require different actions. |
| Who owns the reference table? | A locally edited price list may be stale even when the formula is correct. |
| When does it refresh? | A pasted value may be easier to share but loses lineage and freshness. |
Ask AI to compare implementation options and generate test cases. Do not ask it to decide that duplicate keys are harmless. That decision belongs to the business rule and data owner.
In a separate small example, create a table named OwnerDirectory with columns Owner and Team: Meera → North, Kabir → West, Meera → Special Accounts. Put Meera in cell A2. The default XLOOKUP returns the first match, so it can hide this conflict. Guard the lookup with a count:
=IF(COUNTIF(OwnerDirectory[Owner],A2)<>1,"REVIEW",XLOOKUP(A2,OwnerDirectory[Owner],OwnerDirectory[Team],"REVIEW"))
Meera must produce REVIEW, Kabir must produce West, and an absent owner must produce REVIEW. Remove the conflicting Meera entry only when the directory owner resolves it. This teaching formula assumes exact ordinary names; production identifiers need normalization and an explicit policy for wildcard characters. In Excel editions without XLOOKUP, keep the uniqueness guard and use an exact INDEX/MATCH lookup. Microsoft documents XLOOKUP's matching behavior and availability.
No. XLOOKUP returns the first match, so it answers “who is on the first East row”, not “who owned every East row”. East's May row has no owner at all. Count before you quote: COUNTIFS(SalesData[Region],"East",SalesData[Owner],"") returns 1, so the supported statement is that Leena owns eleven of the twelve East months and May is unknown.
A summary is only useful when each aggregation matches the metric's definition.
Revenue can usually be summed. Unit price may need a weighted average. Margin percentage should normally be calculated from total revenue and total cost, not averaged across rows. For this workbook, return rate uses total Returns divided by total Orders. Distinct customers require a distinct count, not a row count.
Design the PivotTable from the decision backward. If the question is where to investigate margin erosion, use Region as rows, total Revenue and Cost as values, a calculated margin measure, and Returns as supporting evidence. Add Product and Channel as filters for diagnosis. Validate the PivotTable grand total against an independent worksheet formula.
Common mistake
A visually neat PivotTable can aggregate the wrong thing perfectly. Always write the metric definition before choosing Sum, Average, Count, or Distinct Count.
Consider two synthetic reporting rows: revenue 100 with cost 50, and revenue 900 with cost 810. Their margins are 50% and 10%. Averaging them gives 30%, which weights the small row as heavily as the large one. Total profit is 50 + 90 = 140 on revenue 1,000, so the combined margin is 14%. Recompute this from the PivotTable's summed Revenue and Cost outside the pivot, or use a measure that divides the sums. Do not use Average of a precomputed row-margin column.
The two synthetic rows above, as (revenue, cost) pairs.
rows = [(100, 50), (900, 810)] # (revenue, cost)
margins = [(revenue - cost) / revenue for revenue, cost in rows]
average = sum(margins) / len(margins)
weighted = (sum(r for r, _ in rows) - sum(c for _, c in rows)) / sum(r for r, _ in rows)
print("row margins:", ", ".join(f"{m:.0%}" for m in margins))
print(f"average of the row margins {average:.0%}; margin of the business {weighted:.0%}")
Expected output:
row margins: 50%, 10%
average of the row margins 30%; margin of the business 14%
Use 14% when the claim concerns total business margin. Use 30% only for the explicitly different question “What is the unweighted mean of these two record margins?” If the total revenue becomes zero, report an undefined/review state. Changing formatting or adding IFERROR cannot choose the metric definition.
34.8%, the weighted margin: (₹8,837,000 − ₹5,763,552) / ₹8,837,000. The average gives every month-region row the same weight, so January’s small rows count as much as December’s, and it answers a different question. Here the gap is small because the rows are similar in size; with the 100 and 900 rows above it is the difference between 30% and 14%.
An observation describes measured evidence. A hypothesis proposes an explanation that still needs evidence.
The reference workbook shows East with the lowest gross margin and highest return rate. That is an observation. “Discounting caused poor margin” is a hypothesis. So are product mix, damaged goods, customer mix, service quality, and unusual deal structure. Aggregate data cannot choose among them.
A strong analysis response should provide four separate outputs:
In the reference workbook, East recorded 101 returns across 2,017 orders, so its return rate is 101 / 2,017 = 5.01%. West recorded 71 returns across 2,374 orders, so its rate is 71 / 2,374 = 2.99%. The dashboard rounds those values to 5.0% and 3.0%. The comparison is meaningful because both rates use returned-order counts divided by order counts for the same cohort and reporting period.
Returned orders and orders by region, from the reference workbook.
regions = {"North": (68, 2404), "South": (70, 2157), "East": (101, 2017), "West": (71, 2374)} # (returns, orders)
for name, (returns, orders) in regions.items():
print(f"{name:<6} {returns:>4} returns / {orders:>5,} orders = {returns / orders:.2%}")
returns = sum(r for r, _ in regions.values())
orders = sum(o for _, o in regions.values())
print(f"all {returns:>4} returns / {orders:>5,} orders = {returns / orders:.2%}")
print(f"East has {101 - 71} more returns than West, and {2374 - 2017} fewer orders")
Expected output:
North 68 returns / 2,404 orders = 2.83%
South 70 returns / 2,157 orders = 3.25%
East 101 returns / 2,017 orders = 5.01%
West 71 returns / 2,374 orders = 2.99%
all 310 returns / 8,952 orders = 3.46%
East has 30 more returns than West, and 357 fewer orders
Now imagine an AI response says, “East has 30 more returns, therefore product quality is worse.” The arithmetic difference is real, but the conclusion is not. East and West processed different order volumes, the product mixes may differ, and the table does not include return reasons. The supported statement is narrower: East has the higher observed return rate and therefore deserves diagnosis.
Next, test whether the recommendation remains sensible under uncertainty. If most East returns come from one product introduced late in the year, investigate that product rather than the entire region. If return reasons are evenly distributed but deep discounting explains the margin gap, the intervention changes. If missing records are concentrated in East, fix data quality before making an operating decision.
This is the pattern to ask AI to follow: compute with a named denominator, compare like with like, list alternative explanations, identify the evidence that distinguishes them, and propose a reversible action while uncertainty remains. The numbers narrow the question; they do not automatically answer it.
Use AI as an adversarial reviewer: ask what else could explain the pattern, which denominator might be wrong, what selection bias exists, and what evidence would falsify the recommendation. This is more valuable than asking it for five impressive insights.
No: the rate already divides by orders, 101 over 2,017 against West’s 71 over 2,374, and East actually had fewer orders. Volume explains differences in counts, not in rates. What the rates cannot tell you is why: product mix, discounting, quality and service remain hypotheses until return reasons are examined.
A dashboard should expose the state, comparison, exception, and next question without making the reader hunt.

The first row answers “Where are we?” with revenue, target variance, gross margin, and return rate. The trend chart answers “When did performance change?” The regional chart and table answer “Where is the exception?” The implication table prevents the visual from pretending that an observed pattern proves a cause.
Write a claim-based chart title only after verification. “Revenue crossed target in June and finished ₹231K above target” is useful if the chart and source table support it. “Strong momentum ahead” is vague, promotional, and unsupported.
Monthly revenue and target from the reference workbook, in rupees.
months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
revenue = [522900, 551500, 580100, 608700, 637300, 719100, 750000, 780800, 871900, 905000, 938200, 971500]
target = [550000, 580400, 610800, 641200, 671600, 702000, 732400, 762800, 793200, 823600, 854000, 884400]
print("months above target:", ", ".join(m for m, r, t in zip(months, revenue, target) if r > t))
print(f"year: revenue {sum(revenue):,} against target {sum(target):,}, variance {sum(revenue) - sum(target):+,}")
Expected output:
months above target: Jun, Jul, Aug, Sep, Oct, Nov, Dec
year: revenue 8,837,000 against target 8,606,400, variance +230,600
Every month from June is above target and none before it, and the year finishes ₹230,600 above target, which rounds to the title’s ₹231K.
Bars encode value by length, so their axis must start at zero. East's revenue is ₹2,037,000 against West's ₹2,504,900, 81% of it; from a ₹1.9M baseline the bars are 0.137 and 0.605 high, so East looks 23% of West. The cut axis turns a 19% gap into what reads as a fourfold one. Keep the zero baseline, or switch to a dot plot or a labeled table when the small differences are the point.
East’s and West’s 2026 revenue, drawn from zero and from the truncated baseline in the check above.
east, west, baseline = 2_037_000, 2_504_900, 1_900_000
print(f"true ratio East / West: {east / west:.0%}")
print(f"bars from zero: East {east / 1e6:.3f}, West {west / 1e6:.3f} (millions)")
print(f"bars from 1.9M: East {(east - baseline) / 1e6:.3f}, West {(west - baseline) / 1e6:.3f}; "
f"East looks {(east - baseline) / (west - baseline):.0%} of West")
Expected output:
true ratio East / West: 81%
bars from zero: East 2.037, West 2.505 (millions)
bars from 1.9M: East 0.137, West 0.605; East looks 23% of West
A workbook should make its own important assumptions and reconciliation visible.
The reference workbook contains a Formula Audit sheet. It checks whether monthly revenue equals total revenue, regional revenue equals total revenue, target variance equals revenue minus target, weighted margin matches its definition, returned-order counts do not exceed order counts, the only blank required field is the documented unknown owner, and no metric shows REVIEW. Each check reports PASS or a blocking status, and the publish gate reads READY only when all eleven pass.
| Control | Expected relationship | Why it catches errors |
|---|---|---|
| Monthly reconciliation | Sum of month totals = source revenue | Detects omitted periods or broken ranges |
| Regional reconciliation | Sum of regions = source revenue | Detects blank or inconsistent regions |
| Variance | Revenue - target = displayed variance | Detects mismatched periods or hard-coded values |
| Margin | (Total revenue - total cost) / total revenue | Prevents average-of-percentages errors |
| Returns invariant | Returned orders ≤ orders | Blocks impossible operational data |
| Required fields | Month and region never blank; owner blank only where documented | Catches a guessed or silently dropped value |
| Review state | No margin or rate shows REVIEW | Stops an undefined rate from reaching a slide as a number |
Controls do not prove every value is correct, but they detect classes of failure before presentation. Add checks for the risks in your workbook rather than copying generic controls mechanically.
An experienced reviewer should be able to inspect the decision without reverse-engineering your workbook. Keep four small records with the deliverable:
| Record | Minimum evidence | Question it answers |
|---|---|---|
| Source manifest | File, sheet or table, reporting period, row count, owner, refresh time | Which data was authorized and analyzed? |
| Metric contract | Definition, formula, denominator, unit, rounding rule, boundary behavior | What exactly does this number mean? |
| Control gate | Test, expected value, actual value, status, blocking owner | Which failures prevent release? |
| Claim register | Slide claim, source cell or table, caveat, reviewer, verification date | Can every decision statement be traced? |
This packet is deliberately lightweight. Its purpose is not ceremony; it is to make silent changes, stale data, ambiguous definitions, and unsupported slide edits visible before they reach a decision-maker.
No. Controls detect classes of failure, such as omitted periods, broken ranges, guessed blanks and impossible returns, but a wrong value that still reconciles passes them all. PASS means the workbook is consistent under the checks you wrote; correctness against the world still rests on the source and its owner. Add checks for the risks in your own workbook rather than copying these.
The presentation should reduce the audience's decision effort without hiding uncertainty.
Do not copy the dashboard onto ten slides. Start with the decision required. Then select only the evidence necessary to understand the situation, compare alternatives, judge risk, and assign action.
| Story step | Question answered | Aperture example |
|---|---|---|
| Context | What changed? | Revenue recovered and finished above target. |
| Tension | Why is action still needed? | East converts growth into lower margin and more returns. |
| Evidence | What supports that statement? | Verified regional margin and return-rate comparison. |
| Uncertainty | What do we not know? | The aggregate cannot isolate discount, mix, quality, or service causes. |
| Decision | What should happen now? | Approve a 30-day diagnostic with a success gate. |
| Ownership | Who acts, by when? | Sales Ops, Finance, Customer Ops, and an executive sponsor. |
A story is not drama added to numbers. It is the logic connecting evidence to a responsible action.
“Approve a 30-day diagnostic with a success gate” is only a decision if the gate is written down before the diagnostic starts. A success gate is a measurable condition, agreed in advance, under which the intervention scales, with the action for each outcome fixed before anyone sees the result. Agreeing it first is what stops a disappointing result from being argued into a success afterwards. The reference deck states its gate on slides 5 and 6:
| Part of the gate | In the reference deck |
|---|---|
| What is measured | East gross margin, from total revenue and total cost, and East return rate, returned orders over orders: the workbook’s own definitions |
| Starting point | 30.6% margin and a 5.0% return rate, from the cleaned reference workbook |
| Pass condition | Margin at least 2 points higher, so 32.6% or more, and a return rate below 4%. Both must hold. |
| Who decides, and when | The executive sponsor, at the day-30 review |
| If it passes | Scale the one reversible action the diagnostic tested |
| If it fails | The deck does not say. Write it down before day 1: for example, stop the action and keep the hold on growth spending |
| Until then | Growth budget stays where it is; the deck holds reallocation until the evidence returns |
A gate also has to be hard to pass by luck, which brings back the denominator from the worked case above. Thirty days of East orders is about 200, close to its monthly volume late in 2026, and at that size the returns condition is noisy.
Treat each order as returned independently at a fixed rate: 5% if nothing changes, 3.5% if the action works. Count how often fewer than 4% of the orders come back, for one month of orders and for three.
from math import comb
def chance_below_4_percent(orders, rate):
"""Chance that fewer than 4% of orders come back, if each order returns independently at rate."""
return sum(comb(orders, k) * rate**k * (1 - rate)**(orders - k)
for k in range(orders + 1) if k / orders < 0.04)
for orders in (200, 600):
print(f"{orders} orders: passes with no real change {chance_below_4_percent(orders, 0.05):.0%} of the time; "
f"passes after a real fall to 3.5% {chance_below_4_percent(orders, 0.035):.0%} of the time")
Expected output:
200 orders: passes with no real change 21% of the time; passes after a real fall to 3.5% 60% of the time
600 orders: passes with no real change 11% of the time; passes after a real fall to 3.5% 72% of the time
With one month of orders, about one diagnostic in five shows returns below 4% when nothing has changed, and a real fall to 3.5% is missed four times in ten. Read the count beside the rate at day 30, and agree in advance that a borderline result extends the diagnostic rather than passing it.
Because the decision is about East, not about the recovery. Context alone invites the audience to conclude that nothing needs doing; the tension, East converting growth into lower margin and more returns, is what makes the diagnostic necessary, and the evidence and uncertainty slides bound how far that claim goes.
One slide should make one supported point, not store everything the analyst knows.
Use the title for the claim, the body for evidence, and the speaker notes for source, caveat, and delivery guidance.
| Zone | Carries | Example | Common misuse |
|---|---|---|---|
| Title | The claim | “East has the weakest margin and highest return rate” | A topic — “Regional performance” — which makes the reader derive the point themselves |
| Body | The evidence for that claim, and nothing else | One chart showing margin and return rate by region | Everything the analyst knows, in case it is asked about |
| Speaker notes | Source, caveat, delivery guidance | “Source: reference workbook, Analysis sheet; 48 cleaned monthly records, Jan–Dec 2026. Return rate is returned orders over orders for the same cohort; the data does not record why orders came back.” | Left empty — so the caveat does not survive handoff |
The title row is the highest-return change available on any deck. A claim title lets a busy reader understand the argument before reading the chart, and it also disciplines the slide: if the evidence in the body does not support the title, that is now visible on the slide itself rather than only to the person who built it.
| Rule | Because |
|---|---|
| Stable grid and margins across the deck | Movement between slides should carry meaning; drifting layout is noise the reader has to filter |
| Hierarchy through size, weight and spacing — not decoration | Decoration competes with the evidence for attention and adds no information |
| Label important values directly | A reader tracking a line to a legend and back has spent attention on lookup rather than on the point |
| Remove legends, axes, borders and decimals that add no meaning | Two decimal places on a percentage implies a precision the data usually does not have |
| Accessible contrast; never rely on color alone | Color-blind readers, grayscale printing, and a projector that renders everything washed out. All three are ordinary. |
| Sources and caveats where they survive handoff | The deck will be forwarded without you. Speaker notes travel; your verbal caveat does not. |
The last row is the one that matters most in practice and gets the least attention, because the slide looks finished without it. Every deck that is any good gets forwarded, and at that moment the only caveats that exist are the written ones.
And the line to hold with an AI assistant: it can usefully draft alternate headlines, tighten dense text, or propose a reorganization — all genuine help with the framing. It must not change a number to make the layout cleaner. If a value does not fit, the honest moves are to simplify the message or split the slide; adjusting the figure to suit the design is the one edit that turns a presentation problem into a misrepresentation.
It is a data change wearing a layout fix, and whether it is acceptable depends entirely on the claim in the title. The two largest regions are West and North. If the title says “East has the weakest margin”, that subset removes East, the evidence for the claim. If the title says “West and North brought in the most revenue”, the subset is the point and the chart is correct. Decide the selection from the claim, state the filter on the slide, and put the full table in an appendix so the omission is visible rather than silent.
The distance between “the chart shows” and “therefore we should” is where unsupported narratives enter.
For each slide, write a small evidence card before writing the title:
Source: Analysis!regional_summary
Period: Jan-Dec 2026
Population: 48 cleaned fictional monthly regional records
Metric: returned orders / orders
Observation: East = 5.0%, highest region
Unknown: reason for return, product mix, discount, service level
Permitted claim: East requires diagnosis
Blocked claim: East quality problems caused weak marginThis card makes the boundary visible. It also helps AI produce better language because the permitted and blocked claims are explicit. Keep the evidence card in notes, an appendix, or a review worksheet even when it is not shown to the audience.
Decline it: it is the card’s blocked claim. The data shows East’s return rate and margin; it does not record why orders came back or what drove the margin. Keep the permitted claim in the title, and put return reasons, product mix and discount data in the evidence still needed.
Feature availability depends on your Microsoft 365 plan, license, account, organization settings, app version, and file location. The course workflow works without Copilot.
In supported Microsoft 365 environments, Copilot can help create a presentation from a prompt or source, rewrite text, summarize a deck, and edit content. Use it after you have a verified brief. A good creation prompt names the audience, decision, approved facts, desired slide count, tone, and constraints against invented evidence.
Review the generated deck as a candidate, not a deliverable. Check every number, source, image right, title claim, chart scale, and speaker note. AI may choose a visually appealing structure that does not match your organization's template or may compress a caveat until it disappears.

If Copilot is unavailable, use the same brief manually: create six blank slides, add claim-based titles, insert verified charts from Excel, write implications, and record sources in notes. The professional method is independent of the tool.
Only if the whole deck rounds every margin the same way and says so; otherwise it is a changed number. Check every figure in a generated deck against the workbook, and prefer the workbook’s own precision: 30.6% is what the claim register points to, and a reviewer tracing 31% will not find it.
Delivery quality includes timing, clarity, accessibility, objection handling, and clean handoff.
PowerPoint's Speaker Coach can provide rehearsal feedback such as pace and some delivery habits. Treat automated feedback as coaching input, not a judgment of expertise or communication quality. Rehearse the opening decision request, transitions, likely objections, and closing owner/date confirmation.
Before sharing, inspect hidden slides, speaker notes, comments, author metadata, linked workbooks, embedded objects, and accessibility. Open the files on a second machine or clean profile when possible. A presentation that works only on the creator's computer is not finished.
What travels with the file but is not on the slides: hidden slides, speaker notes, comments, author metadata, linked workbooks and embedded objects, plus accessibility. The Document Inspector finds most of them. Then open the file on a second machine or a clean profile; a deck that only works on your computer is not finished.
Each error below has appeared somewhere in this course. The third column names the check in the workbook or the verification packet that catches it, and the fourth names the story that lets it through.
| Error | What the audience would see | What catches it | Easily mistaken for | First fix |
|---|---|---|---|---|
| A duplicated row left in Raw Data | Totals better than the business did: revenue of ₹9,057,500 instead of ₹8,837,000 | Records 49, a 2 in the cleaning grid, and all four totals reading CHECK | Growth | Remove one copy, never both, and log the removal |
| A region spelled with a capital or a space out of place | A month missing from one region’s trend, or a fifth region in a PivotTable | A spelling exception and a 0 in the grid, then the Formula Audit’s regional reconciliation | A weak month | Look the value up in the controlled region list, and log the list as the source |
| A guessed owner | Nothing: the owner view simply looks complete | No blank owner where the documented one should be, in the checker and the required-fields control | A tidy dataset | Restore the blank and show it as unknown in owner views |
| An average of row margins on a slide | A margin that disagrees with Finance’s figure | The Formula Audit’s margin control: 34.6% averaged against 34.8% from summed revenue and cost | Rounding | Use the margin of summed revenue and cost, and correct the claim register |
| A bar chart whose axis starts at ₹1.9M | A modest gap between regions that looks dramatic | An axis that does not start at zero, with East drawn at 23% of West when its revenue is 81% of West’s | A real difference | Start the bars at zero, or show the values as a dot plot or a labeled table |
| A hypothesis written as a finding, such as discounting causing East’s margin | A confident cause nobody has tested | A slide claim in the claim register with no source cell behind it | Insight | Relabel it as a hypothesis and let the diagnostic test it |
Complete the exercise before opening the reference files. The objective is an evidence chain, not matching the sample's visual style.
| Dimension | Pass | Blocked |
|---|---|---|
| Data | Defects resolved or explicitly classified | Guessed values or silent deletion |
| Calculation | Definitions, formulas, and reconciliations visible | Hard-coded metrics or hidden denominator errors |
| Analysis | Observation, uncertainty, and next evidence separated | Causal claim from aggregate correlation |
| Presentation | Decision-led, readable, sourced, and owned | Decorative summary with no decision or owner |
| Traceability | Every material claim maps to a metric definition and source location | Numbers copied into slides without lineage or review status |
| Safety | Synthetic or approved data; clean file metadata | Unauthorized sensitive data or credentials |
Completion rule
You are finished when another person can trace the recommendation back to verified evidence and understand what remains uncertain. You are not finished when the slides merely look polished.
A clean-looking table is not the answer key. Compare the cleaned source total with every summary that claims to represent it. If totals differ, isolate duplicate handling, text-formatted numbers, filters, and excluded rows before changing a formula. Explain whether a margin is weighted by revenue; averaging row percentages answers a different question.
Have another person follow one slide claim back to its metric definition, workbook formula, and source rows without your help. Record where they hesitate. Revise the labels or evidence trail at that exact point.
If you cannot explain the denominator of a metric in plain language, stop before charting it. A correct formula for the wrong definition still gives the wrong answer.
Use the learning evidence sheet to record your result, the point where you needed help, and the next experiment. Completion means you can explain and reproduce the outcome independently.
Yes, if the blank is logged as unknown at source, left out of owner-level views, and allowed by the audit as the one documented blank. Filling it from the rows around it would turn a passing row into a blocked one: the rubric blocks guesses, not honest gaps.
Product features and licensing can change. Use the current official documentation for availability and behavior.
The Aperture Workspaces dataset, workbooks, dashboard, prompts, checklists, and presentation were created for KnowledgeOS Academy. They are fictional educational materials and may be used to complete this course. No external company data or third-party stock imagery appears in the downloadable files.
The workbook metrics are formula-driven. On 1 October 2026 every formula in the reference workbook was recalculated in LibreOffice Calc without an error and all eleven audit checks passed; cleaning the practice data as this course teaches reproduces the reference data row for row; and the reference deck was rendered to confirm that no title or text box overflows. On 2 October 2026 the practice workbook’s Check My Cleaning sheet was recalculated in LibreOffice Calc: untouched it reads NOT YET with the eight failures shown above, a correct cleaning reads READY, and each of the four wrong fixes in the table fails the rules listed beside it. The files remain examples, not financial, legal, privacy, or employment advice.