
Find the highest value that matches one or more conditions. Useful when you need the top result from a filtered group.
MAXIFS returns the highest value from cells that meet one or more conditions. It is the filtered version of MAX, so instead of asking for the top value in the whole list, you ask for the top value in only the rows that match your rules.
This is useful when the overall maximum is not the answer you actually need. In many sheets, you want the highest sale for one region, the best score after a certain date, or the top value for one category and one status together. That is where MAXIFS fits.
Returns the maximum value only from rows that satisfy all criteria.
Returns the highest matching value. If nothing matches, Excel returns 0.
=MAXIFS(max_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
The first argument is always the range that contains the values you want Excel to compare. After that, each condition is written as a pair: one criteria range and one criteria value.
| Function | What it returns | Use it when |
|---|---|---|
MAXIFS |
The highest matching value | You need the top result after applying criteria |
MAX |
The highest overall value | You want the maximum from the full list |
LARGE |
The nth largest value | You need a ranked result like second or third place |
MINIFS |
The lowest matching value | You want the filtered minimum instead of the maximum |
The most important thing to remember is that every condition has to match on the same row. If you ask for the highest value where the department is Sales and the region is North, Excel only looks at rows where both of those checks are true together. A row that matches just one of them is ignored.
Argument order also matters. MAXIFS starts with max_range, not the first criteria range. That is the part many people mix up when they move from simpler functions to the ...IFS family.
Microsoft also notes two practical details. First, max_range and every criteria range must have the same size and shape or the result is #VALUE!. Second, if no rows match the criteria, the result is 0. Microsoft also shows that if a criteria cell is blank, Excel treats that blank criteria as 0.
This is the basic multi-condition pattern. The formula checks the filters first and then returns the highest value from the matching rows.
=MAXIFS(C1:C10,A1:A10,"Sales",B1:B10,"North") // Returns the highest value for Sales in North.
Find the highest salary in C1:C10 where Dept is "Sales" and Region is "North". Formula: =MAXIFS(C1:C10,A1:A10,"Sales",B1:B10,"North").
Here one condition checks the date and another checks the value itself, so the result is both recent and above the threshold.
=MAXIFS(B1:B10,A1:A10,">1/1/2026",B1:B10,">80") // Returns the highest value that meets both rules.
Find the best score in B1:B10 for dates after 1/1/2026 and values greater than 80. Formula: =MAXIFS(B1:B10,A1:A10,">1/1/2026",B1:B10,">80").
This is useful when the text is not exactly the same in every row. The wildcard lets one formula catch several North labels at once.
=MAXIFS(C1:C10,A1:A10,"North*",B1:B10,"Active") // Returns the top active North value.
Find the highest score for regions starting with "North" and status "Active". Formula: =MAXIFS(C1:C10,A1:A10,"North*",B1:B10,"Active").
Putting the filters in cells makes the formula easier to reuse because the report can change without editing the formula itself.
=MAXIFS(C1:C10,A1:A10,D1,B1:B10,D2) // Uses D1 and D2 as the criteria.
Find the highest value matching Dept in D1 and Status in D2. Formula: =MAXIFS(C1:C10,A1:A10,D1,B1:B10,D2).
#VALUE!.0.Tell your friends about this post