Excel practice online, in a real spreadsheet
Most Excel practice is a multiple-choice quiz about Excel. This is not that. Every exercise here hands you a grid with real data in it, you type a real formula into a real cell, and the answer is checked cell by cell — not against a stored string, but by running the formula and comparing what came out.
That difference is the whole point. A quiz can tell you that you picked the wrong answer. A grid can tell you that your VLOOKUP is looking in the right column of the wrong range, which is the mistake you were actually going to make at work.
It runs in the browser
There is no Excel to install and no file to download. The formula engine is ours and it runs on the page, which means it also works on a locked-down work laptop.
It tells you which cell is wrong
Not “incorrect” — the specific cell, the value it produced, and the value it should have produced. Most of learning formulas is learning to read that gap.
You can start without an account
The first exercise opens straight into the grid. No card, no email, nothing to dismiss before you find out whether you like it.
Every function, explained and drilled
Each row is two pages: a reference page that explains the function with worked examples, and an exercise that makes you type it into a grid until it works.
Lookup and reference
| Function | What it does | Practice |
|---|---|---|
| VLOOKUP | Finds a value in the first column of a table and returns something from a column to its right. | Practise itPro |
| XLOOKUP | Searches any range and returns a value from any other, in either direction, with a built-in fallback. | Practise itPro |
| INDEX MATCH | MATCH finds the position of a value; INDEX returns what is at that position. Together they look up anything, in any direction. | Practise itPro |
| HLOOKUP | Searches the top row of a table and returns a value from a row beneath it. | Practise itPro |
Maths and conditional totals
| Function | What it does | Practice |
|---|---|---|
| SUMIF | Adds the numbers in a range, but only on the rows where a condition is met. | Practise itFree |
| SUMIFS | Adds numbers only where every one of several conditions is true at once. | Practise itFree |
| COUNTIF | Counts how many cells in a range meet a single condition. | Practise itPro |
| SUM | Adds up every number in the ranges you give it, ignoring text and blanks. | Practise itFree |
| AVERAGE | Adds the numbers in a range and divides by how many there were. | Practise itFree |
| ROUND | Rounds a number to the number of decimal places you specify. | Practise itFree |
| COUNTIFS | Counts rows where every one of several conditions is true at once. | Practise itPro |
| SUMPRODUCT | Multiplies ranges together row by row, then adds up the results. | Practise itPro |
| MIN, MAX | Return the smallest and largest numbers in a range. | Practise itFree |
| COUNT, COUNTA | COUNT counts numbers; COUNTA counts anything that is not empty. | Practise itFree |
| MOD | Returns what is left over after dividing one number by another. | Practise itFree |
| POWER | Raises a number to a power — the function form of the ^ operator. | Practise itFree |
| CEILING, FLOOR | Round a number up or down to the nearest multiple of something you choose. | Practise itFree |
| ABS | Returns a number with any minus sign removed. | Practise itFree |
| SIGN | Returns 1 for a positive number, -1 for a negative one, and 0 for zero. | Practise itFree |
| QUOTIENT | Divides two numbers and returns only the whole-number part. | Practise itFree |
| EVEN, ODD | Round a number up to the next even or odd whole number. | Practise itFree |
| GCD, LCM | GCD finds the largest number that divides them all; LCM finds the smallest that they all divide into. | Practise itPro |
| MDETERM | Returns the determinant of a square array of numbers. | Practise itPro |
Statistics
| Function | What it does | Practice |
|---|---|---|
| MEDIAN | Returns the middle value of a set of numbers when they are put in order. | Practise itPro |
| MODE | Returns the number that appears most often in a range. | Practise itPro |
| STDEV, VAR | Measure how far the values in a set typically sit from their average. | Practise itPro |
| RANK | Returns the position of a number within a list, largest first by default. | Practise itPro |
| LARGE, SMALL | Return the nth largest or nth smallest value in a range. | Practise itPro |
Logic and error handling
| Function | What it does | Practice |
|---|---|---|
| IF | Returns one value when a condition is true and another when it is false. | Practise itFree |
| IFERROR | Runs a formula and returns your own value instead if it produces an error. | Practise itFree |
| AND, OR, NOT | Combine several TRUE/FALSE tests into a single TRUE or FALSE. | Practise itFree |
| IFS | Checks conditions in order and returns the result of the first one that is true. | Practise itPro |
| SWITCH | Compares one value against a list of options and returns the matching result. | Practise itPro |
| IFNA | Runs a formula and returns your own value only if it produces #N/A. | Practise itFree |
Text
| Function | What it does | Practice |
|---|---|---|
| LEFT, RIGHT, MID | Take a fixed number of characters from the start, the end, or the middle of a text value. | Practise itFree |
| LEN | Returns how many characters a value contains, spaces included. | Practise itFree |
| TRIM | Strips leading, trailing and repeated spaces, leaving single spaces between words. | Practise itFree |
| CONCAT and & | Sticks several values together into one, with or without a separator. | Practise itFree |
| UPPER, LOWER, PROPER | Convert text to capitals, to lower case, or to Title Case. | Practise itFree |
| VALUE | Converts a number that is stored as text into a real number. | Practise itFree |
| DOLLAR | Converts a number into text formatted as currency. | Practise itFree |
| REPT | Repeats a piece of text as many times as you ask. | Practise itFree |
Dates and time
| Function | What it does | Practice |
|---|---|---|
| DATEDIF | Returns the gap between two dates in whole years, months or days, depending on the unit you ask for. | Practise itPro |
| EOMONTH | Returns the last day of the month, a given number of months before or after a date. | Practise itPro |
| WORKDAY | Returns the date a given number of working days away, skipping weekends and any holidays you list. | Practise itPro |
| DATE | Assembles a real date from three separate numbers. | Practise itPro |
| YEAR, MONTH, DAY | Pull the year, month or day number out of a date. | Practise itPro |
| WEEKDAY | Returns a number saying which day of the week a date is. | Practise itPro |
| TIME | Assembles a time value from separate hour, minute and second numbers. | Practise itPro |
| HOUR, MINUTE, SECOND | Pull the hour, minute or second number out of a time. | Practise itPro |
| TIMEVALUE | Converts a time written as text into a real time value. | Practise itPro |
Finance
| Function | What it does | Practice |
|---|---|---|
| PMT | Works out the fixed periodic payment on a loan, given the amount, rate and number of periods. | Practise itPro |
| PV | Returns what a series of future payments, or a future lump sum, is worth now. | Practise itPro |
| FV | Returns what regular deposits, plus any starting balance, will grow to. | Practise itPro |
| RATE | Works out the interest rate implied by a payment, a term and an amount. | Practise itPro |
| CUMIPMT, CUMPRINC | Total the interest, or the capital, paid between any two payment numbers of a loan. | Practise itPro |
| DB | Returns the depreciation of an asset for one period, using the fixed-declining-balance method. | Practise itPro |
Dynamic arrays
| Function | What it does | Practice |
|---|---|---|
| FILTER | Returns every row of a range that meets your condition, as a live result that resizes itself. | Practise itPro |
| UNIQUE | Returns the distinct values from a range, with duplicates removed. | Practise itPro |
| TEXTSPLIT | Splits text on a delimiter and spills the pieces across columns or down rows. | Practise itPro |
| SORT | Returns a range in sorted order, as a live result that re-sorts itself. | Practise itPro |
| TEXTBEFORE, TEXTAFTER | Return the part of a text value before or after a delimiter you name. | Practise itPro |
| LET | Defines names inside a formula so you can reuse a calculation instead of repeating it. | Practise itPro |
Where to start
If you are not sure, start at the beginning. The first four tracks are free and run from adding up a column to cleaning up text somebody else exported.
Start the first trackQuestions people ask first
- Is it really free?
- The first four tracks are free to solve, and every function reference page and every article is free to read. The rest of the exercises, the daily challenge and the AI assistant are part of Pro.
- Do I need Excel installed?
- No. Everything runs in the browser on our own formula engine, so it works on any machine, including a work laptop you are not allowed to install software on.
- Do I need an account?
- Not to practise. An account is what saves your progress across devices and puts your solves on the leaderboard, but you can open the first exercise and start typing without one.
- Does it work for Google Sheets?
- Mostly. The functions drilled here — SUM, IF, VLOOKUP, INDEX/MATCH, SUMIFS, FILTER and the rest — take the same arguments in Sheets. The exceptions are the newest Excel-only additions, and the reference pages say so where it matters.
- How long does one exercise take?
- About five minutes. They are deliberately small: one idea, one grid, one formula that either works or tells you why it does not.