我在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"")"
答案 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"))