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

如何高效计算Group1符合条件的最新zw值总和并动态处理?

表格计算解决方案与高效公式

需求实现(预期结果100)

假设你的数据列对应:timestamp(A列)、group(B列)、name(C列)、zw(D列)、r_start(E列)、r_end(F列),可以用以下动态数组公式直接得到结果:

=SUM(BYROW(UNIQUE(FILTER(C:C, B:B="Group1", E:E<=DATE(2022,1,3), F:F>=DATE(2022,1,3))), LAMBDA(player, XLOOKUP(MAXIFS(A:A, B:B="Group1", C:C=player, E:E<=DATE(2022,1,3), F:F>=DATE(2022,1,3)), A:A, D:D,,0,-1))))

公式逻辑拆解

  • 筛选去重玩家:UNIQUE(FILTER(...))先筛选出Group1中,查询日期2022-01-03处于r_start到r_end区间的所有玩家,再去重得到唯一玩家列表
  • 遍历取最新zw值:BYROW(..., LAMBDA(player, ...))逐个遍历每个玩家,用MAXIFS找到该玩家符合条件的最新timestamp,再通过XLOOKUP匹配对应的zw值
  • 求和:最后用SUM把所有玩家的最新zw值累加

对比QUERY的效率优势

相比QUERY公式,这个组合公式的效率更突出:

  • QUERY需要对整个数据集进行多轮扫描(筛选分组、排序取最新、求和),数据量越大耗时越明显
  • 上述公式先通过UNIQUE缩小处理范围,只针对去重后的玩家计算,避免重复扫描全量数据,大数据集场景下性能提升显著
  • 同时属于动态数组公式,数据源更新时结果自动同步,无需手动调整引用范围

内容的提问来源于stack exchange,提问作者Sheet N00B

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 00:52:22