【发布时间】:2018-10-04 20:52:43
【问题描述】:
我想对数组使用“NOT”。即:
"NOT"((True, False, True)) = (False, True, False)
我想在 sumproduct 公式中使用这种技术,即
=SUMPRODUCT(($R$2:$R$9000=$W$5:$AF$5)*($S$2:$S$9000))
现在,我想使用否定数组,并且仍在寻找一个优雅的版本如何做到这一点。我试过了:
=SUMPRODUCT(NOT($R$2:$R$9000=$W$5:$AF$5)*($S$2:$S$9000))
和
=SUMPRODUCT(($R$2:$R$9000<>$W$5:$AF$5)*($S$2:$S$9000))
两者都没有像假设的那样工作。我知道我可以使用
=SUMPRODUCT(($R$2:$R$9000<>$W$5)*($R$2:$R$9000<>$X$5)*...*($R$2:$R$9000<>$AF$5)*($S$2:$S$9000))
但我希望有一个更优雅的版本。
你知道更优雅的答案吗?
许多问候, 彼得
【问题讨论】:
-
你试过
SUMIF吗? -
实际上,这似乎也不起作用... :-/
-
实际上,我们忽略了明显的 -
=SUM($R$2:$R$9000) - SUMPRODUCT(NOT($R$2:$R$9000=$W$5:$AF$5)*($S$2:$S$9000)),所以如果你已经有了 R 列的总数,只需从中扣除你的产品。 -
是的,实际上 (sum - sumproduct) 是我现在“修复”它的方式。但是我需要在类似的数据库上执行一些其他 sumproducts 并且需要多次而不是只考虑一次代数......
-
好吧,我想你可以
(sum - (sumproduct + sumproduct + ...)),如果这就是你的意思......顺便说一句,这是一个很好的解决方案 - 使用逻辑来乘以值,非常优雅。如果 Microsoft 很快更改 True 的值,您就有麻烦了,但仍然 - 很好的解决方案! :o)