Stop Using AVERAGE() Alone — Try This Instead for 'How to Do Average If in Excel'

The first thing most people do when they need an average for only certain rows is type =AVERAGE(A2:A100), then manually hide or filter rows before calculating. That’s dangerous — hidden rows still count. And filtering doesn’t change formulas. You’re not getting the average you think you are.

The Setup

You’re reviewing Q1 sales data from Alibaba’s internal partner program. Eight regional managers submitted monthly figures. Your job: calculate average sales per region — but only for active partners, and only where sales exceeded $25,000.

RegionPartnerSales ($)StatusMonth
North AsiaSarah Chen$45,200ActiveJan-2024
Southeast AsiaRajiv Lim$31,750ActiveFeb-2024
North AsiaYuki Tanaka$19,800InactiveJan-2024
EuropeLena Vogt$52,100ActiveMar-2024
North AmericaMarcus Boone$28,400ActiveFeb-2024
EuropeIvan Petrov$16,900ActiveMar-2024
Southeast AsiaAnya Suri$63,500ActiveJan-2024
North AmericaDiego Mora$22,300InactiveMar-2024
North AsiaHiroshi Watanabe$38,600ActiveFeb-2024

The Challenge

You need the average of Sales (C2:C10) where Status = "Active" AND Sales > $25,000. Not just one condition — two. And it must ignore blank cells, text, or errors in column C. AVERAGEIF won’t cut it. You need AVERAGEIFS. People often try nesting AVERAGE inside IF — that creates array formulas that break unless Ctrl+Shift+Enter is used (and even then, it fails on older Excel versions). Don’t go there.

Walking Through It

Start in cell G2. Type:

=AVERAGEIFS(C2:C10,D2:D10,"Active",C2:C10,">25000")

Press Enter. That’s it. No Ctrl+Shift+Enter. No helper columns. The function reads left to right: average_range, criteria_range1, criteria1, criteria_range2, criteria2.

Here’s what happens step-by-step:

StepWhat Excel ChecksMatches?
1D2 = "Active"? Yes. C2 = $45,200 > $25,000? Yes.✓
2D3 = "Active"? Yes. C3 = $31,750 > $25,000? Yes.✓
3D4 = "Inactive" → fails first condition.✗
4D5 = "Active", C5 = $52,100 → passes both.✓
5D6 = "Active", C6 = $28,400 → passes.✓
6D7 = "Active", C7 = $16,900 → fails second condition.✗
7D8 = "Active", C8 = $63,500 → passes.✓
8D9 = "Inactive" → fails.✗
9D10 = "Active", C10 = $38,600 → passes.✓

That’s 6 matching rows: C2, C3, C5, C6, C8, C10 → values: $45,200, $31,750, $52,100, $28,400, $63,500, $38,600.

Average = $41,591.67.

The Result

RegionPartnerSales ($)StatusMonth
North AsiaSarah Chen$45,200ActiveJan-2024
Southeast AsiaRajiv Lim$31,750ActiveFeb-2024
EuropeLena Vogt$52,100ActiveMar-2024
North AmericaMarcus Boone$28,400ActiveFeb-2024
Southeast AsiaAnya Suri$63,500ActiveJan-2024
North AsiaHiroshi Watanabe$38,600ActiveFeb-2024
Average of above: $41,591.67

What Could Go Wrong

Mistake #1: Using quotes around numbers in criteria. Typing ">25000" works — but typing ">"&25000 is safer if the threshold lives in a cell (e.g., E1). If E1 contains 25000 and you write ">E1", Excel treats it as literal text “>E1”, not the value in E1. Do this instead: ">"&E1.

Mistake #2: Mismatched range sizes. AVERAGEIFS requires all criteria ranges to be the same height/width as the average_range. If you write AVERAGEIFS(C2:C10,D2:D9,...), Excel returns #VALUE!. Always double-check row counts. Use Ctrl+A on one range, then compare with others.

Mistake #3: Forgetting that AVERAGEIFS ignores blanks and text — but not zeros. If column C contains a zero (e.g., $0.00), it’s included in the average. That’s usually wrong. To exclude zeros, add a third pair: C2:C10,">0". So full formula becomes:
=AVERAGEIFS(C2:C10,D2:D10,"Active",C2:C10,">25000",C2:C10,">0")

Bonus tip: Press Alt + M + U + M to open the Function Arguments dialog for any function — including AVERAGEIFS. It shows parameter order, highlights required vs optional fields, and lets you click into ranges without typing.

ShortcutActionWhen to Use
Alt+M+U+MOpen Function ArgumentsWhen building complex AVERAGEIFS with 3+ conditions
F9Evaluate part of formulaSelect C2:C10 in formula bar, press F9 to see actual values
Ctrl+`Toggle formula viewCheck all AVERAGEIFS ranges at once
Ctrl+Shift+EnterLegacy array entryDon’t use — AVERAGEIFS doesn’t need it
Anna Kim

Anna Kim

Anna specializes in tax forms