Оглавление
В учебнике рассматривается, как использовать новые функции динамического массива для подсчета уникальных значений в Excel: формула для подсчета уникальных записей в столбце, с несколькими критериями, игнорирование пробелов и многое другое.
Пару лет назад мы обсуждали различные способы подсчета уникальных и отличных значений в Excel. Но, как и любая другая программа, Microsoft Excel постоянно развивается, и новые функции появляются почти в каждом выпуске. Сегодня мы рассмотрим, как подсчет уникальных значений в Excel может быть выполнен с помощью недавно представленных функций динамического массива. Если вы еще не использовали ни одну из этих функций, выбудут поражены, увидев, насколько проще становятся формулы с точки зрения построения и удобства использования.
Примечание. Все формулы, рассматриваемые в этом учебнике, используют функцию UNIQUE, которая доступна только в Excel 365 и Excel 2021. Если вы используете Excel 2019, Excel 2016 или более ранние версии, ознакомьтесь с решениями в этой статье.
Подсчет уникальных значений в столбце
Самый простой способ подсчета уникальных значений в столбце - использовать функцию UNIQUE вместе с функцией COUNTA:
COUNTA(UNIQUE( ассортимент ))Формула работает по такой простой логике: UNIQUE возвращает массив уникальных записей, а COUNTA подсчитывает все элементы массива.
В качестве примера подсчитаем уникальные имена в диапазоне B2:B10:
=COUNTA(UNIQUE(B2:B10))
Формула говорит нам, что в списке победителей есть 5 разных имен:
Совет. В данном примере мы подсчитываем уникальные текстовые значения, но вы можете использовать эту формулу и для других типов данных, включая числа, даты, время и т.д.
Подсчет уникальных значений, которые встречаются только один раз
В предыдущем примере мы подсчитали все различные (отличные) записи в столбце. В этот раз мы хотим узнать количество уникальных записей, которые происходят только один раз Чтобы это сделать, постройте свою формулу таким образом:
Чтобы получить список однократных вхождений, установите 3-й аргумент UNIQUE в TRUE:
UNIQUE(B2:B10,,TRUE))
Чтобы подсчитать уникальные однократные вхождения, вложите UNIQUE в функцию ROW:
ROWS(UNIQUE(B2:B10,,TRUE))
Обратите внимание, что COUNTA не будет работать в этом случае, потому что она считает все непустые ячейки, включая значения ошибок. Поэтому, если результатов не будет найдено, UNIQUE вернет ошибку, а COUNTA посчитает ее как 1, что неправильно!
Чтобы обработать возможные ошибки, оберните функцию IFERROR вокруг вашей формулы и поручите ей вывести 0 при возникновении любой ошибки:
=IFERROR(ROWS(UNIQUE(B2:B10,,TRUE)), 0)
В результате вы получаете подсчет, основанный на концепции уникальности базы данных:
Подсчет уникальных строк в Excel
Теперь, когда вы знаете, как подсчитать уникальные ячейки в столбце, есть идеи, как найти количество уникальных строк?
Вот решение:
ROWS(UNIQUE( ассортимент ))Хитрость заключается в том, чтобы "скормить" весь диапазон функции UNIQUE, чтобы она нашла уникальные комбинации значений в нескольких столбцах. После этого вы просто заключаете формулу в функцию ROWS для подсчета количества строк.
Например, для подсчета уникальных строк в диапазоне A2:C10 мы используем следующую формулу:
=ROWS(UNIQUE(A2:C10))
Подсчет уникальных записей, игнорирующих пустые ячейки
Чтобы подсчитать уникальные значения в Excel, игнорируя пустые, используйте функцию FILTER для фильтрации пустых ячеек, а затем деформируйте ее в уже знакомую формулу COUNTA UNIQUE:
COUNTA(UNIQUE(FILTER( ассортимент , ассортимент "")))При исходных данных в B2:B11 формула принимает следующий вид:
=COUNTA(UNIQUE(FILTER(B2:B11, B2:B11"")))
На скриншоте ниже показан результат:
Подсчет уникальных значений с помощью критериев
Чтобы извлечь уникальные значения на основе определенных критериев, вы снова используете функции UNIQUE и FILTER вместе, как описано в этом примере. Затем вы используете функцию ROWS для подсчета уникальных записей и IFERROR для отлова всех видов ошибок и замены их на 0:
IFERROR(ROWS(UNIQUE( ассортимент , диапазон_критериев = критерии ))), 0)Например, чтобы узнать, сколько различных победителей существует в определенном виде спорта, используйте эту формулу:
=IFERROR(ROWS(UNIQUE(FILTER(A2:A10,B2:B10=E1))), 0)
Где A2:A10 - диапазон для поиска уникальных имен ( ассортимент ), B2:B10 - виды спорта, в которых соревнуются победители ( диапазон_критериев ), а E1 - интересующий нас вид спорта ( критерии ).
Подсчет уникальных значений с помощью нескольких критериев
Формула для подсчета уникальных значений на основе нескольких критериев практически аналогична приведенному выше примеру, хотя критерии строятся немного по-другому:
IFERROR(ROWS(UNIQUE( ассортимент , ( критерий_диапазона1 = критерии1 ) * ( критерий_диапазона2 = критерии2 )))), 0)Те, кому интересно узнать внутреннюю механику, могут найти объяснение логики формулы здесь: Найти уникальные значения на основе нескольких критериев.
В этом примере мы собираемся выяснить, сколько различных победителей есть в определенном виде спорта в F1 ( критерии 1 ) и младше возраста в F2 ( критерии 2 ). Для этого мы используем следующую формулу:
=IFERROR(ROWS(UNIQUE(FILTER(A2:A10, (B2:B10=F1) * (C2:C10
Где A2:B10 - список имен ( ассортимент ), C2:C10 - спортивные ( диапазон_критериев 1 ) и D2:D10 - возрасты ( диапазон_критериев 2 ).
Вот как подсчитывать уникальные значения в Excel с помощью новых функций динамического массива. Уверен, вы оцените, насколько упростились все решения. В любом случае, спасибо за чтение и надеемся увидеть вас в нашем блоге на следующей неделе!
Рабочая тетрадь для тренировок для скачивания
Примеры формулы подсчета уникальных значений (файл .xlsx)