了解 SumIF 和 Subtotal 组合

了解 SumIF 和 Subtotal 组合

我碰到过这种结合 sumif 和 subtotal 公式的解决方案,但我不明白它。

结合 SUMIF() 和 SUBTOTAL() 实现动态小计

有人能解释一下这组函数是如何协同工作的,以便其他没有经验的用户(比如我)能够理解吗?这个解决方案显然解决了这个问题,但如果没有更多的见解,很难适应不同的数据集。(我宁愿不发布我自己的具体问题,因为如果我这样做了,下一个有这个疑问的人也会有同样的问题!)

谢谢!

答案1

=SUMPRODUCT(SUBTOTAL(109,OFFSET(AW5,ROW(AW5:AW552)-ROW(AW5),,1)),--(AV5:AV552=AV558))

Sumproduct- 将一个数组与另一个数组相乘,然后将它们相加。

Subtotal- 给出对某个范围进行特定操作的小计 -以下是论点.109 = 总和

Offset- 采用引用并使用偏移量来引用与其偏移的单元格。

row- 给出参考的行号

这种--表示法本质上强制 [true] 和 [false] 返回数组的 [1] 和 [0]。当你对 true 或 false 进行运算时,它们会变成数字,所以在这里你要先进行运算,然后反转符号。你可以改为*1


所以,如果我没有看错的话:

  • Row-Row 返回与 AW5 偏移高度为 1 的数字数组
  • 检查 AV5:AV552 是否与 AV558 匹配,为 0 和 1 的数组
  • 对第一个数组求和并将其与第二个数组相乘。

这有帮助吗?

相关内容