For each closed month, calculate absolute change as Current−Baseline and percentage change as =IF(OR(Baseline="",Baseline=0),NA(),Current/Baseline-1). Use XLOOKUP on EDATE(A2,−1) for month-over-month and EDATE(A2,−12) for year-over-year rather than relying on adjacent rows.
July 2026 MoM: £130,200−£124,000 = £6,200; £130,200/£124,000−1 = 5.0%. July YoY: £12,200 and 10.34%. Jan–Jul YTD change: £844,000−£790,000 = £54,000, or 6.84%.
Build YTD with =SUMIFS(RevenueRange,MonthRange,">="&DATE(YEAR(A2),1,1),MonthRange,"<="&A2) only when every included month is closed. Flag August as Partial and suppress its changes. Keep a revision timestamp and recompute prior comparisons when returns revise a month. Tests: first available month and a missing prior month return N/A; zero baseline returns N/A with a note; January correctly looks back to December; monthly totals sum exactly to YTD.