在Excel中使用带有SUMIFS的OR逻辑函数

时间:2011-07-26 12:00:40

标签: excel logical-operators

我在excel中有两个工作簿,我将列从一个复制到另一个。 我想复制一列的数字,比如A,如果另一列,比如说B,等于“测试工具”或“硬工具”。我写了这段代码并且无法使它工作,它只是给了我零和错误。最后一个论点并不重要,所以忽略它。

"=SUMIFS('Tooling forecast template'!R6C17:R500C17,'Tooling forecast template'!R6C7:R500C7,""OR(=Test Tool, =Hard Tool)"" ,'Tooling forecast template'!R6C6:R500C6,""<>Actual tool/equipment change"")"

5 个答案:

答案 0 :(得分:4)

这是一种节省您输入大量SUMIF语句的方法,尽管它不会阻止Excel必须计算多个SUMIF ...

=SUM( SUMIFS('Tooling forecast template'!R6C17:R500C17,'Tooling forecast template'!R6C7:R500C7, {"Test Tool", "Hard Tool"} ,'Tooling forecast template'!R6C6:R500C6,"<>Actual tool/equipment change") )

基本上,您使用值数组作为条件计算SUMIF,然后将SUMIF包装在SUM中,以便将多个答案一起添加。

由于变量名称较长,此示例很难阅读。这是一个更简单的例子,你想要在相应的字母是A或B的地方加上一些数字......

漫长的道路:

=SUMIFS(B1:B5, A1:A5, "A") + SUMIFS(B1:B5, A1:A5, "B")

简短的方法:

=SUM( SUMIFS(B1:B5, A1:A5, {"A","B"}) )

答案 1 :(得分:2)

 =IF(OR(CellToCheck="Test Tool", CellToCheck="Hard Tool"), CellToCopy, 0)

答案 2 :(得分:2)

只需将两个SUMIFS加在一起,它就是一样的东西!

=SUMIFS('Tooling forecast template'!R6C17:R500C17,'Tooling forecast template'!R6C7:R500C7,"=Test Tool" ,'Tooling forecast template'!R6C6:R500C6,"<>Actual tool/equipment change") + SUMIFS('Tooling forecast template'!R6C17:R500C17,'Tooling forecast template'!R6C7:R500C7,"=Hard Tool" ,'Tooling forecast template'!R6C6:R500C6,"<>Actual tool/equipment change")

答案 3 :(得分:1)

使用A OR B与NOT((NOT A)和(NOT B))相同的事实。例如,如果B = 1或C = 1,则使用SUMIFS:

对A中的条目求和
=SUM(A1:A10) - SUMIFS(A1:A10,B1:B10,"<>0",C1:C10,"<>0")

您可以通过SUMPRODUCT获得相同的结果:

=SUM(A1:A10) - SUMPRODUCT(A1:A10,--(B1:B10<>0),--(C1:C10<>0))

答案 4 :(得分:0)

这不会起作用吗?

注意:     假设Col A容纳要求的值。     假设Col B包含工具类型。

=SUM(SUMIFS(A:A,B:B,"hard tool"),SUMIFS(A:A,B:B,"test tool"))