Excel MAX / MIN 最大值最小值怎么用(含按条件 MAXIFS)
期末考试谁得了全班最高分?上个月哪家门店的销售额最高?这类问题在 Excel 里离不开 MAX 和 MIN。本文讲清基本写法、按条件求极值的 MAXIFS / MINIFS,以及两个常见踩坑点,最后演示如何用超级表「分组汇总」把汇总方式一键切到最大/最小,彻底省去写公式的麻烦。
MAX / MIN 基本用法
MAX 返回一组数字中的最大值,MIN 返回最小值。写法一样,换个函数名即可:
=MAX(B2:B50) — 返回 B2 到 B50 中最大的那个数。
=MIN(B2:B50) — 返回 B2 到 B50 中最小的那个数。
举个实际例子:你有一列「成绩」(C 列,C2:C51 共 50 行),想在 E2 单元格显示全班最高分,在 E3 显示最低分:
=MAX(C2:C51)— 全班最高分=MIN(C2:C51)— 全班最低分
MAX / MIN 也接受多个不连续区域,甚至直接写数字:=MAX(A1:A10, C1:C10, 99),会在这两段区域和数字 99 中取最大。跨工作表也行:=MAX(Sheet2!D:D)。
如果要同时在一个单元格里看到最大和最小,可以配合文本拼接:="最高:"&MAX(C2:C51)&" / 最低:"&MIN(C2:C51)。
按条件求最大/最小:MAXIFS / MINIFS
工作中更常见的需求是按分组取极值:某班最高分、某门店最高销售额、某产品线最低成本……这时就需要 MAXIFS 和 MINIFS,两者语法相同:
=MAXIFS(求值区域, 条件区域1, 条件1, [条件区域2, 条件2, …])
=MINIFS(求值区域, 条件区域1, 条件1, [条件区域2, 条件2, …])
注意参数顺序:求值区域放第一位,这和 SUMIFS、AVERAGEIFS 是一样的规律,统一记忆即可。
举例:销售表里 A 列是「门店」,B 列是「月销售额」,想求「北京店」当月最高单笔销售额,写在 D2:
=MAXIFS(B2:B200, A2:A200, "北京店")
多条件同理:既要「北京店」又要「2026年Q1」(C 列是季度),用两组条件区域+条件:
=MAXIFS(B2:B200, A2:A200, "北京店", C2:C200, "2026Q1")
如果条件写在某个单元格(比如 F2),直接引用就行,不用加引号:=MAXIFS(B2:B200, A2:A200, F2)。条件也支持通配符 * 和 ?,以及比较运算符,例如 ">=10000"。
两个常见易错点
空值和文本会被忽略,但影响你的判断
MAX / MIN 会自动跳过空格和文本,只计算数字。这通常是好事——区域里夹着标题行、说明文字,函数照样给出正确结果。但有时候你的数字列里混着文本格式的数字(看着是 100,其实存的是文字"100"),MAX / MIN 就会跳过它们,得出的结果比你预期的小。
判断方法:选中那个单元格,看左上角有没有绿色小三角,或者用 =ISNUMBER(C2) 检查——返回 FALSE 就说明它是文本。解决办法:选中该列 → 数据 → 分列 → 完成,强制转为数值。
MAXIFS / MINIFS 是 Excel 2019 / Microsoft 365 新增的
如果你用的是 Excel 2016 或更早版本,MAXIFS / MINIFS 不存在,会提示 #NAME?。老版本的替代方案是数组公式:
=MAX(IF(A2:A200="北京店", B2:B200))
写完后不要直接回车,要按 Ctrl + Shift + Enter 确认(公式栏里会出现大括号 { } 包围),这样 Excel 才会把它当作数组运算。如果你用的是 Microsoft 365,已经内置了动态数组,直接 Enter 即可。
更简单:超级表分组汇总选最大/最小,点几下出结果
超级表(TableDI)是一款桌面端高能表格助手,离线运行、本地数据、无需登录。它把「按某个字段分组、对数值列求极值」做成了可视化的分组汇总功能,不用写任何公式。步骤如下:
- 把数据表导入超级表(直接拖入 Excel / CSV 文件)。
- 点击顶部工具栏的「分组汇总」按钮,选择用哪个字段分组(例如「门店」或「班级」)。
- 在汇总列设置里,选择目标数值列(例如「销售额」或「成绩」),把汇总方式从默认的「求和」改成「最大」或「最小」。
- 点击确认,各分组的极值立刻显示在结果表里。想同时看最大值和最小值,再加一行汇总配置即可,一次出多个汇总列。
超级表的分组汇总支持求和、计数、平均、最大、最小,五种方式可以同时添加到同一张分组结果里。源数据更新后,点一下刷新,所有极值同步更新,无需改公式。对于需要在同一份数据里看不同维度极值的场景,效率远高于维护一堆 MAXIFS。
更多按条件汇总的技巧可以参考:SUMIF 按条件求和、AVERAGEIF 求平均。
Excel 公式 vs 超级表分组汇总对照
| 对比项 | Excel MAX / MAXIFS | 超级表分组汇总 |
|---|---|---|
| 单列整体极值 | =MAX(B:B),简单 | 同等简单,点选即得 |
| 按分组求极值 | MAXIFS 要记参数顺序 | 选字段→选汇总方式「最大/最小」 |
| 多维度同时汇总 | 每列写一个公式 | 一次添加多行汇总配置 |
| 老版本兼容 | 需数组公式 Ctrl+Shift+Enter | 无版本限制,桌面端统一体验 |
| 数据更新 | 公式范围固定,要手动扩 | 刷新自动更新 |
| 文本假数字 | 会静默跳过,结果偏低 | 导入时可配合 AI 统一清洗格式 |
常见问题
MAXIFS 是哪个版本的 Excel 才有?
MAXIFS 和 MINIFS 是 Excel 2019 与 Microsoft 365(即订阅版 Office)新增的函数。Excel 2016 及更早版本不支持,输入后会显示 #NAME? 错误。替代方案是数组公式:=MAX(IF(条件区域=条件, 求值区域)),输入完用 Ctrl + Shift + Enter 确认。如果你的同事用老版本,传过去的文件里有 MAXIFS 他们会看到错误,记得提前沟通或用数组公式替代。
怎么求第二大的值?
MAX 只返回第一大。要求第 N 大,用 LARGE 函数:=LARGE(B2:B50, 2) 返回第 2 大,=LARGE(B2:B50, 3) 返回第 3 大,以此类推。对应的第 N 小用 SMALL:=SMALL(B2:B50, 2)。注意 LARGE / SMALL 没有条件版本,如果需要「某组里的第 2 大」,要用数组公式:=LARGE(IF(A2:A50="北京店", B2:B50), 2),同样 Ctrl + Shift + Enter 确认。
能在同一个单元格同时出最大值和最小值吗?
一个单元格只能返回一个值,但可以用文本拼接让它看起来像两个数展示在一起:="最高 "&MAX(B2:B50)&" / 最低 "&MIN(B2:B50)。不过这样得到的是文本,无法参与后续计算。更推荐的做法是用两个独立单元格分别放 MAX 和 MIN 的结果,或者在超级表里把「最大」和「最小」作为两行汇总配置同时添加,结果直接以数值列输出,可以继续用于下游计算。