Home › Guides › Excel formulas cheat sheet
Tech Explained · 2026Excel Formulas Cheat Sheet 2026: 42 Formulas, Worked Examples and the Lookups That Replaced VLOOKUP
This Excel formulas cheat sheet collects the 42 formulas that cover almost all analyst work: XLOOKUP and INDEX/MATCH for lookups, SUMIFS and GROUPBY for aggregation, TEXTSPLIT and LET for cleaning, plus the six error codes you will meet. The version gates matter: TEXTSPLIT needs Microsoft 365 or Excel 2024, and XLOOKUP will not run in Excel 2019.
- Six functions do most of the work. XLOOKUP, FILTER, SUMIFS, LET, TEXTSPLIT and GROUPBY will handle the large majority of what an analyst is asked for in a week.
- Check your version before you copy a formula. Microsoft's TEXTSPLIT page lists only Excel for Microsoft 365 and Excel 2024, while its PIVOTBY page also lists Excel 2021.
- VLOOKUP's default is the bug. Leaving off the last argument gives you an approximate match, which silently returns the wrong row on unsorted data.
- #SPILL! is not an error in your logic. It means the result needs more room than the cells below it have, and clearing those cells fixes it.
- Full-column references are the usual reason a workbook crawls. A SUMIFS over C:C asks Excel to consider 1,048,576 rows every recalculation.
- Stop at the point Excel stops. Once a job needs scheduling, version control or more than a few hundred thousand rows, the answer is SQL or Power Query, not a cleverer formula.
It is 9pm on the second of the month. The ERP export has landed as a 40,000 row CSV, the city column has trailing spaces in about a third of the rows, and the SUMIFS you dragged down column H now makes the workbook pause for three or four seconds every time you click a cell. That evening is where most analysts actually learn Excel, and it is the evening this cheat sheet is written for. Everything below is organised the way the problem arrives: look things up, add things up conditionally, clean the mess, then explain the error code.
The Three Excel Limits That Shape Every Formula You Write
Three hard numbers govern what you can and cannot do in a worksheet, and knowing them saves you from a whole class of pointless debugging. Microsoft's official worksheet and workbook specifications page states that a sheet holds 1,048,576 rows by 16,384 columns, that the contents of a single formula cannot exceed 8,192 characters, and that a function accepts at most 255 arguments.
The row ceiling is the one people hit first, usually when a CSV opens and the last rows are quietly missing. The 8,192 character limit is the one that kills a nested IF chain built by a colleague who never learned SWITCH. Neither is negotiable, so the moment a dataset approaches a million rows you are no longer in Excel's territory, and a load into Power Query or a database is the honest answer.
The four ceilings worth memorising
If a formula or a file is behaving strangely, check these before you rewrite anything.
Figures from Microsoft's worksheet and workbook specifications and limits page, checked 1 November 2026.
Excel Formulas Cheat Sheet: Lookups, Filters and Spill Control
A lookup answers the question "what is the value for this key". A filter answers "which rows match this condition". Analysts reach for the first when they mean the second, end up with an array of INDEX formulas, and wonder why the file is slow. FILTER is the right function more often than people think.
| Formula | What it does | Worked example |
|---|---|---|
| XLOOKUP | Exact-match lookup, left or right, with a fallback | =XLOOKUP(D2,A:A,B:B,"Not found") |
| XLOOKUP, reverse | Returns the last match instead of the first | =XLOOKUP(D2,A2:A999,B2:B999,,0,-1) |
| XMATCH | Position of a value in a list | =XMATCH(D2,A2:A999,0) |
| INDEX + MATCH | The pre-2021 lookup that still works everywhere | =INDEX(B2:B999,MATCH(D2,A2:A999,0)) |
| INDEX, two-way | Row and column lookup in one formula | =INDEX(B2:F999,MATCH(D2,A2:A999,0),MATCH(E1,B1:F1,0)) |
| VLOOKUP | Legacy lookup; always pass FALSE | =VLOOKUP(D2,A2:C999,3,FALSE) |
| FILTER | Returns every matching row as a spilled array | =FILTER(A2:C999,C2:C999>100000,"none") |
| UNIQUE | Distinct values from a column | =UNIQUE(B2:B999) |
| SORT | Sorts an array without touching the source | =SORT(UNIQUE(B2:B999)) |
| SORTBY | Sorts one range by another, descending | =SORTBY(A2:C999,C2:C999,-1) |
| TAKE | First or last N rows of an array | =TAKE(SORTBY(A2:C999,C2:C999,-1),10) |
| CHOOSECOLS | Keeps only the columns you name | =CHOOSECOLS(A2:F999,1,3,6) |
| VSTACK | Appends ranges from several sheets | =VSTACK(Jan!A2:D500,Feb!A2:D500) |
| Spill reference | Points at a whole spilled result | =SUM(H2#) |
How to Use XLOOKUP in Excel Without the Four Common Traps
Microsoft's XLOOKUP documentation sets the defaults that matter: match_mode defaults to 0, which is an exact match returning #N/A when nothing is found, and search_mode defaults to 1, a first-to-last scan, with -1 running the scan backwards. The same page states plainly that XLOOKUP is not available in Excel 2016 or Excel 2019, so a workbook you build on Microsoft 365 will break on a colleague's older install.
# Exact match with a readable fallback instead of #N/A
=XLOOKUP(D2, Orders[SKU], Orders[Margin], "SKU missing")
# Last matching row, which is how you get the most recent price
=XLOOKUP(D2, Prices[SKU], Prices[Rate], "no rate", 0, -1)
# Return three columns at once by passing a multi-column return array
=XLOOKUP(D2, Orders[SKU], Orders[[City]:[Margin]], "missing")
The traps, in the order you will meet them: passing a lookup array and a return array of different heights, which gives #VALUE!; forgetting that a text key with a trailing space will not match a clean one; wrapping the whole thing in IFERROR so a genuine #REF! disappears along with the #N/A; and using full-column references inside a formula you then copy down 40,000 rows.
Dynamic Array Formulas and the Spill Operator
Dynamic array formulas changed the habit of dragging a formula down a column. One FILTER in H2 produces as many rows as there are matches, and H2# then refers to that whole block wherever it lands. That is what lets you write =ROWS(H2#) for a live match count, or feed the spilled range straight into SUM without guessing how far it will reach.
Also read: SQL Commands Cheat Sheet 2026, which is the same reference treatment for the language you will move to once the data outgrows a sheet.
Advanced Excel Formulas for Data Analysis: Conditional Aggregation
This is where an analyst earns their keep. Take that two-person analytics team at a mid-size auto-parts distributor in Pune: every month they need revenue by city, margin by product family, and a count of orders above a threshold, from one flat ERP export. The whole job is conditional aggregation.
| Formula | What it does | Worked example |
|---|---|---|
| SUMIFS | Sums rows meeting several conditions | =SUMIFS(C2:C40000,A2:A40000,"Pune",B2:B40000,">="&DATE(2026,10,1)) |
| COUNTIFS | Counts rows meeting several conditions | =COUNTIFS(A2:A40000,"Pune",C2:C40000,">50000") |
| AVERAGEIFS | Mean of matching rows only | =AVERAGEIFS(C2:C40000,A2:A40000,"Pune") |
| MAXIFS | Largest value among matching rows | =MAXIFS(C2:C40000,A2:A40000,"Pune") |
| SUMPRODUCT | Weighted totals and multi-condition maths | =SUMPRODUCT(C2:C999,D2:D999)/SUM(D2:D999) |
| SUBTOTAL | Aggregates visible rows only | =SUBTOTAL(109,C2:C40000) |
| AGGREGATE | Aggregates while skipping errors | =AGGREGATE(9,6,C2:C40000) |
| GROUPBY | A pivot as a formula, one grouping column | =GROUPBY(A2:A40000,C2:C40000,SUM,,0) |
| PIVOTBY | Rows and columns crosstab as a formula | =PIVOTBY(A2:A40000,B2:B40000,C2:C40000,SUM,,0) |
| PERCENTILE.INC | Distribution cut points, not just averages | =PERCENTILE.INC(C2:C40000,0.9) |
| MEDIAN | The middle value, resistant to outliers | =MEDIAN(C2:C40000) |
| RANK.EQ | Position of a value within a range | =RANK.EQ(C2,$C$2:$C$40000,0) |
| STDEV.S | Sample standard deviation | =STDEV.S(C2:C40000) |
| COUNTA | Counts non-empty cells, text included | =COUNTA(A2:A40000) |
GROUPBY and PIVOTBY: a Pivot Table You Can Audit
GROUPBY and PIVOTBY are the two additions that genuinely changed monthly reporting, because the output refreshes with the data instead of needing a right-click and Refresh. Microsoft's PIVOTBY function page lists it for Excel for Microsoft 365, Excel 2024 and Excel 2021, including the Mac builds, and notes that it is not directly related to the PivotTable feature. That last detail is the point: the result is a formula someone else can read.
# Revenue by city, totals row suppressed, sorted descending by value
=GROUPBY(Orders[City], Orders[Revenue], SUM, , 0, -2)
# City down the side, product family across the top
=PIVOTBY(Orders[City], Orders[Family], Orders[Revenue], SUM, , 0, , 0)
# Two aggregations side by side using HSTACK
=HSTACK(GROUPBY(Orders[City],Orders[Revenue],SUM,,0),
GROUPBY(Orders[City],Orders[Revenue],COUNT,,0))
The reporting layer that sits on top of this is Power BI, and the DAX measures you write there are conditional aggregation under a different name. 360DT's Data Analyst course runs Excel, SQL, Python and Power BI in one sequence for exactly that reason, with PL-300 preparation attached to the Power BI half.
Text, Date and Logic Formulas That Clean Messy Exports
Nobody warns you that most of the job is this. The Pune team's city column arrives as "Pune ", "pune" and "PUNE, MH" in the same file, and no amount of clever SUMIFS fixes a key that does not match. Clean first, aggregate second.
| Formula | What it does | Worked example |
|---|---|---|
| TEXTSPLIT | Splits text into columns or rows by delimiter | =TEXTSPLIT(A2,", ") |
| TEXTBEFORE | Everything before the nth delimiter | =TEXTBEFORE(A2,",") |
| TEXTAFTER | Everything after the nth delimiter | =TEXTAFTER(A2,"-",-1) |
| TEXTJOIN | Concatenates a range with a separator | =TEXTJOIN(", ",TRUE,B2:B9) |
| TRIM | Strips leading, trailing and doubled spaces | =TRIM(A2) |
| CLEAN | Removes non-printing characters from exports | =CLEAN(TRIM(A2)) |
| SUBSTITUTE | Replaces one substring with another | =SUBSTITUTE(A2,CHAR(160)," ") |
| VALUE | Turns text that looks numeric into a number | =VALUE(SUBSTITUTE(A2,",","")) |
| LET | Names intermediate steps inside one formula | =LET(c,TRIM(A2),IF(c="","unknown",c)) |
| LAMBDA | Defines a reusable named function | =LAMBDA(x,TRIM(CLEAN(x)))(A2) |
| IFS | Several tests without nesting IF | =IFS(C2>1000000,"A",C2>250000,"B",TRUE,"C") |
| SWITCH | Maps a value against a list of cases | =SWITCH(B2,"MH","West","KA","South","Other") |
| IFERROR | Replaces any error with your own value | =IFERROR(C2/D2,0) |
| EOMONTH | Month-end date, forwards or backwards | =EOMONTH(B2,0) |
One version warning that costs people an afternoon: Microsoft's TEXTSPLIT page lists the function for Excel for Microsoft 365 and Excel 2024 only, with Excel 2021 absent from the list. If you are on a 2021 install, the split has to be done with the older LEFT, MID and FIND combination, or in Power Query.
# A cleaning chain that is readable six months later
=LET(
raw, A2,
flat, SUBSTITUTE(raw, CHAR(160), " "),
clean, TRIM(CLEAN(flat)),
city, TEXTBEFORE(clean & ",", ","),
IF(city = "", "unknown", PROPER(city))
)
That formula is longer than the nested version it replaces, and that is the trade-off worth accepting. LET names each step, so when the output is wrong you can comment out one line of thinking instead of counting brackets.
Go from formulas in a sheet to a dashboard someone pays for
Ten weekends of live teaching across advanced Excel, SQL, Python and Power BI, with preparation for the Microsoft PL-300 certification. Hands-on projects, mentor support and placement guidance are included.
Explore the course
A Worked Example: 40,000 ERP Rows to a Monthly Margin Report
Here is the whole month-end job for the Pune distributor, start to finish, in five moves. Reproduce it on any flat sales export with city, date, product family, revenue and cost columns.
Step 1. Select the raw range and press Ctrl+T to make it a table named Orders. Structured references like Orders[Revenue] grow with the data, which is what stops next month's rows from being silently excluded.
Step 2. Add one calculated column for the clean key, using the LET chain above. Do not clean inside the aggregation formula; a separate column is debuggable.
Step 3. Add a margin column: =([@Revenue]-[@Cost])/[@Revenue], wrapped in IFERROR so a zero-revenue credit note returns 0 rather than #DIV/0!.
Step 4. On a reporting sheet, write one PIVOTBY for the crosstab and one GROUPBY for the ranked city list. Both spill, so no dragging.
Step 5. Add the sanity check that catches 90 percent of real mistakes: =SUM(Orders[Revenue])-SUM(H2#). If that is not zero, a row is being excluded by a filter condition you forgot about.
The five-stage path from raw export to a report that refreshes
Each stage lives in its own column or cell, which is why the reconciliation at the end is possible at all.
Stage names match the five steps above; reproduce on any flat sales export. Written 1 November 2026.
Total elapsed time once you have done it twice: about twenty minutes, and it refreshes next month by pasting new rows into the table. That is the actual deliverable an interviewer wants to hear about, and it is the shape of project that a data analyst portfolio is built from.
Excel Formula Errors: What Each Code Means and the Fix
Excel formula errors are diagnostic, not decorative. Each code narrows the problem to one cause, and the fix is usually mechanical once you read the code properly rather than reaching for IFERROR.
| Error | What it actually means | The fix |
|---|---|---|
| #N/A | The lookup ran and found nothing | Check for trailing spaces with =LEN(A2); add an if_not_found argument |
| #VALUE! | An argument is the wrong type or shape | Usually mismatched array heights, or text where a number is expected |
| #REF! | The formula points at a deleted cell or range | Rebuild the reference; never bury this one inside IFERROR |
| #DIV/0! | A denominator is zero or empty |
=IFERROR(C2/D2,0), or filter the zero rows out first |
| #SPILL! | The result needs room the sheet does not have | Clear the cells below; or wrap in @ if you truly want one value |
| #NAME? | Excel does not recognise the function or name | Often a version gate: TEXTSPLIT on an Excel 2021 install does this |
| #CALC! | The calculation engine cannot return the array | Usually an empty array from FILTER; pass the if_empty argument |
| #NUM! | The maths is impossible or the result too large | Check for negative square roots, bad dates, or runaway iteration |
- Somebody wraps everything in IFERROR. Now #REF! and #N/A look identical, both read as 0, and the monthly total is quietly wrong by one product family. Use IFNA when you only mean "no match found".
- The file slows to a crawl and nobody knows why. It is almost always full-column references inside SUMIFS, or a volatile function such as NOW or OFFSET sprinkled through 40,000 rows, forcing a full recalculation on every edit.
-
A dynamic array formula returns one value instead of a list. Excel inserted an implicit intersection
@when the workbook came from an older version. Delete the@and the formula spills again.
Six Habits That Make an Excel Workbook Slow and Fragile
The six habits worth unlearning first
Each one has a symptom you have probably already seen, and a fix that takes under a minute.
Full-column references
Symptom: a three second pause on every click. Cause: SUMIFS(C:C,...) considers over a million rows each recalculation. Fix: reference the table column, Orders[Revenue].
VLOOKUP without FALSE
Symptom: a lookup returns a plausible but wrong value. Cause: the range_lookup argument defaults to approximate match. Fix: pass FALSE, or switch to XLOOKUP, whose default is exact.
CorrectnessHard-coded ranges
Symptom: next month's rows are missing from the total. Cause: C2:C40000 written when the file had 40,000 rows. Fix: Ctrl+T and structured references that grow.
Nested IF towers
Symptom: a formula nobody can edit, occasionally hitting the 8,192 character limit. Cause: IF inside IF inside IF. Fix: IFS, SWITCH, or a lookup table with XLOOKUP.
ReadabilityCleaning inside the aggregation
Symptom: a wrong total with no way to tell which step failed. Cause: TRIM and SUBSTITUTE buried inside SUMIFS. Fix: one helper column per cleaning step.
DebuggabilityNo reconciliation cell
Symptom: an error found by the person you sent the file to. Cause: nothing ever compared the report back to the source. Fix: one cell that must equal zero, formatted red when it does not.
TrustSymptoms and fixes compiled from the Microsoft limits and function pages cited above, checked 1 November 2026.
The honest caveat: do not over-invest in formulas
Advanced Excel has a ceiling, and the marketing around it rarely says so. A workbook cannot be code reviewed, cannot be scheduled, and cannot be diffed, which means two people editing the same monthly report will eventually produce two different numbers with no way to find out who changed what. If your job already involves a database, learn SQL before you learn LAMBDA. And if your ambition is data engineering rather than analysis, the hours are better spent on Microsoft Fabric and the DP-700 track than on perfecting array formulas.
One more thing worth knowing before you build anything on AI-written formulas. Microsoft's Excel Tech Community post announcing the =COPILOT worksheet function carries an update stating that from 14 September 2026 the function is no longer available, pointing users to the Copilot side pane instead. When it did work, the documented cap was 100 Copilot function calculations in any 10 minutes. That is the pattern with AI features inside Excel: useful, and not yet something to build a month-end process on. Python in Excel is steadier but still gated, since Microsoft's availability page states it requires a paid Microsoft 365 licence that includes the desktop apps, with premium compute allowance resetting at the start of each month. For non-engineers who want to use these assistants well rather than fight them, the CCAO-F foundations prep course is the lighter entry point, and the AB-900 Copilot administrator course is the one for whoever has to govern the rollout.
How to Learn This Excel Formulas Cheat Sheet in Six Weeks
Do not try to memorise 42 formulas. Learn them in the order that problems arrive, with one real dataset you care about, and the recall takes care of itself.
A six-week order for learning the formulas above
Roughly five hours a week, each stage ending in something you could show someone.
Tables, references and the four lookups
Convert a real export to a table and replace every hard-coded range with a structured reference. Deliverable: one sheet where XLOOKUP, INDEX/MATCH and FILTER all return the same answer.
Conditional aggregation
SUMIFS, COUNTIFS and MAXIFS against three conditions each, then the same answers again with GROUPBY. Deliverable: a revenue-by-city block that refreshes when rows are pasted in.
Text and date cleaning
Take the dirtiest column you own and get it to a single clean key using TRIM, CLEAN, SUBSTITUTE and TEXTBEFORE. Deliverable: a helper column with zero unmatched keys.
LET, IFS and readable logic
Rewrite your three ugliest formulas with LET and SWITCH. Deliverable: a formula a colleague can explain back to you without opening the help pane.
Errors, performance and reconciliation
Break things deliberately to produce all eight error codes, then fix each. Deliverable: a workbook with a reconciliation cell and no full-column references left.
Hand off to Power Query and Power BI
Move the cleaning steps into Power Query and point a Power BI model at the result. Deliverable: the same monthly report with a refresh button instead of a formula audit.
Sequencing follows the Excel, SQL, Python and Power BI order used in 360DT's Data Analyst course. Checked 1 November 2026.
Week 6 is where self-teaching usually stalls, because Power Query and the PL-300 model layer reward being walked through once. That is the part a live weekend cohort is genuinely useful for, and it is covered in the Data Analyst course alongside the SQL and Python that follow. If you are not ready to commit, sit in on a free webinar or a demo class first, and look at the full certifications overview to see where PL-300 sits relative to the Fabric and AI tracks. Analysts who later move toward retrieval pipelines and agents tend to land in the AI Engineer course, but that is a decision for after the formulas are automatic.
Also read: Power BI Tutorial for Beginners 2026, which picks up exactly where week 6 of this plan ends.
If I were starting over with thirty spare hours a month, I would spend the first month on this cheat sheet and never touch it again as a memorisation exercise, because the formulas that stick are the ones you needed at 9pm on the second of the month. Then I would move straight to SQL, since every ceiling described above is a reason to leave the sheet rather than a reason to get better at it. Build the five-stage report on your own data this week; it is the single most convincing thing you can put in front of a hiring manager who has seen a hundred certificates.
Related guides
- PL-300 Exam Prep 2026 the six-week study plan for the certification that sits on top of these Excel and Power BI skills.
- How to Become a Data Analyst Without Experience in India the ten-month switch plan if these formulas are your first technical skill.
- Power BI vs Tableau in 2026 which reporting tool to learn after Excel, judged on Indian job demand.
- SQL Interview Questions for Data Analyst Roles the twenty questions you will face once the sheet work is behind you.
- Data Analyst Jobs in Pune 2026 pay bands and hiring clusters in the city this article's worked example is set in.
Frequently asked questions
What are the most important Excel formulas for data analysis?
Six carry most of the load: XLOOKUP for lookups, FILTER for returning matching rows, SUMIFS for conditional totals, LET for readable multi-step logic, TRIM with SUBSTITUTE for cleaning keys, and GROUPBY for a pivot that refreshes with the data. Learn those properly and the other 36 in this cheat sheet become variations you can look up.
Where can I find a free Excel formulas cheat sheet with worked examples?
This page is one: the four tables above give 42 formulas with a copyable example for each, grouped by the problem they solve rather than alphabetically. Microsoft's own function reference pages are the authoritative source for syntax and version support, and are worth checking before you rely on a newer function.
Should I still learn VLOOKUP in 2026?
Learn to read it, not to write it. You will inherit workbooks full of VLOOKUP, so you need to recognise the approximate-match default that causes silently wrong results. For anything new, XLOOKUP is better in every respect, as long as your organisation is not still on Excel 2019, where Microsoft's documentation confirms XLOOKUP is unavailable.
Why does my Excel formula show #SPILL!?
Because a dynamic array formula needs more cells than are free below or beside it. Something, often a single stray space, is occupying the spill range. Clear those cells and the result appears. If you genuinely want one value rather than an array, prefix the reference with the implicit intersection operator.
How many rows can Excel handle before it gets slow?
The hard ceiling is 1,048,576 rows per worksheet according to Microsoft's specifications page, but practical slowness arrives far earlier, often between 100,000 and 300,000 rows once conditional formulas are involved. The usual culprit is full-column references rather than row count itself. Past that point, move the work into Power Query or a database.
Can I use Python in Excel instead of formulas?
Partly. Microsoft's Python in Excel availability page states it needs a paid Microsoft 365 consumer, commercial or education licence that includes the desktop apps, with a limited premium compute allowance that resets monthly. It is excellent for statistics and charting inside a workbook, and a poor replacement for a lookup that a colleague has to maintain.
How long does it take to learn advanced Excel formulas?
About six weeks at five hours a week if you work on one real dataset, following the staged plan above. The lookups and conditional aggregation come quickly. Cleaning text reliably and reasoning about dynamic arrays are the two stages that take longer, because they only make sense against messy data you actually have.
Are Excel formulas still worth learning when AI can write them?
Yes, for the same reason you still read code an assistant writes. An AI will happily hand you a SUMIFS over full columns that works and makes the file unusable, and you need to recognise that. Microsoft's own Excel blog update says the in-sheet =COPILOT function stopped being available from 14 September 2026, which is a reminder that the feature set moves faster than your month-end process should.
About this guide. 360 Digital Transformation is an Anthropic Partner and a Microsoft Authorized Training Partner. Other certification bodies, vendors and employers named here are not affiliated with us. Tools and versions change quickly; commands and figures cited were checked on 1 November 2026.




