如何在 Excel 的函数OR
中包含一个sumproduct
?我目前使用两个sumproduct
公式,因为我有两个变量想要计算:
=Sumproduct((A3:A159=B3:B159)*(D3:D159="Target A"))
=Sumproduct((A3:A159=B3:B159)*(D3:D159="Target B"))
有没有简单的方法可以将其写成一个公式?将其写成两个公式对我来说并不难,但如果可以做得更好,那么我愿意洗耳恭听 - 总是愿意学习。
答案1
“加号”(+
)用于OR
数组公式(和SUMPRODUCT
)。
=Sumproduct((A3:A159=B3:B159)*((D3:D159="目标 A")+(D3:D159="目标 B")))
对于SUMPRODUCT
,每次比较的结果都是TRUE
和FALSE
。在 Excel 中,TRUE
可以用任何非零数字表示,而FALSE
相当于0
。如果D3="Target A"
,则该数组的第一个元素将是1
( True=1
)。这意味着D3
不能是Target B
,并且该数组的 的元素将是0
。当你将它们加在一起时,它将是1
,因此将被视为TRUE
。
弄清楚数组在公式中是如何工作的可能很困难。尝试阅读。
答案2
Excel 中有一个 OR 函数:OR(logical1, [logical2], [logical3], ...)
此示例如果 C1 或 B1 包含大于 100 的值则为 TRUE,如果两者都不包含则为 FALSE:
=OR(B1>100,C1>100)
我不完全确定你想如何应用它,但我确信这会有所帮助。
答案3
这是另一种解决方案SUMPRODUCT 中的多重条件:
=Sumproduct((A3:A159=B3:B159)*(D3:D159={"Target A","Target B"}))
答案4
您还可以按范围命名条件列表。因此,单元格 A1 和 A2 中的 RangeName = Target A 和 Target B。
然后=Sumproduct( .... )*(D3:D159=RangeName)
对我有用。