SUMIFS,其中条件范围实际上是 2 列的总和

SUMIFS,其中条件范围实际上是 2 列的总和

假设我有一张如下所示的表格:

物品 收到日期 保存天数 价值
扳手 3 7 10.00
螺丝刀 7 19 13.00
六角扳手 14 23 6.00

我想做一个 SUMIFS 来确定我的工具在某一天的价值。

例如,我想确定第 8 天我拥有的工具的价值。在这种情况下,我将拥有扳手和螺丝刀,但没有六角扳手。所以我希望返回该值23.00

这是我想做的事情,但我无法弄清楚!

=SUMIFS(D2:D4, B2:B4, "<=8", [Day Received + Days Kept], ">8")

在上面的公式中,我试图找出如何添加Day Received (B2:B4) 并将Days Kept (C2:C4)其用作 SUMIFS 查找的范围。

需要明确的是,对于扳手,我在第 3 天收到了它,并保留了 7 天,所以严格来说,我从第 3 天到第 10 天拥有这把扳手。

有什么想法吗?我能做这件事吗?我的想法错了吗?

注意:我不想通过向表中添加列来做到这一点,因为该表实际上是从外部数据源提供的数据透视表,并且许多人使用它,他们不会喜欢我在每次更新时添加额外的列。

提前致谢!

答案1

SUMIFS 不会使用数组。执行加法会创建一个数组。请改用 SUMPRODUCT:

=SUMPRODUCT(D2:D4, (B2:B4<=8)*(B2:B4+C2:C4>8))

SUMPRODUCT 适用于数组。(B2:B4<=8)*(B2:B4+C2:C4>8)将返回一个数组10然后将该数组乘以该数组D2:D4并返回正确的和。

在此处输入图片描述

如果您确实想要 SUMIFS,它将需要一个执行加法的辅助列,以便您可以引用范围而不是数组:

因此,在 E2:E4 中,我将 B2:B4 添加到 C2:C4。我使用了:

=SUMIFS(D2:D4, B2:B4, "<=8",E2:E4,">8")

在此处输入图片描述

相关内容