Excel formula exercises
86 real spreadsheet tasks. Type the formula or the keys, and get told exactly what is wrong.
SUM: total a column
Exercise 01 ·
B5
| A | B | C | |
|---|---|---|---|
| 1 | Region | Q1 | Q2 |
| 2 | North | 1200 | 900 |
| 3 | South | 1450 | 1100 |
| 4 | West | 930 | 700 |
| 5 | Total Q1 |
B5
=SUM(B2:B4)
Accepted
Type =SUM(1200,1450,930) and the grader answers with the rule it broke:
types the numbers into SUM instead of pointing at B2:B4
How an exercise works
- A small spreadsheet is drawn in the page. Nothing is uploaded, and there is no file to open.
- The task names the cell, and you type one formula in the formula bar under the sheet.
- Check it. The grader runs in this browser and names the rule the formula broke: the wrong function, the wrong range, or a typed number where a reference belongs.
Browse the exercises
10 of the 86 are free, with no account and no card. The other 76 come with a paid plan.
Beginner
9 exercises
- SUM: total a column Total a column with one function instead of typing every cell.
- AVERAGE: mean of a score list Turn five scores into one class average that updates itself.
- MIN and MAX: fastest and slowest Paid Return the smallest or largest number in a range without sorting the sheet first.
- COUNTIF: count one condition Count the rows that meet one condition, and get the edges of the range right.
- COUNT: numbers only, and what it skips Paid Count the cells that hold real numbers, and read a short count as evidence of text.
- COUNTA: count the non-empty cells Paid Count filled cells rather than numbers, so a checklist reports real progress.
- IF: one test, two answers Write a decision that returns one of two values, chosen by a single test.
- LEN, LEFT and RIGHT: count and cut Measure a string, then cut fixed pieces from either end.
- Select to the edge of a block Paid Select a whole column of data with two keys instead of the mouse.
Intermediate
38 exercises
- SUMIF: a sum range on another column Paid Total one column while testing a different column for the condition.
- Add only the positives Paid Total the positive and negative rows separately instead of netting a column.
- SUM across several blocks Paid Add several separate blocks, or one block with gaps, in a single SUM call.
- LARGE and SMALL: the nth highest Paid Pick the nth value in an unsorted list instead of sorting it to read one number.
- MEDIAN: the middle value Paid Summarise a list with a middle value that an outlier cannot drag.
- MODE: the most common value Paid Find the value that repeats most often, which is neither the biggest nor the middle.
- Rank a list without sorting it Paid Put a place number on every row of an unsorted list, in either direction.
- Average functions summary Paid Join two summary functions into one answer, reading the nesting inside-out.
- TRUE and FALSE: what a comparison returns Paid Read a comparison as a logical value that other formulas can act on.
- SUMIF: total one region Total only the rows that match a region.
- ROUND: money to two decimals Round a marked-up total once, and know that the stored value changed.
- ROUNDUP and ROUNDDOWN: one direction only Paid Choose the direction on purpose, so the count follows the job.
- MROUND and FLOOR: round to a multiple Paid Round to a pack size or a price step instead of to a number of decimals.
- VLOOKUP: exact match Pull a salary out of a table by its ID, with the exact-match flag written out.
- VLOOKUP: approximate match needs a sorted column Paid Read a rate off a band table with approximate match, on a column that rises.
- HLOOKUP: look across a row Paid Pull a price out of a row table by naming the row it sits on.
- XLOOKUP: exact match, no column counting Paid Return a value from a column anywhere in the table, with no column number to count.
- XLOOKUP with a fallback when nothing matches Paid Answer a missing SKU with a sentence instead of an error.
- VLOOKUP and XLOOKUP on the same table Paid Read a price with either lookup and know which argument does which job.
- Lookup functions summary Paid Pick the lookup that can return a column to the left of its key.
- MATCH: find a value's position Paid Find where a value sits in a list, counting the first cell as 1.
- INDEX: a value at a row and column Paid Read any single cell of a grid from a row number and a column number.
- INDEX MATCH: look left of the key Paid Return a value from the left of the key with INDEX and MATCH.
- Two-way INDEX MATCH Paid Read one cell out of a grid by matching its row and column labels.
- INDEX and MATCH summary Paid Read a rate from a sorted band table with INDEX and an approximate MATCH.
- MID: characters from the middle Paid Read a fixed slice from the middle of a code, from a position you worked out.
- FIND and SEARCH: case-sensitive or not Paid Choose FIND for a case-sensitive position, SEARCH when case should not matter.
- Wildcards in text criteria Paid Write a wildcard criterion in COUNTIF and reuse the same pattern in SUMIF.
- Text search summary Paid Combine FIND with MID for a slice, and a wildcard criterion for a filtered average.
- CONCAT and the & operator Join two cells into one string, with the space passed in as its own piece.
- TEXTJOIN: join a range and skip blanks Paid Join a column into one line and decide what happens to the blanks.
- UPPER, LOWER and PROPER Paid Normalise capitalisation with UPPER, LOWER and PROPER, and know which one a code needs.
- SUBSTITUTE: replace one piece of text Paid Replace a separator everywhere, then name a single occurrence with the fourth argument.
- IFERROR: catch the error, show your text Paid Replace a failed lookup with words you chose, and know which faults those words will hide.
- TODAY and NOW: the volatile clock Paid Tell today's date from this moment, and read the clock out of a date number.
- DATE: build a date from parts Paid Build a real date from three numbers and let DATE roll the overflow.
- DAYS and simple date maths Paid Measure the distance between two dates in days, then treat the answer as the number it is.
- Date functions summary Paid Combine today's date, a distance and a month edge in formulas that still work tomorrow.
Advanced
39 exercises
- SUMIFS: two conditions at once Total the rows that meet two conditions at once instead of filtering the table first.
- Debug a total that skips a row Paid Find the row a broken total skips and cover it without double-counting a subtotal.
- Running total down a column Paid Build a running total that can be filled down without editing each row.
- Sum functions summary Paid Combine SUM and SUMIF to total a column, a subset of it, and the remainder.
- COUNTIFS: several conditions Paid Count the rows that satisfy two conditions at once instead of filtering the table first.
- COUNTIF with wildcards Paid Count partial matches on text instead of listing every exact value that qualifies.
- Count functions summary Paid Tell counting values from counting rows, then use both together to find gaps.
- AND, OR and NOT: combining tests Paid Combine several tests into one answer, and choose AND or OR to match the question.
- IFS: more than two outcomes Paid Read a score into one of several bands with a single ordered function.
- SWITCH: match a list of values Paid Translate a short fixed list of codes into labels in one formula.
- ISBLANK, ISNUMBER, ISTEXT: reading a cell's type Paid Tell an empty cell from a text cell and a number, and read the answer as a logical value.
- Logical functions: putting the pieces together Paid Combine a logical test, a combined test and a rounded calculation in one formula.
- VLOOKUP with a wildcard Paid Match a name you half know, and keep the pattern in a cell so it can change.
- Two-way lookup with VLOOKUP and MATCH Paid Return one cell of a grid from a row key and a column key.
- XLOOKUP: search from the bottom Paid Return the latest entry for a repeated key without sorting the log first.
- INDEX + MATCH: lookup either way Paid Return a value from any column, whichever side of the key it sits on.
- LEFT + FIND: pull out a prefix Paid Pull a prefix of any length out of a code with LEFT and FIND.
- TEXTBEFORE and TEXTAFTER: split on a delimiter Paid Split a code at its delimiter, taking either the part before or the part after.
- Capstone: North gross margin Paid Total by region, divide to a margin percentage, and leave a blank where revenue is missing.
- Sales summary end to end Paid Total a region with SUMIFS, then answer which region leads with one IF around two totals.
- Lookup dashboard from three tables Paid Read a keyed value with INDEX and MATCH, then chain the pair to reach a third table.
- Clean up an imported list Paid Tidy spacing and case with TRIM and PROPER, then build a lower-case key from the same text.
- Budget versus actual with a variance flag Paid Size a variance as a share of budget, then flag it with one threshold both ways.
- Formula audit: fix five broken sheets Paid Repair five broken cells, one per error code, by choosing the test each code implies.
- IFNA: catch only a missing match Paid Replace a missing lookup match and leave every other error visible.
- Read #N/A, #VALUE! and #REF! Paid Tell a missing match apart from a broken reference, and print that difference as words.
- Error handling: which net catches what Paid Choose the wide net or the narrow one on purpose, and wrap the whole calculation in it.
- DATEDIF: days, months or years between Paid Ask for the gap between two dates in whole years, months or days, with the leftovers when needed.
- SUMPRODUCT: multiply the pair, then add them up Paid Value a table and take a weighted average from the same two columns.
- SUBTOTAL: one function number, six answers Paid Read the function number first, so one range can be added or searched for its largest value.
- AGGREGATE: a total that says what to ignore Paid Write a three-argument aggregate and know which cells the options number leaves out.
- Totals that multiply, skip and reconcile Paid Reconcile two routes to the same total and read the ratio as a pass or a fail.
- UNIQUE: one row per distinct value Paid Count the distinct couriers in a column without retyping the list.
- FILTER: the rows that meet a condition Paid Add the rows that meet a condition without filtering the sheet first.
- SORT and spilled ranges Paid Rank a table without touching it, then read one cell out of the ranked block.
- A commission sheet that updates itself Paid Read a rate from a banded table, then multiply it by the sales figure.
- A headcount and payroll summary Paid Total a payroll across two columns, then divide it by the headcount.
- An inventory reorder report Paid Floor a row's shortfall at zero, then net the whole sheet the same way.
- A monthly close checklist in formulas Paid Flag a reconciliation from its variance, then count the rows still out.