Volume / Quantity Discount Pricing

Excel Formulas › Business

All versionsVLOOKUP

Buy more, pay less per unit. A quantity-break table plus an approximate-match VLOOKUP finds the right unit price (or discount) for any order size — the bigger the order, the better the rate.


Quick formula: with a break table in E2:F5 (min qty, unit price) sorted ascending, order qty in B2:
=B2 * VLOOKUP(B2, $E$2:$F$5, 2, TRUE)
Approximate match finds the highest quantity break the order reaches, returning that tier’s unit price; multiply by quantity.

Functions used (tap for the full reference guide):

The example

An order of 60 units hits the “50+” price of $8.

ABC
1Min qtyUnit price
21$10
320$9
450$8
560 units → total$480

The formula

Find the unit price for the order size:

=B2 * VLOOKUP(B2, $E$2:$F$5, 2, TRUE) // 60 units → $8 each → $480

How it works

Approximate-match VLOOKUP reads the price break:

  1. Build a break table: the minimum quantity for each price in the left column (1, 20, 50…), sorted ascending, with the unit price beside it.
  2. VLOOKUP(qty, table, 2, TRUE) finds the largest break the order meets and returns that unit price.
  3. Multiply by the order quantity for the line total.
  4. Prefer a discount percent? Put the discount in the table instead and compute =qty * listPrice * (1 - discount).

Show the savings: compare against the list (tier-1) price — =qty*listPrice - qty*tierPrice tells the customer how much the volume break saved them, a nice line on the quote.

Try it: interactive demo

Live demo

Enter an order quantity.

Unit price · Total

Variations

Discount percent table

Store discounts, not prices:

=B2 * list * (1 - VLOOKUP(B2, $E$2:$F$5, 2, TRUE))

Show the savings

Versus list price:

=B2*list - B2*tierPrice

Free shipping over N

Threshold perk:

=IF(B2>=100, 0, shipFee)

Pitfalls & errors

Sort breaks ascending. Approximate match needs the min-quantity column low-to-high, or it returns the wrong tier.

First row must start at the minimum. Begin the table at quantity 1 (or 0) so small orders still match a price instead of erroring.

Whole-order pricing. This charges one rate for all units. If only units above each break get the discount, you need a bracket-style calc.

Practice workbook

📊
Download the free Volume / Quantity Discount Pricing practice workbook
A volume-pricing sheet with the price-break VLOOKUP, the discount-table, savings, and free-shipping variants, plus 4 challenges with answers. No sign-up required.

Frequently asked questions

How do I apply quantity discounts in Excel?
Build an ascending break table (min qty, unit price) and use =qty * VLOOKUP(qty, table, 2, TRUE). Approximate match picks the price for the highest break the order reaches.
Can I store discount percents instead of prices?
Yes: put the discount in the table and use =qty * listPrice * (1 - VLOOKUP(qty, table, 2, TRUE)).
Why does a small order return an error?
The table must start at quantity 1 (or 0). If the smallest break is higher than the order, approximate-match VLOOKUP returns #N/A.

Stop fighting formulas. Learn them in a day.

This recipe is one of hundreds of real-world formulas we teach. Our Excel Formulas & Functions class covers lookups, logic, text, and dynamic arrays hands-on — live in Dallas–Fort Worth, Houston, Austin, Oklahoma City, Denver, or online.

See the Formulas & Functions Class

Related formulas: Tiered commission · Invoice total with tax · Tax bracket lookup

Function references: VLOOKUP