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

如何无需辅助列计算各品类最高价格的总和?

解决方案

正确公式

方案1:BYROW + LAMBDA + MAXIFS(逻辑清晰,易理解)

=SUM(BYROW(UNIQUE(FILTER(A13:A100,A13:A100<>"")),LAMBDA(category,MAXIFS(D13:D100,A13:A100,category))))

方案2:QUERY函数(简洁高效)

=SUM(QUERY({A13:A100,D13:D100},"select max(Col2) where Col1 is not null group by Col1 label max(Col2) ''"))

原公式错误分析

  • 第一个公式:=SUM(ARRAYFORMULA(MAX(FILTER(D13:D100, A13:A100 = UNIQUE(A13:A100)))))
    FILTER会把所有匹配任意品类的价格全部提取,MAX仅计算这些价格的全局最大值,而非每个品类的单独最大值,最终SUM结果只是单个最大值,不符合需求。

  • 第二个公式:=SUM(ARRAYFORMULA(IFERROR(VLOOKUP(UNIQUE(D13:D100), {D13:D100, A13:A100}, 2, FALSE), 0)))
    逻辑完全偏离需求:UNIQUE取的是价格列的唯一值,VLOOKUP返回对应品类(文本转数值为0),SUM结果为0,完全无法得到各品类最高价之和。

  • 第三个公式:=SUM(ARRAYFORMULA(MAXIFS(D13:D100, A13:A100, UNIQUE(A13:A100))))
    MAXIFS不支持数组作为条件参数批量返回结果,仅会返回第一个品类对应的最大值,ARRAYFORMULA未生效,SUM结果为单个最大值。

公式适配说明

两个正确公式均支持A13:A100新增品类/行(只要不超过100行),无需辅助列,且自动忽略空白行(避免空品类干扰计算)。

内容的提问来源于stack exchange,提问作者Manuel Pelletier

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 21:34:57