Подсчет с использованием Sumproduct с условием ИЛИ не возвращает Требуемый результат

#excel #excel-formula #office365 #ms-office

Вопрос:

A B C D E
Оценить Вес Рассчитывать Предмет Категория
20$ 65 Капс Продано
80 400 Капс Продано
500 Капс Продано
90 991 Капс Продано

Это мои данные в листе, (на самом деле их много, это просто образец)

Теперь я хочу посмотреть, сколько пустых ячеек с ожидающими ставками там, где Категория и товар одинаковы, но ячейка подсчета или веса не пуста, и, конечно, в столбце Ставки есть 3 ячейки, которые еще не заполнены.

Формула, которую я пытаюсь использовать в формуле 1, такова

 =SUMPRODUCT(--(E2:E6="Sold"),--(D2:D6="Caps"),--(A2:A6=""),--(C2:C6<>"") --(B2:B6<>""))
 

и это возвращает мне Ans 4, что неправильно, Ans должно быть 3
Пожалуйста, объясните мне, как решить эту проблему

Ответ №1:

Вы можете попробовать:

 =SUM((A2:A5="")*(((B2:B5<>"") (C2:C5<>""))>0)*(D2:D5="Caps")*(E2:E5="Sold"))
 

Где (((B2:B5<>"") (C2:C5<>""))>0) означает, что мы хотим проверить, имеет ли столбец B или столбец C какое-либо значение. Кроме того, SUMPRODUCT() это остаток от предыдущих версий Excel для отмены автоматического неявного пересечения. В ms365 это больше не требуется из-за динамических массивов, поэтому вы можете просто использовать SUM() .

Ответ №2:

или может быть, если вы используете Office 365

 =SUMPRODUCT((E1:E5="Sold")*(D1:D5="Caps")*(A1:A5="")*(B1:B5<>"")) (@C1:C5<>"")
 

или может быть

 =COUNTIFS(E2:E5,"Sold",D2:D5,"Caps",C2:C5,"<>")