Как Count Уникальный текст в Excel
Итак, мы подсчитали уникальные значения с помощью функций СЧЁТЕСЛИ и СУММПРОИЗВ. Хотя этот метод прост, но при больших объемах данных он работает медленно. В этой статье мы узнаем, как подсчитать уникальные текстовые значения в Excel с помощью более быстрой формулы
Общая формула для подсчета уникальных текстовых значений в Excel
=SUM(--(FREQUENCY(MATCH(range,range,0),ROW(first_cell_in_range)+1)>0))
Диапазон: диапазон, из которого вы хотите получить уникальные значения.
firstCell в диапазоне: это ссылка на первую ячейку в диапазоне.
Если диапазон A2: A10, то это A2.
Давайте посмотрим на примере, чтобы прояснить ситуацию.
Пример: подсчет уникальных текстовых значений Excel
На листе Excel у меня есть эти данные имен в диапазоне A2: A10. Я хочу получить количество уникальных имен из заданного диапазона.
Примените приведенную выше общую формулу для подсчета уникального текста в диапазоне Excel A2: A10. Я назвал A2: A10 в качестве имен.
=SUM(--(FREQUENCY(MATCH(names,names,0),ROW(A2)+1)>0))
Это возвращает общее количество уникальных текстов в диапазоне A2: A10.
Как это работает?
Давайте решим это изнутри.
link: / lookup-formulas-excel-match-function [MATCH]
(names, names, 0) *:
эта часть вернет первое местоположение каждого значения в диапазоне A2: A10 (имена) согласно свойству MATCH.
\ {1; 1; 3; 3; 5; 5; 7; 7; 7}.
Следующая ссылка: / lookup-and-reference-excel-row-function [ROW]
(A2: A19): возвращает номер строки каждой ячейки в диапазоне A2: A10.
\ {2; 3; 4; 5; 6; 7; 8; 9; 10} link: / lookup-and-reference-excel-row-function [ROW]
(names) -`link: / lookup-and -reference-excel-row-function [ROW] `(A2):
Теперь мы вычитаем номер первой строки из каждого номера строки. Это возвращает массив серийных номеров, начиная с 0.
\ {0; 1; 2; 3; 4; 5; 6; 7; 8} Поскольку мы хотим, чтобы серийный номер начинался с 1, мы добавляем к нему 1.
link: / lookup-and-reference-excel-row-function [ROW]
(names) -`link: / lookup-and-reference-excel-row-function [ROW] `(A2) +1.
Это дает нам массив серийных номеров, начиная с 1.
\ {1; 2; 3; 4; 5; 6; 7; 8; 9} Это поможет нам получить уникальное количество при условии.
Теперь у нас есть:
ссылка: / статистические-формулы-excel-частота-функция-2 [ЧАСТОТА]
(* \ {1; 1; 3; 3; 5; 5; 7; 7; 7}, \ {1; 2; 3; 4; 5; 6; 7; 8; 9}).
Это возвращает частоту каждого числа в данном массиве. \ {2; 0; 2; 0; 2; 0; 3; 0; 0; 0} Здесь каждое положительное число указывает на появление уникального значения при соблюдении критериев. Нам нужно подсчитать значения больше 0 в этом массиве.
Для этого проверяем на> 0. Это вернет ИСТИНА и ЛОЖЬ. Мы конвертируем истину в ложь, используя — (двойной бинарный оператор).
link: / math-and-trig-excel-sum-function [SUM]
(- (\ {2; 0; 2; 0; 2; 0; 3; 0; 0; 0})> 0) это переводится как ссылка: / math-and-trig-excel-sum-function [SUM]
(\ {1; 0; 1; 0; 1; 0; 1; 0; 0; 0})
И, наконец, мы получаем уникальное количество имен в диапазоне критериев как 4.
Как подсчитать уникальный текст в диапазоне с пустыми ячейками?
Проблема с приведенной выше формулой заключается в том, что когда у вас есть пустая ячейка в диапазоне, появляется ошибка # N / A. Чтобы решить эту проблему, нам нужно поставить условие для проверки пустых ячеек.
=SUM(--(FREQUENCY(IF(names <> “”,MATCH(names,names,0)),ROW(A2)+1)>0))
Это даст правильный результат. Здесь мы инкапсулировали ПОИСКПОЗ с функцией ЕСЛИ. Вы можете прочитать полное объяснение в статье Как подсчитать уникальные значения в Excel с несколькими критериями?
Так что да, ребята, вот как вы можете получить уникальное количество текста в Excel. Дайте мне знать, если у вас есть какие-либо сомнения относительно этой или любой другой темы, посвященной расширению Excel / vba. Раздел комментариев открыт для вас.