如果两个 OR 都为真,则 SUMPRODUCT 和 OR 语句将返回双精度值



我有三列:交易量、市场 1 和市场 2。交易量有数字,市场 1 和 2 有与之关联的"是"或"否"。我想要的是一个公式,如果市场 1 或 2 有"是",它将对交易量求和。

这是我到目前为止尝试过的:

=SUMPRODUCT((H10:H17)*((J10:J17="yes")

+(K10:K17="yes")))

但是,此公式的问题在于,如果市场 1 + 2 都 = "是",它将将该交易量增加两倍!我做错了什么?

谢谢

是的,您是对的,如果两列都包含"是",则内括号加起来为 2。

如果其中一列或两列都包含"yes",则需要使用 IF 语句生成 1

,例如此处所述。

所以你的公式会变成:-

=SUM(H10:H17*IF((J10:J17="yes")+(K10:K17="yes"),1))

但它必须使用 Ctrl-Shift-Enter 作为数组公式输入。

如果你想使用一个常规函数,我会建议这个:

=SUMPRODUCT(H10:H17*((J10:J17="yes")*(K10:K17="yes")+MOD((J10:J17="yes")

+(K10:K17="yes");2

)))(J10:J17="yes

")*(K10:K17="yes") - 仅当两者都是 yes 时,才会生成 1。MOD((J10:J17="yes")+(K10:K17="yes");2) - 仅当其中一个为"是"时才生成 1。

最新更新