Challenge 3: A Budgeted Category With No Transactions Yet — Solution Walkthrough Setup: a new category, e.g. "Subscriptions," is added to the Budget table with a MonthlyLimit of 30, but no rows exist for it yet in Transactions. What the XLOOKUP formula (Step 4) shows: =XLOOKUP("Subscriptions", Budget[Category], Budget[MonthlyLimit], "No budget set") Since "Subscriptions" DOES now exist in Budget[Category], XLOOKUP finds a genuine match and returns its MonthlyLimit, 30 — the "No budget set" fallback only triggers when a category is missing from Budget entirely, which isn't the case here. This part works exactly as expected. What the PivotTable's Actual Spend shows: Since Transactions has zero rows for "Subscriptions," the category won't even appear as a row in the PivotTable at all — a PivotTable built from Category in Rows only creates a row for categories that actually exist somewhere in the source data. If the Dashboard's Actual Spend column is set up to look up this PivotTable's output by category name (rather than being manually copied in), it would need its own lookup with a "not found" fallback — otherwise it may show a lookup error, or 0 if handled with a fallback of 0. Whether the IF formula (Step 6) still makes sense: =IF(C2>B2, "Over Budget", "OK") If C2 (Actual Spend) resolves to 0 or blank because the category has no transactions yet, 0 is never greater than 30, so the formula correctly shows "OK" — which is actually the right real-world answer (no spending yet means no overspending yet). The formula itself doesn't need to change; the risk is only in HOW C2 gets its value when the PivotTable has no row for that category at all — that step needs a fallback (e.g. wrapping the Actual Spend lookup in IFERROR, returning 0 when the category isn't found in the PivotTable's output) so C2 reliably becomes 0 rather than an error value that would break the IF comparison. Notes: - This exercise deliberately surfaces a real edge case this capstone's own steps didn't fully spell out — exactly the kind of gap a genuine "living" tracker needs to be tested against, per this chapter's own closing warning box about a tracker only staying useful with ongoing maintenance.