ВВЕРХ

Вычисление количества уникальных значений

Иногда в работе нам нужно посчитать уникальные значения в определенной колонке, однако Excel имеет функции, которые суммируют только количество записей в заданном поле, например функция COUNT(). Проблема в том, что один и тот же код товара или клиента может повторяться несколько раз. Но есть выход, для решения нашей задачи мы можем совместить стандартные функции Excel. Давайте посмотрим как это сделать.

Итак, давайте соединим функции SUM() - суммирует, IF() - проверка условия, FREQUENCY() - подсчитывает кол-во значений, попадающих в определенный интервал, LEN() - считает кол-во символов, MATCH() - ищет позицию элемента в массиве:

1. Вычисление количества уникальных числовых значений

=SUM(IF(FREQUENCY(A2:A10;A2:A10)>0;1))

=СУММ(ЕСЛИ(ЧАСТОТА(A2:A10;A2:A10)>0;1))

2. Вычисление количества уникальных числовых и текстовых значений (не работает, если есть пустые ячейки)

=SUM(IF(FREQUENCY(MATCH(B2:B10;B2:B10;0);MATCH(B2:B10;B2:B10;0))>0;1))

=СУММ(ЕСЛИ(ЧАСТОТА(ПОИСКПОЗ(B2:B10;B2:B10;0);ПОИСКПОЗ(B2:B10;B2:B10;0))>0;1))

3. Вычисление количества уникальных значений (универсальная формула)

=SUM(IF(FREQUENCY(IF(LEN(A2:A10)>0;MATCH(A2:A10;A2:A10;0);"");IF(LEN(A2:A10)>0;MATCH(A2:A10;A2:A10;0);""))>0;1))

=СУММ(ЕСЛИ(ЧАСТОТА(ЕСЛИ(ДЛСТР(A2:A10)>0;ПОИСКПОЗ(A2:A10;A2:A10;0);"");ЕСЛИ(ДЛСТР(A2:A10)>0;ПОИСКПОЗ(A2:A10;A2:A10;0);""))>0;1))

Последнюю формулу нужно вводить как формулу массива, т.е. нажать не просто Enter, а Ctrl + Shift + Enter. После этого в строке формул мы увидим, что формула взята в фигурные скобки ({}), это признак того, что введенная формула массива.