Table of contents
本教程通过许多公式实例解释了MAX函数,展示了如何在Excel中找到最高值并突出显示工作表中的最大数字。
MAX是最直接和最容易使用的Excel函数之一。 然而,它确实有一些技巧,知道这些技巧会给你带来很大的好处。 比如,你如何在有条件的情况下使用MAX函数? 或者你如何提取绝对最大值? 本教程为这些和其他相关任务提供了不止一个解决方案。
Excel的MAX函数
Excel中的MAX函数返回你指定的一组数据中的最高值。
语法如下。
MAX(number1, [number2], ...)在哪里? 数 可以用一个数字值、数组、命名的范围、对包含数字的单元格或范围的引用来表示。
编号1 是必需的。 编号2 和后续参数是可选的。
MAX功能在Office 365、Excel 2019、Excel 2016、Excel 2013、Excel 2010、Excel 2007和更低版本的Excel中都有。
如何在Excel中制作一个MAX公式
要创建一个最简单的MAX公式,你可以直接在参数列表中输入数字,像这样。
=MAX(1, 2, 3)
在实践中,数字被 "硬编码 "的情况相当罕见。 在大多数情况下,你将处理范围和单元格。
建立一个能找到某个范围内最高值的Max公式的最快方法是这样的。
- 在一个单元格中,输入 =MAX(
- 用鼠标选择一个数字范围。
- 键入结尾的小括号。
- 按回车键来完成你的公式。
例如,要算出A1:A6范围内的最大值,公式如下。
=MAX(A1:A6)
如果你的数字是在一个 毗连的 下面是方法。
- 选择带有你的数字的单元格。
- 关于 首页 选项卡,在 格式 组,点击 自动求和 并挑选 最大 从下拉列表中选择。 自动求和 > 最大 关于 公式 中的选项卡。 功能库组。 )
这将在所选范围下面的单元格中插入一个随时可用的公式,所以请确保在你所选的数字列表下面至少有一个空白单元格。
关于MAX功能需要了解的5件事
要成功使用Max公式,请记住这些简单的事实。
- 在当前版本的Excel中,一个MAX公式最多可以接受255个参数。
- 如果参数不包含一个数字,MAX函数返回0。
- 如果参数包含一个或多个错误值,将返回一个错误。
- 空的单元格会被忽略。
- 在参数列表中直接提供的数字的逻辑值和文本表示被处理(TRUE评价为1,FALSE评价为0)。 在引用中,逻辑和文本值被忽略。
如何在Excel中使用MAX函数--公式实例
下面你将看到Excel MAX函数的几个典型用途。 在许多情况下,同一任务有几个不同的解决方案,所以我鼓励你测试所有的公式,以选择最适合你的数据类型。
如何在一个组中找到最大值
要提取一组数字中最大的数字,将该组数字作为一个范围参考提供给MAX函数。 一个范围可以包含你想要的行和列。 例如,要获得C2:E7范围内的最高值,使用这个简单的公式。
=MAX(C2:E7)
查找非相邻单元格或范围内的最高值
要为不相邻的单元格和范围制作MAX公式,你需要包括对每个单独单元格和/或范围的引用。 下面的步骤将帮助你快速无误地完成这一工作。
- 开始在一个单元格中输入一个Max公式。
- 在你打完开头的小括号后,按住Ctrl键,选择工作表中的单元格和范围。
- 选择最后一项后,松开Ctrl键,输入结束括号。
- 按回车键。
Excel会自动使用适当的语法,你会得到一个类似于这样的公式。
=max(c5:e5, c9:e9)
如下面的截图所示,该公式返回第5行和第9行的最大小计值。
如何在Excel中获得最大(最新)日期
在Excel内部系统中,日期只不过是序列号而已,所以MAX函数处理起来毫无障碍。
例如,为了找到C2:C7中的最新交货日期,做一个通常的Max公式,你会用在数字上。
=MAX(C2:C7)
Excel中带条件的MAX函数
当你希望根据条件获得最大值时,有几个公式供你选择。 为了确保所有公式返回相同的结果,我们将在同一组数据上测试它们。
任务 :利用B2:B15中列出的物品和C2:C15中的销售数字,我们的目标是找到F1中输入的特定物品的最高销售额(请见本节末尾的截图)。
Excel MAX IF公式
如果你想找一个能在Excel 2000到Excel 2019所有版本中使用的公式,可以使用IF函数来测试条件,然后将得到的数组传递给MAX函数。
=max(if(b2:b15=f1, c2:c15))
为了使公式发挥作用,必须同时按下Ctrl + Shift + Enter键,将其作为一个数组公式输入。 如果所有操作正确,Excel将用{大括号}包围你的公式,这是一个数组公式的视觉指示。
也可以在一个公式中评估几个条件,下面的教程展示了如何评估:带多个条件的MAX IF。
非数组MAX IF公式
如果你不喜欢在你的工作表中使用数组公式,那么可以将MAX与SUMPRODUCT函数结合起来,后者可以原生处理数组。
=sumproduct(max((b2:b15=f1)*(c2:c15))
更多信息,请参见MAX IF无阵列。
MAXIFS功能
在Excel 2019和Excel for Office 365中,有一个名为MAXIFS的特殊函数,其目的是在多达126个条件下找到最高值。
在我们的案例中,只有一个条件,所以公式就很简单。
=maxifs(c2:c15, b2:b15, f1)
关于语法的详细解释,请参见Excel MAXIFS与公式实例。
下面的截图显示了所有3个公式的运行情况。
获取最大值,忽略零
事实上,这是上一个例子中讨论的条件性MAX的变种。 要排除0,使用 "不等于 "逻辑运算符,将表达式 "0 "放在MAXIFS的条件或MAX IF的逻辑测试中。
正如你所理解的,测试这个条件只有在以下情况下才有意义 负数 对于正数,这种检查是多余的,因为任何正数都大于零。
为了试一试,让我们找出C2:C7范围内的最低折扣。 由于所有的折扣都用负数表示,最小的折扣实际上是最大的值。
最大IF
请确保按Ctrl + Shift + Enter键,正确完成这个数组公式。
=max(if(c2:c70, c2:c7))
MAXIFS
这是一个常规的公式,通常的回车键就可以了。
=MAXIFS(C2:C7,C2:C7,"0")
寻找最高值,忽略误差
当你在处理由各种公式驱动的大量数据时,有可能你的一些公式会导致错误,这将导致MAX公式也返回错误。
作为一种变通方法,你可以将MAX IF与ISERROR一起使用。 鉴于你在A1:B5范围内搜索,公式是这样的。
=max(if(iserror(a1:b5)), "", a1:b5))
为了简化公式,使用IFERROR函数而不是IF ISERROR组合。 这也会使逻辑更明显一些--如果A1:B5中有错误,用空字符串('')替换,然后得到范围内的最大值。
=max(iferror(a1:b5, ""))
一个问题是,你需要记住按Ctrl + Shift + Enter,因为这只能作为一个数组公式工作。
在Excel 2019和Excel for Office 356中,只要你的数据集至少包含一个正数或零值,MAXIFS函数就可以成为一种解决方案。
=MAXIFS(A1:B5,A1:B5,">=0")
由于该公式在 "大于或等于0 "的条件下搜索最高值,所以它对一个完全由负数组成的数据集不起作用。
所有这些限制都是不好的,我们显然需要一个更好的解决方案。 AGGREGATE函数,可以进行一系列的操作,并忽略错误值,非常合适。
=aggregate(4, 6, a1:b5)
第一个参数中的数字4表示MAX函数,第二个参数中的数字6是 "忽略错误 "选项,A1:B5是你的目标范围。
在完美的情况下,这三个公式都会返回相同的结果。
如何在Excel中找到绝对最大值
在处理正数和负数的范围时,有时你可能希望找到最大的绝对值,而不管符号是什么。
我想到的第一个想法是通过使用ABS函数获得范围内所有数字的绝对值,并将其送入MAX。
{=MAX(ABS( 范围 ))}这是一个数组公式,所以别忘了用Ctrl + Shift + Enter快捷键确认。 另一个注意事项是,它只适用于数字,在非数字数据的情况下会产生错误。
对这个公式不满意? 那就让我们建立一些更可行的东西吧 :)
如果我们找到最小值,反转或忽略它的符号,然后与所有其他数字一起评估呢? 是的,这将作为一个正常的公式完美地工作。 作为额外的奖励,它可以很好地处理文本输入和错误。
在A1:B5的源号码下,公式如下。
阵列 公式(用Ctrl + Shift + Enter完成)。
=max(abs(a1:b5))
常规 公式(用回车键完成)。
=max(max(a1:b5), -min(a1:b5))
或
=max(max(a1:b5), abs(min(a1:b5))
下面的屏幕截图显示了结果。
返回保留符号的最大绝对值
在某些情况下,你可能需要找到最大的绝对值,但返回带有原始符号的数字,而不是绝对值。
假设数字在A1:B5单元格中,下面是要使用的公式。
=IF(ABS(MAX(A1:B5))>ABS(MIN(A1:B5)), MAX(A1:B5), MIN(A1:B5)
乍一看很复杂,其实逻辑很容易理解。 首先,你找到范围内最大和最小的数字,比较它们的绝对值。 如果绝对最大值大于绝对最小值,则返回最大值,否则--最小值。 因为这个公式返回的是原始值而不是绝对值,它保留了符号信息。
如何在Excel中突出显示最大值
当你想确定原始数据集中最大的数字时,最快的方法是用Excel条件格式化来突出它。 下面的例子将引导你了解两种不同的情况。
突出显示一个范围内的最高数字
微软Excel有一个预定义的规则来格式化排名靠前的数值,这非常符合我们的需要。 下面是应用它的步骤。
- 选择你的数字范围(在我们的例子中是C2:C7)。
- 关于 首页 选项卡,在 风格 组,点击 条件性格式化> 新规则 .
- 在 新的格式化规则 对话框,选择 只格式化排名靠前或靠后的数值 .
- 在下面的窗格中,选择 返回顶部 从下拉列表中选择 "1",并在旁边的方框中输入 "1"(意思是你只想突出一个包含最大值的单元格)。
- 点击 格式 按钮并选择所需的格式。
- 点击两次 "确定",关闭两个窗口。
完成!所选范围内的最高值会自动高亮显示。 如果有多个最高值(重复的),Excel会将它们全部高亮显示。
突出显示每行的最大值
由于没有内置的规则使最高值从每一行中脱颖而出,你将不得不根据MAX公式配置你自己的规则。 下面是方法。
- 选择所有你想强调最大值的行(本例中为C2:C7)。
- 关于 首页 选项卡,在 风格 组,点击 新规则 > 使用一个公式来决定哪些单元格需要格式化 .
- 在 格式化该公式为真的数值 框,输入这个公式。
=c2=max($c2:$e2)
其中C2是最左边的单元格,$C2:$E2是第一行范围。 为了使该规则发挥作用,一定要用$符号锁定范围内的列坐标。
- 点击 格式 按钮并选择你想要的格式。
- 点击两次 "确定"。
提示:以类似的方式,你可以强调 最高值 在 每一列 步骤完全相同,只是你为第一列范围写一个公式并锁定行坐标。 =c2=max(c$2:c$7)
更多信息,请看如何创建一个基于公式的条件格式化规则。
Excel MAX函数不工作
MAX是最直接的Excel函数之一,如果不顾一切地使用它,很可能是以下问题之一。
MAX公式返回零
如果一个正常的MAX公式返回0,即使在指定的范围内有更高的数字,有可能这些数字被格式化为文本。 当你在其他公式驱动的数据上运行MAX函数时,情况更是如此。 你可以通过使用ISNUMBER函数来检查,例如。
=ISNUMBER(A1)
如果上述公式返回FALSE,说明A1中的值不是数字。 意思是,你应该对原始数据进行排查,而不是MAX公式。
MAX公式返回#N/A,#VALUE或其他错误
请仔细检查被引用的单元格。 如果任何被引用的单元格包含一个错误,MAX公式将导致同样的错误。 要绕过这一点,请参阅如何获得忽略所有错误的最大值。
这就是在Excel中寻找最大值的方法。 感谢你的阅读,希望很快在我们的博客上看到你的身影!
可供下载。
Excel MAX样本工作簿