跳到主要内容

max-min

Excel MAX() 和 MIN() 函数详解

一、MAX() 函数​

用途​

返回一组数值中的最大值

语法​

MAX(number1, [number2], ...)

参数说明​

参数是否必需说明
number1必需要比较的第一个数值、单元格引用或范围
number2, ...可选最多可包含255个参数
忽略内容-文本、逻辑值、空单元格

二、MIN() 函数​

用途​

返回一组数值中的最小值

语法​

MIN(number1, [number2], ...)

参数说明​

  • 参数结构与MAX函数完全相同
  • 参数处理方式也完全相同

三、实例数据表​

数据表1:学生成绩表(15名学生)​

ABCDEF
学号姓名语文数学英语总分
S001张三859278255
S002李四789588261
S003王五928876256
S004赵六456558168
S005孙七889692276
S006周八768579240
S007吴九953994228
S008郑十827885245
S009钱一899287268
S010王一736852193
S011刘二847986249
S012陈三394245126
S013杨四918793271
S014黄五677169207
S015赵七989699293

数据表2:销售业绩表(12个月)​

ABC
月份销售额利润
1月150,00045,000
2月120,00036,000
3月180,00054,000
4月135,00040,500
5月210,00063,000
6月165,00049,500
7月195,00058,500
8月90,00027,000
9月225,00067,500
10月240,00072,000
11月255,00076,500
12月300,00090,000

数据表3:温度记录表(一周)​

ABCDE
城市周一周二周三平均
北京252830
上海272629
广州323133
深圳302931
成都262527
杭州282729

四、基础示例​

示例1:基本用法​

=MAX(10, 20, 30, 15) → 30
=MIN(10, 20, 30, 15) → 10

示例2:单元格范围​

=MAX(C2:C16) // 学生语文最高分
=MIN(C2:C16) // 学生语文最低分

示例3:多区域​

=MAX(C2:C16, E2:E16) // 语文和英语中的最高分
=MIN(C2:C16, E2:E16) // 语文和英语中的最低分

示例4:忽略非数值​

=MAX(10, "文本", 20, TRUE, 30) → 30(只计算数字)
=MIN(10, "文本", 20, TRUE, 30) → 10(只计算数字)

五、实际应用示例​

应用1:学生成绩分析​

// 1. 单科最高分
=MAX(C2:C16) // 语文最高分:98
=MAX(D2:D16) // 数学最高分:96
=MAX(E2:E16) // 英语最高分:99

// 2. 单科最低分
=MIN(C2:C16) // 语文最低分:39
=MIN(D2:D16) // 数学最低分:39
=MIN(E2:E16) // 英语最低分:45

// 3. 总分最高分和最低分
=MAX(F2:F16) // 总分最高:293(赵七)
=MIN(F2:F16) // 总分最低:126(陈三)

// 4. 找到最高分学生姓名(结合INDEX+MATCH)
=INDEX(B2:B16, MATCH(MAX(F2:F16), F2:F16, 0)) → "赵七"
=INDEX(B2:B16, MATCH(MIN(F2:F16), F2:F16, 0)) → "陈三"

应用2:销售数据分析​

// 1. 最高和最低销售额
=MAX(B2:B13) // 最高销售额:300,000
=MIN(B2:B13) // 最低销售额:90,000

// 2. 利润极值
=MAX(C2:C13) // 最高利润:90,000
=MIN(C2:C13) // 最低利润:27,000

// 3. 计算销售额范围(极差)
=MAX(B2:B13) - MIN(B2:B13) → 210,000

// 4. 找到销售额最高的月份
=INDEX(A2:A13, MATCH(MAX(B2:B13), B2:B13, 0)) → "12月"

应用3:温度数据分析​

// 1. 各城市一周最高温度
=MAX(B2:D2) // 北京一周最高温:30
=MAX(B3:D3) // 上海一周最高温:29
=MAX(B4:D4) // 广州一周最高温:33

// 2. 各城市一周最低温度
=MIN(B2:D2) // 北京一周最低温:25
=MIN(B3:D3) // 上海一周最低温:26
=MIN(B4:D4) // 广州一周最低温:31

// 3. 所有城市中的最高温度
=MAX(B2:D7) // 所有城市三天中的最高温:33

// 4. 所有城市中的最低温度
=MIN(B2:D7) // 所有城市三天中的最低温:25

六、进阶用法​

用法1:条件最大值/最小值(MAXIFS/MINIFS)​

Excel 2016+版本支持:

// 找出数学成绩大于90的最高总分
=MAXIFS(F2:F16, D2:D16, ">90")

// 找出语文成绩大于80的最低总分
=MINIFS(F2:F16, C2:C16, ">80")

// 老版本替代方案(数组公式)
{=MAX(IF(D2:D16>90, F2:F16))}
{=MIN(IF(C2:C16>80, F2:F16))}

用法2:排除0值的最小值​

=MIN(IF(F2:F16>0, F2:F16)) // 数组公式,找出大于0的最小值

用法3:多列比较​

// 找出每个学生三科中的最高分
=MAX(C2:E2) // 张三三科最高分:92
=MAX(C3:E3) // 李四三科最高分:95

// 找出每个学生三科中的最低分
=MIN(C2:E2) // 张三三科最低分:78
=MIN(C3:E3) // 李四三科最低分:78

用法4:动态范围​

=MAX(OFFSET(C2,0,0,COUNTA(C:C)-1,1)) // 动态计算C列非空单元格的最大值

七、结合其他函数使用​

1. 与IF函数结合​

// 计算男生的最高分(假设G列为性别)
=MAX(IF(G2:G16="男", F2:F16, "")) // 数组公式

// 计算1班学生的最高分(假设H列为班级)
=MAX(IF(H2:H16="1班", F2:F16, 0))

2. 与LARGE/SMALL函数结合​

=MAX(F2:F16) // 第1名
=LARGE(F2:F16, 2) // 第2名
=LARGE(F2:F16, 3) // 第3名

=MIN(F2:F16) // 最后1名
=SMALL(F2:F16, 2) // 倒数第2名

3. 与AVERAGE函数结合​

// 计算去掉最高分和最低分后的平均分
=(SUM(F2:F16) - MAX(F2:F16) - MIN(F2:F16)) / (COUNT(F2:F16)-2)

4. 与INDEX/MATCH函数结合​

// 找出最高分对应的学生
=INDEX(B2:B16, MATCH(MAX(F2:F16), F2:F16, 0))

// 找出最低分对应的学生
=INDEX(B2:B16, MATCH(MIN(F2:F16), F2:F16, 0))

八、综合练习​

练习1:学生成绩分析​

  1. 计算各科最高分和最低分
  2. 计算总分的最高分和最低分
  3. 找出数学成绩最高的学生姓名
  4. 计算英语成绩前3名的平均分
  5. 找出三科都超过80分的学生中的最高总分

参考答案:​

1. =MAX(C2:C16) 和 =MIN(C2:C16) // 语文
=MAX(D2:D16) 和 =MIN(D2:D16) // 数学
=MAX(E2:E16) 和 =MIN(E2:E16) // 英语

2. =MAX(F2:F16) 和 =MIN(F2:F16) // 总分

3. =INDEX(B2:B16, MATCH(MAX(D2:D16), D2:D16, 0))

4. =AVERAGE(LARGE(E2:E16, {1,2,3}))

5. =MAX(IF((C2:C16>80)*(D2:D16>80)*(E2:E16>80), F2:F16))

练习2:销售数据分析​

  1. 找出销售额最高的季度(假设1-3月为Q1)
  2. 计算利润率(利润/销售额)的最高和最低值
  3. 找出连续两个月销售额都超过200,000的记录
  4. 计算去除最高和最低销售额后的平均销售额

参考答案:​

1. // 需要先按季度汇总,然后找最大值

2. =MAX(C2:C13/B2:B13) 和 =MIN(C2:C13/B2:B13)

3. // 需要辅助列判断
=IF(AND(B2>200000, B3>200000), "是", "否")

4. =(SUM(B2:B13)-MAX(B2:B13)-MIN(B2:B13))/(COUNT(B2:B13)-2)

练习3:温度数据分析​

  1. 找出哪个城市的温差最大
  2. 计算每天所有城市的平均最高温和平均最低温
  3. 找出连续两天温度都超过30度的城市

九、常见错误及处理​

错误1:结果为0​

=MAX(A1:A10) // 如果都是文本或空单元格,返回0

错误2:忽略错误值​

=MAX(IF(ISNUMBER(A1:A10), A1:A10)) // 数组公式,排除错误值

错误3:日期处理​

=MAX(A1:A10) // 如果包含日期,返回最晚的日期
=MIN(A1:A10) // 返回最早的日期

错误4:逻辑值处理​

=MAX(A1:A10) // 忽略TRUE/FALSE,除非使用数组公式转换
=MAX(--(A1:A10)) // 将逻辑值转换为数字

十、性能优化建议​

  1. 避免整列引用:使用具体的范围如A1:A1000而不是A:A
  2. 减少数组公式:尽量使用MAXIFS/MINIFS代替数组公式
  3. 先筛选后计算:对大数据集先筛选再计算极值
  4. 使用辅助列:复杂计算先存到辅助列,再计算极值
  5. 缓存结果:对重复使用的极值结果存到单元格中

十一、实战技巧​

技巧1:创建动态仪表板​

// 在报表顶部显示关键指标
本月最高销售额:=MAXIFS(销售表!销售额, 销售表!月份, TEXT(TODAY(),"yyyy-mm"))
本月最低销售额:=MINIFS(销售表!销售额, 销售表!月份, TEXT(TODAY(),"yyyy-mm"))

技巧2:数据验证​

// 确保输入值在合理范围内
=IF(AND(A1>=MIN(参考范围), A1<=MAX(参考范围)), "有效", "超出范围")

技巧3:异常值检测​

// 标记异常值(超过平均值±2倍标准差)
=IF(ABS(A1-AVERAGE($A$1:$A$100))>2*STDEV($A$1:$A$100), "异常", "正常")

技巧4:排名系统​

// 根据得分自动排名
=COUNTIF($F$2:$F$16, ">"&F2) + 1 // 第一名显示1,第二名显示2...

十二、总结​

MAX/MIN函数的核心价值:​

  1. 快速定位极值:在大量数据中快速找到最大/最小值
  2. 数据分析基础:计算范围、识别异常值、建立基准线
  3. 决策支持:为业务决策提供数据支持
  4. 质量监控:监控数据波动和异常情况

适用场景:​

  • 成绩分析:找出最高分/最低分
  • 销售分析:识别最佳/最差业绩
  • 库存管理:监控最高/最低库存水平
  • 质量控制:检测异常测量值
  • 温度监控:记录温度极值

掌握MAX和MIN函数,能够让你在数据分析中快速把握数据的边界情况,为更深入的分析奠定基础。