COUNTIFS с несколькими диапазонами, один критерий - PullRequest
0 голосов
/ 21 мая 2019

У меня есть набор данных ниже.

     A           B           C           D
 1   Apple       Pear        Grape       Orange
 2   Blueberry   Grape
 3   Pear        Orange
 4   Apple       Grape       Orange
 5   Grape       Orange      Blueberry
 6   Pear
 7   Grape       Apple

Я хочу посчитать строки, в которых появляется либо яблоко, либо груша. Таким образом, ответ на вышеприведенный ответ должен быть 5 (строки 1,3,4,6 и 7). Строка 1, где появляются как яблоко, так и груша, должна учитываться только один раз. В моем фактическом наборе данных у меня есть 4 столбца и более 250 строк.

Среди других попыток решения я пробовал

 =COUNTIFS(A1:A7,"Apple")+COUNTIFS(A1:A7,"Pear")+COUNTIFS(B1:B7,"Apple")+COUNTIFS(B1:B7,"Pear")+COUNTIFS(C1:C7,"Apple")+COUNTIFS(C1:C7,"Pear")+COUNTIFS(D1:D7,"Apple")+COUNTIFS(D1:D7,"Pear")

но эта двойная запись в строке 1 дает один дополнительный счет, который я ищу.

Если это проще, я знаю, сколько у меня строк, поэтому было бы достаточно решения, включающего определение того, сколько строк не содержит ни яблок, ни груш.

1 Ответ

3 голосов
/ 21 мая 2019

Использование:

=SUMPRODUCT(--(COUNTIF(OFFSET($A$1,ROW(A1:A7)-1,0,1,4),"Apple")+COUNTIF(OFFSET($A$1,ROW(A1:A7)-1,0,1,4),"Pear")>0))

Если идет строка за строкой и выполняет две COUNTIFS для каждой строки и складывает их вместе.Если эта строка больше 0, это добавляет 1 к SUMPRODUCT.

enter image description here

Или это, который использует MMULT для возврата правильного числа:

=SUM(N(MMULT(N((A1:D7="Apple")+(A1:D7="Pear")),TRANSPOSE(COLUMN(A1:D7)^0))>0))

Это формула массива, которая должна быть подтверждена с помощью Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования.

Преимущество этого по сравнению с первым в том, что оно не является изменчивым.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...