Excel like a finance pro.
Essential functions
Each one has its own page — what it is, a live demo, common errors, and better alternatives.
Lookups & references
The modern lookup — find a value and return another, in any direction, with a clean not-found fallback.
=XLOOKUP("4100", Codes, Names, "Not found")The everyday lookup — find a value in the first column and return one to its right.
=VLOOKUP("4100", A2:B4, 2, FALSE)The classic two-step lookup — works left or right and across two dimensions.
=INDEX(Revenue, MATCH(A2, Month, 0))The two-way lookup — cross a row label and a column label to pull one cell.
=INDEX(B2:D4, MATCH("East", A2:A4, 0), MATCH("Q2", B1:D1, 0))The horizontal lookup — find a value in the top row and return one below it.
=HLOOKUP("Q2", A1:E3, 2, FALSE)Logic & error handling
The workhorse of logic — return one thing when a test is true, another when it's false.
=IF(B2>=B3, "Hit target", "Missed")Return different results by condition — IFS avoids nested IFs.
=IFS(B2>0,"Profit", B2=0,"Breakeven", TRUE,"Loss")Match one value against a list of cases — cleaner than a stack of nested IFs.
=SWITCH(B2, 1,"Open", 2,"Paid", 3,"Void", "Unknown")Combine several conditions into one TRUE/FALSE — the logic that powers a real IF.
=IF(AND(B2>=650, C2>=50000), "Approve", "Review")Ask what kind of thing is in a cell — empty, a number, text, or an error.
=IF(ISNUMBER(B2), B2, 0)Catch only #N/A — so a missing lookup is handled but real errors still surface.
=IFNA(VLOOKUP(B2, Codes, 2, FALSE), "Not found")Text & cleanup
Pull characters off the start, the end, or the middle of a text string by position.
=LEFT("AA-1024-X", 2)Locate where one piece of text sits inside another — the position to slice at.
=FIND("-", "AA-1024-X")Stitch pieces of text together — a full name, an address, a dynamic label.
=TEXTJOIN(", ", TRUE, A2:A6)Grab everything before a delimiter — first names, street numbers, the local part of an email.
=TEXTBEFORE("Jane Doe", " ")Grab everything after a delimiter — last names, email domains, the tail of a code.
=TEXTAFTER("Jane Doe", " ")Break one messy cell into clean columns — split an address or a full name in a single formula.
=TEXTSPLIT("123 Main St, Austin, TX", ", ")Strip stray spaces and junk characters so lookups match and lists de-duplicate.
=TRIM(" Jane Doe ")Fix inconsistent capitalization — turn jane DOE and ACME llc into clean, uniform case.
=PROPER("jane DOE")Find-and-replace inside a formula — standardize abbreviations and strip unwanted characters.
=SUBSTITUTE("123 Main St", "St", "Street")Aggregation
Add up a range of numbers — the first function anyone learns and still the most-used.
=SUM(B2:B13)Answer 'how many?' — numbers only, anything at all, or the empty ones.
=COUNTA(A2:A100)The smallest or largest number in a range — and a neat way to cap or floor a value.
=MAX(B2:B13)The 2nd, 3rd … nth smallest or largest — the top-N list MIN/MAX can't do.
=LARGE(B2:B13, 2)Sum amounts that match several conditions — the workhorse of P&L roll-ups.
=SUMIFS(Amount, Account, "Revenue", Month, $B$1)Average the values that match several conditions — the mean sibling of SUMIFS.
=AVERAGEIFS(Amount, Stage, "Won")The smallest or largest value that meets your conditions.
=MAXIFS(Balance, Customer, "Acme", Status, "Open")Multiply arrays element-by-element, then sum — weighted averages and conditional math.
=SUMPRODUCT(Units, Price) / SUM(Units)Math & rounding
Round a number to a set number of digits — control the pennies before they compound.
=ROUND(B2, 2)Three small math tools that punch above their weight — magnitude, whole part, remainder.
=ABS(B2 - C2)Dates
The current date (or date-and-time) that updates itself every time the sheet recalcs.
=TODAY() - B2Build a real date from three numbers, or pull the year, month, or day back out.
=DATE(2026, 3, 15)Dynamic arrays (Microsoft 365)
Return the rows that meet a condition as a live, spilling result.
=FILTER(GL, Account="Revenue", "None")Pile ranges on top of each other into one tall list — combine tabs or blocks before you filter or total.
=VSTACK(Jan!A2:C50, Feb!A2:C50, Mar!A2:C50)Set ranges side by side into one wider block — glue separate columns into a single table.
=HSTACK(Months, Actuals, Budget)Name a value or calculation once, then reuse it — faster formulas that read like plain English.
=LET(rev, B2, cogs, B3, gp, rev - cogs, gp / rev)Build your own reusable function — no VBA — then name it and call it like any built-in.
=LAMBDA(rev, cogs, (rev - cogs) / rev)(B2, C2)Finance
Build a full loan payoff schedule — principal vs. interest, month by month.
=IPMT(9%/12, 1, 60, -150000) → the first month's interestSpread an asset's cost over its life — build an asset register and schedule.
=SLN(45000, 5000, 5) → $8,000 of straight-line depreciation a yearFixed-declining-balance depreciation — accelerated, at a single rate Excel works out for you.
=DB(45000, 5000, 5, 1) → the first year's depreciationVariable-declining balance — accelerated depreciation that switches to straight-line so nothing is stranded.
=VDB(45000, 5000, 5, 0, 1) → the first year's depreciationLearn the moves here — or let Wauvel run them on your numbers.
Meet your AI CFO →One CFO-grade Excel tip a week
A short, practical email for finance operators — functions, shortcuts, and the moves that save an afternoon. Free, unsubscribe anytime.