Build a Sales Commission Calculator in Excel
By ExcelReady TeamUpdated 7 min read
The short answer
To build a commission calculator in Excel, put each rep's sales in a column and the rate in a cell, then multiply. For tiered rates, either use IFS with the highest tier first, or list the tiers in a sorted table and use VLOOKUP with TRUE to find each rate. Multiply sales by the rate, and use MIN to apply any cap.
Key takeaways
- Flat commission is one multiplication: =B2*$F$1, with the rate locked in its own cell.
- IFS works for a few tiers; check the highest threshold first so every rep lands in the right tier.
- A tier table with VLOOKUP(…,TRUE) is easier to update: change a rate in one cell, not in every formula.
- Tiered plans differ: some pay the tier rate on all sales, others pay each band at its own rate. Check which yours is.
- Test the boundaries: a rep on exactly 60,000 should get the rate your plan says, not the one below it.
On this page+
A commission calculator in Excel multiplies each rep's sales by a rate. The work is in finding the right rate when the plan has tiers, and IFS or VLOOKUP with approximate match does that for you. This guide builds a calculator for five reps with a flat rate, a tiered rate, a band-by-band version, and a cap. It is useful for sales operations, finance and HR roles, and for interview tasks that test IF logic.
How commission plans are usually structured#
Commission plans vary by company, so check the written plan before you build anything. Most use one of these patterns:
| Plan type | How it pays | Excel approach |
|---|---|---|
| Flat rate | One rate on all sales | Multiply by a locked rate cell |
| Tiered (whole amount) | The rate for the tier you reach applies to all your sales | IFS or VLOOKUP with TRUE |
| Tiered (by band) | Each slice of sales is paid at its own band's rate | MIN and MAX per band |
| Quota-based | Pay depends on how much of a target you hit | Divide sales by quota, then a tier lookup |
This guide uses one set of sample data for every version:
| A | B | |
|---|---|---|
| 1 | Rep | Sales |
| 2 | Ana | 125,000 |
| 3 | Ben | 72,000 |
| 4 | Chloe | 45,500 |
| 5 | Dev | 28,000 |
| 6 | Ema | 60,000 |
Flat-rate commission#
A flat rate is one multiplication. Put the rate in its own cell, such as F1 (5%), and in C2:
=B2*$F$1The $ signs lock F1, so every row uses the same rate when you fill down. Ana earns 125,000 × 5% = 6,250. If the rate changes next quarter, you edit one cell.
Tiered commission with IFS#
In a tiered plan, the rate rises as sales grow. Here is the plan used in the rest of this guide:
| Sales | Rate |
|---|---|
| 100,000 or more | 8% |
| 60,000 or more | 5% |
| 30,000 or more | 3% |
| Under 30,000 | 0% |
IFS checks each test in order and returns the value for the first one that is TRUE. In C2:
=IFS(B2>=100000,8%,B2>=60000,5%,B2>=30000,3%,TRUE,0)Check the highest tier first. If B2>=30000 came first, Ana's 125,000 would pass it and get 3%. The final TRUE,0 catches everything under 30,000, because IFS has no "otherwise" result of its own. IFS needs Excel 2019 or later; in older versions, use nested IF. The guides to nested IF and the IFS function explain both, and the IFS function guide has the full syntax.
To get the commission in one formula, multiply the sales by the IFS: =B2*IFS(B2>=100000,8%,B2>=60000,5%,B2>=30000,3%,TRUE,0).
Tiered commission with a VLOOKUP tier table#
A tier table keeps the rates out of the formula, so anyone can update them. List each tier's starting amount, smallest first, in E2:F5:
| E | F | |
|---|---|---|
| 1 | From | Rate |
| 2 | 0 | 0% |
| 3 | 30,000 | 3% |
| 4 | 60,000 | 5% |
| 5 | 100,000 | 8% |
Then in C2:
=B2*VLOOKUP(B2,$E$2:$F$5,2,TRUE)With TRUE, VLOOKUP does an approximate match: it finds the largest start value that is less than or equal to the sales, and returns that row's rate. Ben's 72,000 lands on the 60,000 row, so his rate is 5%.
| Rep | Sales | Rate | Commission |
|---|---|---|---|
| Ana | 125,000 | 8% | 10,000 |
| Ben | 72,000 | 5% | 3,600 |
| Chloe | 45,500 | 3% | 1,365 |
| Dev | 28,000 | 0% | 0 |
| Ema | 60,000 | 5% | 3,000 |
Ema shows why boundaries matter: exactly 60,000 gets 5%, because the 60,000 tier starts there. The table must be sorted from smallest to largest, and its first row must start at 0, or low sales return #N/A. More detail is in VLOOKUP approximate match for tiers and bands and the VLOOKUP function guide.
Band-by-band commission#
Some plans pay each slice of sales at its own rate, like income tax bands. Ana's 125,000 is then paid 0% on the first 30,000, 3% on the next 30,000, 5% on the next 40,000 and 8% on the last 25,000:
| Band | Ana's sales in band | Rate | Commission |
|---|---|---|---|
| 0 – 30,000 | 30,000 | 0% | 0 |
| 30,000 – 60,000 | 30,000 | 3% | 900 |
| 60,000 – 100,000 | 40,000 | 5% | 2,000 |
| Over 100,000 | 25,000 | 8% | 2,000 |
| Total | 4,900 |
One formula does the same. Each part takes the sales that fall inside one band, using MIN to cut off the top and MAX to stop negative numbers:
=MAX(0,MIN(B2,60000)-30000)*3%+MAX(0,MIN(B2,100000)-60000)*5%+MAX(0,B2-100000)*8%Ben gets 1,500 this way, compared with 3,600 under the whole-amount plan. That gap is why you must know which kind of plan you are building.
Quotas, caps and rounding#
Quota attainment. If each rep has a target in column C, =B2/C2 gives the share of quota reached. Format it as a percentage, then look the attainment up in a tier table, just like sales.
Caps. Many plans limit commission per period. If the cap is in F8, wrap the formula in MIN:
=MIN(B2*VLOOKUP(B2,$E$2:$F$5,2,TRUE),$F$8)MIN returns the smaller of the two, so no one is paid above the cap.
Rounding. Rates such as 3.5% can produce fractions of a cent. Round the final amount with =ROUND(…,2) so payroll receives exact cents.
Common commission calculator mistakes#
- Tiers checked lowest first in IFS, so everyone gets the lowest rate.
- An unsorted tier table with approximate match, which returns wrong rates without any error.
- Typing 8 instead of 8%. 8 multiplies the sales by eight; 8% (or 0.08) is the rate.
- Using > instead of >= at a boundary, so a rep on exactly 60,000 drops a tier.
- Hard-coding rates in many formulas, so a rate change means editing every row.
The same tier logic powers a KPI summary sheet, and the next project, hours worked and overtime, uses IF to pay a higher rate above a threshold.
Practise it#
Do the exercise on this page to calculate a commission with a VLOOKUP tier table. Then practise nested IF and IFS, which ends with a commission task, and practise VLOOKUP approximate match on a tier table in a live spreadsheet.
Try it yourself
This is a live spreadsheet. Type the formula in the green cell and press Enter.
The tier table in E1:F5 lists where each tier starts and its rate, sorted smallest first. In C3, work out Ben's commission: his sales in B3 times the rate from VLOOKUP with approximate match (TRUE). Lock the table as $E$2:$F$5.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Commission | Rate | |||||
| 2 | |||||||
| 3 | |||||||
| 4 | |||||||
| 5 | |||||||
| 6 | |||||||
| 7 | |||||||
| 8 | |||||||
| 9 |
Tip: VLOOKUP(B3,$E$2:$F$5,2,TRUE) finds the largest start value that is not more than 72,000 (60,000) and returns its rate, 5%. Multiply that by B3.
Practise this in a lesson
Frequently asked questions
How do I calculate commission in Excel?
Multiply the sales amount by the commission rate: =B2*$F$1 if the rate is in F1. For tiered rates, find the rate first with IFS or VLOOKUP approximate match, then multiply.
Should I use IFS or VLOOKUP for commission tiers?
IFS is fine for two to four tiers that rarely change. A tier table with VLOOKUP and TRUE is better when there are many tiers or the rates change, because you edit the table instead of every formula.
Why does my VLOOKUP commission rate come out wrong?
Approximate match needs the first column of the tier table sorted from smallest to largest. If it isn't sorted, or the first tier doesn't start at 0, VLOOKUP can return the wrong rate or #N/A.
How do I cap commission at a maximum amount?
Wrap the commission in MIN with the cap: =MIN(B2*rate,$F$8). MIN returns whichever is smaller, so no rep is paid more than the cap.