有时,而不是只找到所有数据的最大或最大数字;您需要找到子集中的最大数字 - 例如最大的正数或负数。
如果数据量很小,则可以通过手动选择MAX函数的正确范围来轻松完成任务。
在其他情况下,例如大量未分类的数据样本,正确选择范围可能是困难的,如果不是不可能的话。
通过在数组公式中将IF函数与MAX组合,可以很容易地设置条件(例如仅正数或负数),以便仅通过公式测试匹配这些参数的数据。
MAX IF阵列公式细分
本教程中用于查找最大正数的公式为:
= MAX(IF(A1:B5> 0,A1:B5))
注意:省略IF函数的value_if_false参数(可选),以缩短公式。如果所选范围内的数据不符合设定标准 - 大于零的数字 - 公式将返回零 ( 0 )
公式的每个部分的工作是:
- IF函数对数据进行过滤,以便只将符合所选标准的数字传递给MAX函数
- MAX函数查找过滤数据的最高值
- 数组公式 - 由花括号表示 { } 围绕公式 - 允许IF函数的逻辑测试参数搜索匹配的整个数据范围 - 例如大于零的数字 - 而不仅仅是单个数据单元
CSE公式
通过按下创建数组公式 按Ctrl, 转移,和 输入 输入公式后,键盘上的键同时显示。
结果是整个公式 - 包括等号 - 被花括号包围。一个例子是:
{= MAX(IF(A1:B5> 0,A1:B5))}
由于按下按键来创建数组公式,它们有时被称为 CSE 公式。
Excel的MAX IF数组公式示例
如上图所示,本教程示例使用MAX IF数组公式查找一系列数字中的最大正值和负值。
下面的步骤首先创建公式,以找到最大的正数,然后找到找到最大负数所需的步骤。
输入教程数据
- 将上图中显示的数字输入工作表的单元格A1到B5
- 在单元格A6和A7中键入标签 最大积极 和 最大负面
输入MAX IF嵌套公式
由于我们正在创建嵌套公式和数组公式,因此我们需要将整个公式键入单个工作表单元格。
输入公式后 不要 按下 输入 键盘上的键或使用鼠标单击不同的单元格,因为我们需要将公式转换为数组公式。
创建数组公式
- 按住 按Ctrl 和 转移 键盘上的键
- 按下 输入 键盘上的键创建数组公式
- 答案 45 应出现在单元格B6中,因为这是列表中最大的正数
- 如果单击单元格B6,则为完整的数组公式
{= MAX(IF(A1:B5> 0,A1:B5))}
可以在工作表上方的公式栏中看到
找到最大的负数
找到最大负数的公式与第一个公式的公式仅在IF函数的逻辑测试参数中使用的比较运算符不同。
由于目标是现在找到最大的负数,第二个公式使用小于运算符( < ),而不是大于运算符( > ),仅测试小于零的数据。
获得#VALUE!一个答案
如果单元格B6和B7显示#VALUE!错误值而不是上面指出的答案,可能是因为未正确创建数组公式。
要解决此问题,请单击公式栏中的公式,然后按 按Ctrl, 转移 和 输入 再次键盘上的键。