Как использовать Round () в формуле массива? - PullRequest
1 голос
/ 29 апреля 2019

Я пытаюсь подсчитать количество уникальных значений в диапазоне значений после значения округлены до сотых.

Это формула, которую я использую для подсчетаколичество уникальных значений в диапазоне:

=SUMPRODUCT(1/COUNTIF($EZ6:$FD6,$EZ6:$FD6&""))

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

=SUMPRODUCT(1/COUNTIF(ROUND($EZ6:$FD6,2),ROUND($EZ6:$FD6,2)&""))

Эта формула даетошибка и не оценивается.

Проблема не добавляет "" в конце, так как эта формула также выдает ошибку и не оценивает:

=SUMPRODUCT(1/COUNTIF(ROUND($EZ6:$FD6,2),ROUND($EZ6:$FD6,2)))

Под ошибкой я подразумеваю, что появляется окно с сообщением «Есть проблема с этой формулой ...»

1 Ответ

1 голос
/ 29 апреля 2019

Да, к сожалению, Countif работает только с диапазонами, а не с массивами - как только вы вводите функцию Round, вы неявно используете массивы.

Я бы предложил использовать метод Frequencies для получения уникальных значений:

=SUM(--(FREQUENCY(IF(EZ6:FD6<>"",ROUND(EZ6:FD6,2)),ROUND(EZ6:FD6,2))>0))

Это основано на стандартной формуле см. Документацию - единственная проблема заключается в том, что если вы примените функцию Round к пустым ячейкам, вы получите ноль, который может дать вам дополнительное уникальное значение, следовательно, если заявление.

Должен быть введен как формула массива, используя Ctrl Shift Enter

...