MAXIFS 函数¶
1. 函数概述¶
在日常数据分析中,我们经常会遇到这样的需求:在满足某些条件的记录里,找出某个数值字段的最大值。例如:
- 在“华东”区域里,找出最高销售额
- 在“产品=A 且 月份=1月”的订单里,找出最高成交价
- 在“状态=已完成”的任务里,找出最大工时
这类问题如果用 MAX + 筛选 或 数组公式能做,但写法不够直观。MAXIFS 则是 Excel 为此专门提供的函数:对一组数值进行按条件筛选后取最大值,语义清晰、公式可读性强,尤其适合多条件统计。
说明:
MAXIFS属于条件聚合函数家族,与SUMIFS、AVERAGEIFS等类似,核心思路都是“先按条件筛,再聚合”。
2. 基础语法¶
3. 参数说明¶
| 参数 | 是否必填 | 含义 | 常见写法示例 |
|---|---|---|---|
max_range |
必填 | 要取最大值的数值范围(被统计的数值列) | D2:D100(销售额列) |
criteria_range1 |
必填 | 第 1 个条件的判定范围(与条件对应的字段列) | B2:B100(区域列) |
criteria1 |
必填 | 第 1 个条件(匹配规则) | "华东"、">=90"、F2 |
criteria_range2, criteria2 ... |
选填 | 第 2、3…组条件(成对出现) | C2:C100,"A" |
关键规则:
- 条件范围与数值范围必须一一对应(行数/结构一致)
例如
max_range是D2:D100,那criteria_range也应是某列2:某列100,不要错位。 - 条件是“且”的关系:必须同时满足所有条件 才会纳入最大值计算。
-
条件可以是:
- 文本:
"华东" - 数值比较:
">=100"、"<0" - 引用单元格:
F2 - 通配符(文本匹配):
"A*"、"*北京*"(*表示任意字符,?表示单个字符)
- 文本:
4. 基础用法示范¶
下面用一个常见的销售明细表来演示。假设数据如下:
| 日期 | 区域 | 产品 | 销售额 |
|---|---|---|---|
| 2026-01-01 | 华东 | A | 1200 |
| 2026-01-02 | 华东 | B | 900 |
| 2026-01-03 | 华北 | A | 1500 |
| 2026-01-04 | 华东 | A | 1800 |
数据区域假设为:
- 日期:
A2:A100 - 区域:
B2:B100 - 产品:
C2:C100 - 销售额:
D2:D100
示例 1:单条件求最大值¶
含义:在区域列为“华东”的记录中,取销售额列的最大值。
示例 2:多条件求最大值¶
含义:同时满足“区域=华东 且 产品=A”的行,销售额取最大值。
示例 3:条件引用单元格¶
如果你希望把条件写在单元格中,例如:
F2填区域(如“华东”)G2填产品(如“A”)
这样用户只要改 F2/G2,结果自动更新,适合做报表参数区。
示例 4:数值条件¶
找出“销售额≥1000”的最大销售额(其实就是该范围最大值,但用于演示条件)
这里的含义是:在销售额列中,筛选出 ≥1000 的值,再从中取最大值。
示例 5:日期区间条件¶
要求:求 2026 年 1 月内最高销售额
假设日期在 A2:A100,要筛选 >=2026-01-01 且 <=2026-01-31:
要点:当条件是“比较符 + 日期/数值”组合时,常用 ">="&DATE(...) 这种拼接写法。
示例 6:通配符文本匹配¶
如果产品列里是 A01、A02、B01 这种编码,要求“产品名称以 A 开头”的最高销售额:
A* 表示以 A 开头的任意文本。
5. 总结¶
MAXIFS 的价值在于:用非常直观的方式完成“按条件求最大值”的统计。你只需要记住三件事:
max_range:要取最大值的数值列criteria_range, criteria:条件列与条件(成对出现,可多对)- 多条件默认是“且”的关系:必须同时满足
当你的报表里需要频繁做“某区域/某产品/某时间段的最高值”等分析时,MAXIFS 往往比手工筛选、数组公式或复杂写法更清晰、更稳定,也更方便维护。