Table of contents
本教程展示了如何在Excel中使用MAXIFS函数来获得有条件的最大值。
传统上,当你需要在Excel中寻找有条件的最高值时,你必须建立自己的MAX IF公式。 虽然对有经验的用户来说不是什么大问题,但这可能给新手带来一定的困难,因为,首先,你要记住公式的语法,其次,你需要知道如何处理数组公式。 幸运的是,微软最近推出了一个新的函数,让我们以一种简单的方式来做条件性的最大限度。
Excel的MAXIFS函数
MAXIFS函数根据一个或多个条件返回指定范围内的最大数值。
MAXIFS函数的语法如下。
MAXIFS(max_range, criteria_range1, criteria1, [critical_range2, criteria2], ...)在哪里?
- 最大范围 (必填)--你想找到最大值的单元格范围。
- 标准_范围1 (要求) - 第一个要评估的范围,用 标准1 .
- 标准1 - 在第一个范围内使用的条件。 它可以用数字、文本或表达式表示。
- 标准_范围2 / 标准2 ...(可选)--额外的范围及其相关标准。 最多支持126个范围/标准对。
这个MAXIFS函数在Windows和Mac的Excel 2019、Excel 2021和Excel for Microsoft 365中可用。
作为一个例子,让我们来寻找当地学校中最高的足球运动员。 假设学生的身高在D2:D11单元格(max_range),运动项目在B2:B11单元格(critical_range1),使用 "足球 "一词作为critical1,你会得到这个公式。
=MAXIFS(D2:D11, B2:B11, "足球")
为了使公式的用途更加广泛,你可以在某个单元格(比如说G1)中输入目标运动,并将单元格的引用包含在 标准1 争论。
=maxifs(d2:d11, b2:b11, g1)
注:该 最大范围 和 标准_范围 参数必须具有相同的大小和形状,即包含相同数量的行和列,否则将返回#VALUE!错误。
如何在Excel中使用MAXIFS函数--公式实例
正如你刚才所看到的,Excel的MAXIFS是相当直接和容易使用的。 然而,它确实有一些小的细微差别。 在下面的例子中,我们将尝试充分利用Excel中的条件性最大值。
根据多个标准查找最大值
在本教程的第一部分,我们以最简单的形式创建了一个MAXIFS公式,以获得基于一个条件的最大值。 现在,我们将进一步发挥这个例子,评估两个不同的标准。
假设你想找到初中生中最高的篮球运动员。 要做到这一点,请定义以下论据。
- 最大范围 - 一个包含高度的单元格范围 - D2:D11。
- 标准_范围1 - 一个包含运动的单元格范围 - B2:B11。
- 标准1 - "篮球",它被输入到单元格G1。
- 标准_范围2 - 定义学校类型的单元格范围 - C2:C11。
- 标准2 - "junior",这是在单元格G2中输入的。
把这些论点放在一起,我们得到这些公式。
有了 "硬编码 "标准。
=MAXIFS(D2:D11, B2:B11, "篮球", C2:C11, "初级")
在预定的单元格中设有标准。
=maxifs(d2:d11, b2:b11, g1, c2:c11, g2)
请注意,Excel中的MAXIFS函数是 不区分大小写 因此,你不需要担心你的标准中的字母大小写。
如果你打算在多个单元格上使用你的公式,请确保用绝对的单元格引用锁定所有的范围,像这样。
=maxifs($d$2:$d$11, $b$2:$b$11, g1, $c$2:$c$11, g2)
这将确保公式正确地复制到其他单元格--标准引用根据复制公式的单元格的相对位置改变,而范围保持不变。
作为额外的奖励,我将向你展示一个快速的方法,从另一个单元格中提取一个与最大值相关的值。 在我们的案例中,这将是最高的人的名字。 为此,我们将使用经典的INDEX MATCH公式,在MATCH的第一个参数中嵌套MAXIFS作为查找值。
=index($a$2:$a$11, match(maxifs($d$2:$d$11, $b$2:$b$11, g1, $c$2:$c$11, g2), $d$2:$d$11, 0)
这个公式告诉我们,初中时最高的篮球运动员的名字是利亚姆。
带逻辑运算符的Excel MAXIFS
在你需要评估数字标准的情况下,使用逻辑运算符,如。
- 大于 (>)
- 小于 (<)
- 大于或等于 (>=)
- 小于或等于 (<=)
- 不等于()
在大多数情况下可以省略 "等于 "运算符(=)。
通常情况下,选择一个运算符不是问题,最棘手的部分是用正确的语法建立标准。 下面是方法。
- 逻辑运算符后面的数字或文本必须用双引号括起来,如">=14 "或 "运行"。
- 如果是单元格引用或其他函数,使用引号来开始一个字符串,使用安培号来连接引用并结束字符串,例如">"&B1或"<"&TODAY()。
为了看看它在实践中是如何运作的,让我们把年龄列(C列)添加到我们的样本表中,并找到13至14岁的男孩中的最大身高。 这可以通过以下标准来完成。
Criteria1: ">=13"
标准2:"<=14"
因为我们比较的是同一列中的数字,所以两种情况下的critical_range是一样的(C2:C11)。
=MAXIFS(D2:D11, C2:C11, ">=13", C2:C11, "<=14" )
如果你不想在公式中硬编码标准,可将它们输入不同的单元格(如G1和H1),并使用以下语法。
=MAXIFS(D2:D11, C2:C11, ">="&G1, C2:C11, "<="& H1)
下面的屏幕截图显示了结果。
除了数字之外,逻辑运算符还可以与文本标准一起使用。 特别是,当你希望从计算中排除某些东西时,"不等于 "运算符就会派上用场。 例如,要找到除排球之外的所有运动项目中最高的学生,可以使用以下公式。
=MAXIFS(D2:D11, B2:B11, "volleyball")
或者这个,G1是被排除在外的运动。
=MAXIFS(D2:D11, B2:B11, "" &G1)
带有通配符的MAXIFS公式(部分匹配)。
要评估一个包含特定文本或字符的条件,在你的条件中包括以下通配符之一。
- 问号(?)来匹配任何单一字符。
- 星号(*)用于匹配任何序列的字符。
在这个例子中,让我们找出游戏运动中最高的人。 因为在我们的数据集中,所有游戏运动的名称都以 "球 "字结尾,所以我们把这个词包括在标准中,并使用星号来匹配前面的任何字符。
=MAXIFS(D2:D11, B2:B11, "*ball")
你也可以在某些单元格中输入 "球",例如G1,并将通配符与单元格引用连接起来。
=MAXIFS(D2:D11, B2:B11, "*"&G1)
结果将如下所示。
在一个日期范围内获得最大值
因为在Excel内部系统中,日期是以序列号的形式存储的,你用处理数字的方式来处理日期标准。
为了说明这一点,我们将取代 年龄 柱子上有 出生日期 为了完成这项任务,我们需要 "过滤 "那些大于或等于2004年1月1日和小于或等于2004年12月31日的出生日期。
当建立你的标准时,重要的是你要以Excel能理解的格式提供日期。
=MAXIFS(D2:D11, C2:C11, ">=2004年1月1日", C2:C11, "<=2004年12月31日" )
或
=MAXIFS(D2:D11, C2:C11, ">=1/1/2004", C2:C11, "<=12/31/2004" )
为了防止误解,利用DATE函数是有意义的。
=MAXIFS(D2:D11, C2:C11, ">="&DATE(2004,1,1), C2:C11, "<="& DATE(2004,12,31))
在这个例子中,我们将在G1中输入目标年份,然后使用DATE函数来提供日期。
=MAXIFS(D2:D11, C2:C11, ">="&DATE(G1,1,1), C2:C11, "<="& DATE(G1,12,31)
注意:与数字不同,在标准中单独使用时,日期应该用引号括起来。 例如:。
=maxifs(d2:d11, c2:c11, "10/5/2005")
用OR逻辑在多个标准的基础上寻找最大值
Excel的MAXIFS函数被设计为用AND逻辑测试条件--即它只处理那些在 最大范围 然而,在某些情况下,你可能需要用OR逻辑来评估条件--即处理所有指定条件为TRUE的数字。
为了使事情更容易理解,请考虑下面的例子。 假设你想找到打篮球或踢足球的人的最大身高,你会怎么做? 用 "篮球 "作为标准1,用 "足球 "作为标准2是行不通的,因为Excel会认为这两个标准都应该评估为真。
解决办法是制作2个独立的MAXIFS公式,每个运动项目一个,然后使用好的老式MAX函数来返回一个更高的数字。
=MAX(MAXIFS(C2:C11, B2:B11, "篮球"), MAXIFS(C2:C11, B2:B11, "足球")
下面的截图显示了这个公式,但标准是在预定义的输入单元格,即F1和H1。
另一种方法是使用具有OR逻辑的MAX IF公式。
关于Excel MAXIFS需要记住的7件事
下面你将看到一些有助于改进你的公式和避免常见错误的意见。 其中一些意见已经在我们的例子中作为提示和说明进行了讨论,但对你已经学到的东西进行一个简短的总结可能会有帮助。
- Excel中的MAXIFS函数可以得到基于以下的最高值 一 或 多重标准 .
- 在默认情况下,Excel MAXIFS的工作方式为 和逻辑 ,即返回满足所有指定条件的最大数字。
- 为了使函数发挥作用,最大范围和标准范围必须具有 同样大小 和 形状 .
- SUMIF函数是 不区分大小写 也就是说,它不能识别文本标准中的字母大小写。
- 当为多个单元格编写MAXIFS公式时,记住要 锁定范围 含有绝对的单元格引用的公式才能正确复制。
- 注意 你的标准的语法 以下是主要规则。
- 当单独使用时,文本和日期应该用引号括起来,数字和单元格引用不应该。
- 当数字、日期或文本与逻辑运算符一起使用时,整个表达式必须用双引号括起来,如">=10";单元格引用和其他函数必须用安培号连接起来,如">"&G1。
- MAXIFS仅在Excel 2019和Excel for Office 365中可用。 在早期版本中,此功能不可用。
这就是如何在Excel中用条件找到最大值的方法。 感谢你的阅读,希望很快在我们的博客上见到你
下载实践工作手册。
Excel MAXIFS公式实例(.xlsx文件)。