Я хочу иметь возможность указать количество различных значений одного столбца («ID», в столбце B ниже), где значение в соответствующей строке (например, «Value» в столбце C ниже) соответствует критерию (например, <> 0) ниже. Как видите, я могу легко вычислить список уникальных идентификаторов (ячейка B8, с формулой в C8), но не могу понять, как связать это с обнаружением ненулевых значений.
Я сформулировал ответ на подобный вопрос здесь .Особенно удобно, если вы хотите расширить по нескольким критериям.
В вашем случае это выглядело бы несколько более упрощенно, потому что у вас есть числовые значения (идентификаторы)
{=SUM(--(FREQUENCY(IF(Table1[Value]>0,Table1[ID])Table1[ID])>0))}
Введено через Ctrl Сдвиг Ввод
Вот еще один (не массив) вариант
=SUM(($C$3:$C$6<>0)/COUNTIFS($B$3:$B$6,$B$3:$B$6))
Или, если данные таблицы, как показывает ваше изображение
=SUM((YourTableName[Value]<>0)/COUNTIFS(YourTableName[ID],YourTableName[ID]))
Вы можете использовать двойной унарный оператор (--), чтобы возвратить значение true / false в 0 или 1, а затем использовать его в качестве результата:
--
=SUMPRODUCT((1/COUNTIF($B$3:$B$6,$B$3:$B$6))*(--($C$3:$C$6<>0)))