使用AND和OR进行SUMIFS

时间:2017-11-19 15:18:49

标签: excel excel-formula sumifs

我已经尝试过,我想这里的答案大多数,但我无法让他们在我的情况下工作。

翻译成文字,我的问题看起来像这样:

Sum Y:Y列

  • 条件1:B列:B如果字符串以“15 *”

  • 开头
  • 条件2:列T:T必须大于0

  • 条件3:OR(U列的值:U = 0或U:U> V:V)

放入SUMIFS函数,从理论上讲,它看起来像SUMIFS(Y:Y,B:B,"15*",T:T,">0",or(U:U,"=0", U:U>V:V)), 但当然它不会那样工作。

我也试过SUMPRODUCTSUM(SUMIF ...但我不知道如何将我想要完成的内容翻译成这两个。

所以,如果有人知道如何使这项工作,请。还有一些解释。

感谢。

2 个答案:

答案 0 :(得分:2)

这里基于SUMPRODUCT的解决方案适合您。

=SUMPRODUCT(--(LEFT(B:B,2)="15"),--(T:T>0),((U:U=0)+(U:U>V:V)),Y:Y)

警告:仅在必要时应用完整的列引用,因为它会大大减慢工作表的速度。建议使用足够大的范围(但不是整列参考),因为每列将有数百万个细胞进行检查。

另请注意 Barry关于V列为负的查询对我发布的公式有重要意义,因为它会将2个TRUE条件计算为2,从而导致错误的结果。

答案 1 :(得分:0)

我会这样做:

<强> 1。为您的条件添加新列3

使用另一列,例如Z:Z你可以放入condition3。 例如,Z2=OR(U2>0;U2;V2)中的公式。

此公式将为您提供值TRUEFALSE

<强> 2。然后,您可以将条件3基于新列中的值

现在你SUMIFS公式可以是: =SUMIFS((Y:Y;B:B;"15*";T:T;">0";Z:Z;TRUE)

我在你的例子中检查了这个并且它有效。