Подсчитать уникальное количество строк на основе условия в Excel - PullRequest
0 голосов
/ 01 февраля 2020

Я хочу посчитать уникальные строки на основе условия в Excel.

В приведенном ниже примере столбцы B - F представляют собой входные данные, а столбцы G и H ожидаются . output .

В настоящее время я использую формулу для H6 =COUNTIFS(E1:E20, "<>", B1:B20, G6, C1:C20, "v1", D1:D20, "f") Но с этой формулой 1 подсчитывается 2 раз, но я не хочу считать повторяющиеся записи.

Sample sheet image

Как можно игнорировать дубликаты и считать только отдельные значения в зависимости от условия?

Ответы [ 2 ]

3 голосов
/ 01 февраля 2020

В H6, скопированная формула массива (Ctrl + Shift + Enter):

=SUM(N(FREQUENCY(IF(($B$1:$B$20=G6)*($C$1:$C$20="V1")*($D$1:$D$20="f"),$E$1:$E$20),$E$1:$E$20)>0))

enter image description here

2 голосов
/ 01 февраля 2020

Если у вас есть Excel 2016+ с функцией UNIQUE, вы можете использовать:

=SUMPRODUCT((INDEX(UNIQUE(input_arr),,1)=G6)*(INDEX(UNIQUE(input_arr),,2)="v1")*(INDEX(UNIQUE(input_arr),,3)="f")*(INDEX(UNIQUE(input_arr),,4)<>""))

, где input_arr относится к =$B$1:$E$20

enter image description here

Если у вас более ранняя версия Excel, я бы предложил

  • Скопировать исходные данные в новое место
  • Выбрать всю таблицу, а затем " Удалить дубликаты », обеспечив выбор всех столбцов
  • Если новая таблица, например, в B37: E37, используйте формулу:

=SUMPRODUCT((INDEX($B$27:$E$37,,1)=G6)*(INDEX($B$27:$E$37,,2)="v1")*(INDEX($B$27:$E$37,,3)="f")*(INDEX($B$27:$E$37,,4)<>""))

enter image description here

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