Excel 公式

Excel MAX / MIN 最大值最小值怎么用(含按条件 MAXIFS)

更新于 2026-06-04 · 阅读约 7 分钟

期末考试谁得了全班最高分?上个月哪家门店的销售额最高?这类问题在 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, …])

注意参数顺序:求值区域放第一位,这和 SUMIFSAVERAGEIFS 是一样的规律,统一记忆即可。

举例:销售表里 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 即可。

一句话总结痛点
MAXIFS 要记参数顺序、老版本不支持要写数组公式、还得留意文本假数字。如果需要按多个维度分别求极值,一张表就要写很多行公式,维护起来很累。

更简单:超级表分组汇总选最大/最小,点几下出结果

超级表(TableDI)是一款桌面端高能表格助手,离线运行、本地数据、无需登录。它把「按某个字段分组、对数值列求极值」做成了可视化的分组汇总功能,不用写任何公式。步骤如下:

  1. 把数据表导入超级表(直接拖入 Excel / CSV 文件)。
  2. 点击顶部工具栏的「分组汇总」按钮,选择用哪个字段分组(例如「门店」或「班级」)。
  3. 在汇总列设置里,选择目标数值列(例如「销售额」或「成绩」),把汇总方式从默认的「求和」改成「最大」「最小」
  4. 点击确认,各分组的极值立刻显示在结果表里。想同时看最大值和最小值,再加一行汇总配置即可,一次出多个汇总列。

超级表的分组汇总支持求和、计数、平均、最大、最小,五种方式可以同时添加到同一张分组结果里。源数据更新后,点一下刷新,所有极值同步更新,无需改公式。对于需要在同一份数据里看不同维度极值的场景,效率远高于维护一堆 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 的结果,或者在超级表里把「最大」和「最小」作为两行汇总配置同时添加,结果直接以数值列输出,可以继续用于下游计算。

不想一个个写 MAXIFS?

免费下载超级表,分组汇总选「最大/最小」,点几下出各组极值

免费下载(macOS / Windows)