You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提升MAXIF公式的运行速度?

优化多条件MAX公式的速度方案

你的原公式是嵌套IF的数组运算,在2500个单元格中重复执行时,会反复遍历100多万行数据,导致运算量陡增,这是卡顿的核心原因。以下是几种高效替代方案:

方案1:使用MAXIFS函数(推荐,适用于Excel 2019/365及以上版本)

MAXIFS是Excel原生的多条件最大值函数,内部经过性能优化,无需数组输入,直接回车即可生效,运算效率远高于嵌套IF的数组公式。
公式写法:

=MAXIFS('DH'!$A$1:$A$1048573, 'DH'!$D$1:$D$1048573, $A4, 'DH'!$N$1:$N$1048573, "Proactive")

额外优化:如果数据没有填满整列,把引用范围缩小到实际数据行(比如$A$1:$A$50000),能进一步减少运算量。

方案2:使用AGGREGATE函数(兼容旧版Excel)

如果你的Excel版本不支持MAXIFS,可以用AGGREGATE函数,它能忽略错误值,无需数组输入,效率也优于原数组公式。
公式写法:

=AGGREGATE(14, 6, 'DH'!$A$1:$A$1048573/(('DH'!$D$1:$D$1048573=$A4)*('DH'!$N$1:$N$1048573="Proactive")), 1)

参数说明:

  • 14:代表MAX函数
  • 6:代表忽略错误值
  • 最后一个1:返回第1大的值(即最大值)

方案3:Power Query预处理数据(适合大量重复查询)

如果需要频繁查询这类多条件最大值,用Power Query一次性计算出所有结果,再通过VLOOKUP/XLOOKUP引用,能彻底解决重复运算的问题:

  1. 打开Power Query,导入DH工作表的数据
  2. 添加分组依据:按D列分组,计算N列为"Proactive"时A列的最大值
  3. 将处理后的结果加载回工作表(比如新的Sheet)
  4. 用=XLOOKUP($A4, 新表!$D:$D, 新表!最大值列, "")引用结果

这种方式只需要计算一次,后续查询直接引用已生成的结果,性能提升最明显。

内容的提问来源于stack exchange,提问作者Paul K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 02:52:27