我想仅对最新条目的值进行求和。请参见以下示例:
交易名称 | 价值 |
---|---|
绿草地 | 110 |
火箭 | 220 |
绿草地 | 230 |
该公式只会将最后两个数字相加得到 450,因为它仅取每个条目的最新值。
有人知道这里的正确公式吗?提前感谢大家的帮助!
答案1
如果您不介意使用两个辅助列,那么这里有一个解决方案。
Helper_1 列:计算交易名称在您的列表中出现的次数,从 A2 到当前行。
Cell C2 formula: =COUNTIF($A$2:A2,A2)
Helper_2 列:如果交易名称的最大值等于第一个辅助列中的值,则为 TRUE,否则为 FALSE。
Cell D2 formula: =C2=MAXIFS($C$2:$C$4,$A$2:$A$4,A2)
把它们拖下来。
最后,这是单元格 G2 的 SUM 公式,当 D 列为真时,该公式将对您的值求和。
=SUMIFS(B2:B4,D2:D4,"TRUE")
如果有时间,您也许可以将其修改为一个辅助列。
答案2
如果您有 Excel 365,则可以使用 UNIQUE 和 XLOOKUP:
=SUM(XLOOKUP(UNIQUE(A2:A4),A2:A4,B2:B4,0,0,-1))
基本上,您获取 UNIQUE 交易名称的数组,然后以反向(自下而上)XLOOKUP 查找第一个匹配条目的值。由于 UNIQUE 提供数组输出,因此 XLOOKUP 还会返回数组中每个名称的所有值,然后将其与 SUM 相加。