我们都知道,在Excel中获取一个数据区域中的最大值使用的是MAX函数,函数非常的好理解,只有一个参数。

函数公式:

=MAX(数据区域)

excel如何按多条件算出最小值(Excel中单条件或多条件下求最大值)(1)

但是MAX函数只能求一列、一行或者一个区域中的最大值,而且不能做条件判断,如果我们想要实现数据中满足某一条件或多条件下的最大值,我们该怎么办呢?

如下图所示:

左图为不同年级不同考生的部分成绩数据,我们想要在右图求出每个年级的学生最高分数分别是多少,即对分数加了一个条件判断,按“年级”获取最大值。

excel如何按多条件算出最小值(Excel中单条件或多条件下求最大值)(2)

在Office365之前,想要计算每个年级学生的最大值,需要用MAX和IF嵌套的数组公式才能得到结果。

我们在F2单元格输入数组公式:

=MAX(IF(($A$2:$A$10=E2),$C$2:$C$10))

数组公式最后要按CTRL SHIFT 回车键结束公式,下拉填充公式。

公式释义:

=MAX(IF((条件区域=条件),求最大值的区域))

excel如何按多条件算出最小值(Excel中单条件或多条件下求最大值)(3)

上面例子是单条件求最大值,当然了,多条件求最大值也是可以实现的,如下图,我们想得到每个年级不同性别的同学的成绩最大值:

excel如何按多条件算出最小值(Excel中单条件或多条件下求最大值)(4)

我们在H2单元格输入数组公式:

=MAX(IF(($A$2:$A$10=F2)*($C$2:$C$10=G2),$D$2:$D$10))

数组公式最后要按CTRL SHIFT 回车键结束公式,下拉填充公式。

公式释义:

=MAX(IF((条件区域1=条件1)*(条件区域2=条件2),求最大值的区域))

excel如何按多条件算出最小值(Excel中单条件或多条件下求最大值)(5)

如果我们使用Office365或者金山WPS表格的话,直接就可以使用MAXIFS函数来代替MAX IF嵌套数组函数。

在F2单元格输入函数:

=MAXIFS($C$2:$C$10,$A$2:$A$10,E2)

函数释义

=MAXIFS(最大值所在区域,区域1,条件1,区域2,条件2......)

excel如何按多条件算出最小值(Excel中单条件或多条件下求最大值)(6)

,