我有三列:交易量、市场 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。