
{=MAX(IF(rng1=criteria1,IF(rng2=criteria2,values)))}Related formulas
Maximum value
Minimum value
Maximum value if
Minimum if multiple criteria
To get the maximum value in a data set based on more than one criteria (i.e. to get MAX IF), you can use an array formula based on the MAX and IF functions. In the example shown, the formula in I6 is:
{=MAX(IF(color=G6,IF(item=H6,price)))}With a color of "red" and item of "hat" the result is $11.00
Note: This is an array formula and must be entered using Ctrl + Shift + entered
The example shows pricing on items in various regions. The goal is to find the maximum price for a given color and item.
This formula uses two nested IF functions, wrapped inside MAX to return the minimum price with two criteria. Starting with a logical test of the first IF statement, color = G6, the values in the named range color (B6:B14) are checked against the value in cell G6, "red". The result is an array like this:
{TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}
In the logical test for the second IF statement, item = H6, the values in the named range item (C6:C14) are checked against the value in cell H6, "hat". The result is an array like this:
{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE}
The "value if true" for the 2nd IF statement is the named range "prices" (E6:E14), which is an array like this:
{11;8;9;12;9;10;9;8;7}
A price is returned for each item in this range only when the result of the first two arrays above is TRUE for items in corresponding positions. In the example shown, the final array inside of MAX looks like this:
{11;8;9;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}
Note the only prices that "survive" are those in a position where the color is "red" and item is "hat".
The MAX function then returns the highest price, automatically ignoring FALSE values.
You can also use the following array formula, which uses only one IF function together with boolean logic:
{=MAX(IF(((color=G6)*(item=H6))>0,price))}The advantage of this syntax is that it is arguably easier to add additional criteria without adding additional nested IF functions.
The MAXIFS function, introduced in Excel 2016, is designed to calculate maximums based on one or more criteria without the need for an array formula. With MAXIFS, the formula in I6 is:
=MAXIFS(price,color,G6,item,H6)

{=MAX(IF(rng1=criteria1,IF(rng2=criteria2,values)))}Related formulas
Maximum value
Minimum value
Maximum value if
Minimum if multiple criteria
To get the maximum value in a data set based on more than one criteria (i.e. to get MAX IF), you can use an array formula based on the MAX and IF functions. In the example shown, the formula in I6 is:
{=MAX(IF(color=G6,IF(item=H6,price)))}With a color of "red" and item of "hat" the result is $11.00
Note: This is an array formula and must be entered using Ctrl + Shift + entered
The example shows pricing on items in various regions. The goal is to find the maximum price for a given color and item.
This formula uses two nested IF functions, wrapped inside MAX to return the minimum price with two criteria. Starting with a logical test of the first IF statement, color = G6, the values in the named range color (B6:B14) are checked against the value in cell G6, "red". The result is an array like this:
{TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}
In the logical test for the second IF statement, item = H6, the values in the named range item (C6:C14) are checked against the value in cell H6, "hat". The result is an array like this:
{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE}
The "value if true" for the 2nd IF statement is the named range "prices" (E6:E14), which is an array like this:
{11;8;9;12;9;10;9;8;7}
A price is returned for each item in this range only when the result of the first two arrays above is TRUE for items in corresponding positions. In the example shown, the final array inside of MAX looks like this:
{11;8;9;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}
Note the only prices that "survive" are those in a position where the color is "red" and item is "hat".
The MAX function then returns the highest price, automatically ignoring FALSE values.
You can also use the following array formula, which uses only one IF function together with boolean logic:
{=MAX(IF(((color=G6)*(item=H6))>0,price))}The advantage of this syntax is that it is arguably easier to add additional criteria without adding additional nested IF functions.
The MAXIFS function, introduced in Excel 2016, is designed to calculate maximums based on one or more criteria without the need for an array formula. With MAXIFS, the formula in I6 is:
=MAXIFS(price,color,G6,item,H6)