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

Я хочу иметь возможность указать количество различных значений одного столбца («ID», в столбце B ниже), где значение в соответствующей строке (например, «Value» в столбце C ниже) соответствует критерию (например, <> 0) ниже. Как видите, я могу легко вычислить список уникальных идентификаторов (ячейка B8, с формулой в C8), но не могу понять, как связать это с обнаружением ненулевых значений.

enter image description here

Ответы [ 3 ]

1 голос
/ 21 мая 2019

Я сформулировал ответ на подобный вопрос здесь .Особенно удобно, если вы хотите расширить по нескольким критериям.

В вашем случае это выглядело бы несколько более упрощенно, потому что у вас есть числовые значения (идентификаторы)

{=SUM(--(FREQUENCY(IF(Table1[Value]>0,Table1[ID])Table1[ID])>0))}

Введено через Ctrl Сдвиг Ввод

enter image description here

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

Вот еще один (не массив) вариант

=SUM(($C$3:$C$6<>0)/COUNTIFS($B$3:$B$6,$B$3:$B$6))

Или, если данные таблицы, как показывает ваше изображение

=SUM((YourTableName[Value]<>0)/COUNTIFS(YourTableName[ID],YourTableName[ID]))
0 голосов
/ 21 мая 2019

Вы можете использовать двойной унарный оператор (--), чтобы возвратить значение true / false в 0 или 1, а затем использовать его в качестве результата:

=SUMPRODUCT((1/COUNTIF($B$3:$B$6,$B$3:$B$6))*(--($C$3:$C$6<>0)))

...