Использование логических функций ИЛИ с SUMIFS в Excel - PullRequest
1 голос
/ 26 июля 2011

У меня есть две книги в Excel, в которые я копирую столбцы из одной в другую. Я хотел бы скопировать номер одного столбца, скажем, A, если другой столбец, скажем, B, равен «Test Tool» или «Hard Tool». Я написал этот код и не могу заставить его работать, он просто дает мне нулевую сумму, что неправильно. Последний аргумент не имеет значения, поэтому игнорируйте его.

"=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 ]

4 голосов
/ 06 сентября 2013

Вот метод, позволяющий сэкономить на вводе большого количества операторов 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"}) )
2 голосов
/ 26 июля 2011

Просто сложите два SUMIF вместе, это одно и то же!

=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")
2 голосов
/ 26 июля 2011
 =IF(OR(CellToCheck="Test Tool", CellToCheck="Hard Tool"), CellToCopy, 0)
1 голос
/ 10 мая 2013

Используйте тот факт, что A ИЛИ B - это то же самое, что НЕ ((НЕ A) и (НЕ B)). Например, суммируйте записи в A, если B = 1 или C = 1, используя SUMIFS:

=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))
0 голосов
/ 26 июля 2011

Разве это не сработает?

Примечание: Предполагая, что Col A содержит значения для суммирования. Предполагая, что Col B содержит типы инструментов.

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