Cellwise Start free

Excel guide · 4 min read

How to calculate quota attainment in Excel

Quick answerQuota attainment = closed-won revenue in the period / quota. In Excel: =SUMIFS(E2:E14,B2:B14,"Maya",D2:D14,"Won",C2:C14,">="&N2,C2:C14,"<="&N3)/XLOOKUP("Maya",G2:G5,H2:H5). Maya has closed $20,300 against a $60,000 quarterly quota: 33.8%.

Sample data

Every result on this page was calculated from this sheet by the same spreadsheet engine the Cellwise app uses.

ABCDEFGHIJKL
1DealRepClose dateStageAmountRepQ4 quotaRamp %Closed wonAttainment
2D-401MayaSep 29, 2026Won9200Maya600001203000.33833333333
3D-402MayaOct 6, 2026Won12400Luis500001140000.28
4D-403LuisOct 9, 2026Won8600Priya550001336000.61090909091
5D-404PriyaOct 14, 2026Lost15000Sam550000.5191000.69454545455
6D-405PriyaOct 17, 2026Won18300
7D-406MayaOct 22, 2026Won7900
8D-407SamOct 27, 2026Won14200
9D-408LuisOct 30, 2026Won5400
10D-409PriyaNov 2, 2026Won11700
11D-410MayaNov 3, 2026Lost9800
12D-411SamNov 4, 2026Won4900
13D-412LuisNov 5, 2026Proposal16000
14D-413PriyaNov 5, 2026Won3600

Download this sheet as an Excel practice file (.xlsx)

Step 1: Closed-won revenue per rep for the quarter

Export your deals with the rep, the close date, the stage and the amount. Put the quotas in a small table next to them (G1:I5): one row per rep with the quarterly quota and a ramp % for new reps.

SUMIFS adds the Amount column where the rep matches, the stage is Won and the close date falls in the quarter (N2 to N3). Point at the rep's name cell, not a typed name, so one formula fills the table: =SUMIFS($E$2:$E$14,$B$2:$B$14,G2,$D$2:$D$14,"Won",$C$2:$C$14,">="&$N$2,$C$2:$C$14,"<="&$N$3).

Leave out the date conditions and Maya gets credit for a $9,200 deal that closed on September 29, in last quarter. That takes her from 33.8% to 49.2%. Every attainment number needs a date range, and lost or open deals (Luis's $16,000 proposal) never count.

=SUMIFS(E2:E14,B2:B14,"Maya",D2:D14,"Won",C2:C14,">="&N2,C2:C14,"<="&N3)

Result: 20300 shows as $20,300 with Currency format

20300: Maya's closed-won revenue from October 1 to December 31.

Step 2: Divide by the quota with XLOOKUP

XLOOKUP finds each rep's quota in the quota table, so you never retype it. Divide closed-won by it and format as a percentage. Here Maya is at 33.8%, Luis 28.0%, Priya 61.1% and Sam 69.5%. Over 100% means the rep beat quota.

If a rep's name isn't in the quota table, XLOOKUP returns #N/A. Give it a fourth argument, =XLOOKUP(G2,$G$2:$G$5,$H$2:$H$5,"No quota"), so a missing quota shows up as a label rather than an error. A name typed slightly differently in the CRM ("Priya S." vs "Priya") is the usual cause.

=J2/XLOOKUP(G2,G2:G5,H2:H5)

Result: 0.33833333333 shows as 33.8% with Percent format

About 0.338: Maya has reached 33.8% of her $60,000 quota.

Ramped quotas for new reps

A rep in their first months usually carries a reduced quota while they build a pipeline. Keep the full quota in one column and the ramp in another (Sam is at 50% this quarter), then divide by quota x ramp: =J5/(H5*I5).

Sam's $19,100 is 69.5% of his ramped $27,500, but only 34.7% of the full $55,000. Both numbers are true; the ramped one is fair to Sam and the full one shows how far he still has to grow. Label which one your report shows. The ramp % is your company's own plan, so it lives in an input cell, not in the formula.

=J5/(H5*I5)

Result: 0.69454545455 shows as 69.5% with Percent format

About 0.695: Sam's attainment against his 50% ramped quota.

Team attainment: pooled, not averaged

There are two ways to get one number for the team, and they disagree. Pooled attainment adds all closed-won and divides by all quota: $87,000 / $192,500 = 45.2%. The average of the four rates is 48.1%.

The average treats Sam's ramped $27,500 quota the same as Maya's $60,000, so his high rate pulls the team up. Pooled attainment answers "how much of the number did the team close?", which is what a manager is asked. SUMPRODUCT(H2:H5,I2:I5) gives the total ramped quota; against the full $220,000 the team is at 39.5%.

=SUM(J2:J5)/SUMPRODUCT(H2:H5,I2:I5)

Result: 0.45194805195 shows as 45.2% with Percent format

About 0.452: the team has closed 45.2% of its total ramped quota.

Pacing: are reps on track for the quarter?

33.8% in early November could be fine or worrying. Compare attainment with the share of the quarter gone: (as-of date - start + 1) / (end - start + 1). On November 6 (N4), 37 of 92 days have passed: 40.2%.

Divide attainment by that share for a pace index. 1.0 is exactly on pace. Maya is at 0.84, Luis 0.70, Priya 1.52 and Sam 1.73. To see what's left, the gap is quota x ramp - closed-won: Maya needs $39,700 more, about $722 per remaining day over 55 days.

In a live sheet, use TODAY() in place of N4. Remember that many deals close in the last weeks of a quarter, so a straight-line pace runs behind early on. Compare with last quarter's pace on the same date before calling a rep behind.

=K2/((N4-N2+1)/(N3-N2+1))

Result: 0.84126126126

About 0.84: Maya is at 84% of the pace a straight line through the quarter would need.

Common mistakes

No date range on closed-won

Add close date >= quarter start and <= quarter end to SUMIFS, or deals from last quarter get counted.

Averaging the reps' rates for the team

Divide total closed-won by total quota. An average gives small quotas the same weight as large ones.

Hard-coding quotas into the formula

Keep quotas and ramp % in a table and fetch them with XLOOKUP, so a quota change is one cell.

Counting open deals as attainment

Only Won counts. Show weighted pipeline next to attainment if you want a forecast, but keep the two apart.

FAQ

What is the formula for quota attainment?

Closed-won revenue in the period / quota for the period. In Excel: =SUMIFS(amount,rep,name,stage,"Won",date,">="&start,date,"<="&end)/quota.

How do I calculate quota attainment for the whole team?

=SUM(closed_won)/SUM(quotas). That's pooled attainment, which weights each rep by the size of their quota.

How do I show attainment as a progress bar?

Select the attainment column, then Home > Conditional Formatting > Data Bars > More Rules, and set Maximum to Number with a value of 1 so 100% fills the bar.

Should quota attainment be capped at 100%?

Keep the real number for reporting; 130% is useful to know. Use MIN(1,attainment) only in a progress bar or a chart that needs a fixed scale.

Functions used

Related guides

Updated