Оглавление
В учебнике рассматривается получение уникальных значений в Excel с помощью функции UNIQUE и динамических массивов. Вы узнаете простую формулу для поиска уникальных значений в столбце или строке, в нескольких столбцах, на основе условий и многое другое.
В предыдущих версиях Excel извлечение списка уникальных значений было непростой задачей. У нас есть специальная статья, в которой показано, как найти уникальные значения, которые встречаются только один раз, извлечь все отдельные элементы в списке, игнорировать пробелы и т.д. Каждая задача требовала комбинированного использования нескольких функций и многострочной формулы массива, которую могут полностью понять только гуру Excel.
Появление функции UNIQUE в Excel 365 изменило все! То, что раньше было ракетостроением, стало простым, как букварь. Теперь не нужно быть экспертом по формулам, чтобы получить уникальные значения из диапазона на основе одного или нескольких критериев и расположить результаты в алфавитном порядке. Все делается с помощью простых формул, которые каждый может прочитать и настроить под свои нужды.
Функция Excel UNIQUE
Функция UNIQUE в Excel возвращает список уникальных значений из диапазона или массива. Она работает с любым типом данных: текст, числа, даты, время и т.д.
Функция относится к категории функций Динамические массивы. В результате получается динамический массив, который автоматически переливается в соседние ячейки по вертикали или горизонтали.
Синтаксис функции Excel UNIQUE следующий:
UNIQUE(array, [by_col], [exactly_once])Где:
Массив (требуется) - диапазон или массив, из которого будут возвращаться уникальные значения.
By_col (необязательно) - логическое значение, указывающее, как сравнивать данные:
- TRUE - сравнение данных по столбцам.
- FALSE или опущено (по умолчанию) - сравнение данных по строкам.
Точно_онс (необязательно) - логическое значение, определяющее, какие значения считаются уникальными:
- TRUE - возвращает значения, которые встречаются только один раз, что является понятием уникальности в базе данных.
- FALSE или опущено (по умолчанию) - возвращает все отличные (разные) значения в диапазоне или массиве.
Примечание. В настоящее время функция UNIQUE доступна только в Excel для Microsoft 365 и Excel 2021. Excel 2019, 2016 и более ранние версии не поддерживают формулы динамических массивов, поэтому функция UNIQUE недоступна в этих версиях.
Основная формула UNIQUE в Excel
Ниже приведена формула уникальных значений Excel в ее простейшей форме.
Задача состоит в том, чтобы извлечь список уникальных имен из диапазона B2:B10. Для этого мы вводим следующую формулу в D2:
=UNIQUE(B2:B10)
Обратите внимание, что 2-й и 3-й аргументы опущены, потому что значения по умолчанию отлично работают в нашем случае - мы сравниваем строки друг с другом и хотим вернуть все различные имена в диапазоне.
Когда вы нажмете клавишу Enter, чтобы завершить формулу, Excel выведет первое найденное имя в ячейке D2, а остальные имена разбросает по ячейкам ниже. В результате вы получите все уникальные значения в столбце:
Если ваши данные находятся в столбцах от B2 до I2, установите 2-й аргумент в TRUE, чтобы сравнить столбцы друг с другом:
=UNIQUE(B2:I2,TRUE)
Введите приведенную выше формулу в ячейку B4, нажмите Enter , и результаты расползутся по горизонтали в ячейки справа. Таким образом, вы получите уникальные значения в строке:
Совет. Чтобы найти уникальные значения в многостолбцовых массивах и вернуть их в один столбец или строку, используйте UNIQUE вместе с функцией TOCOL или TOROW, как показано в примерах ниже:
- Извлечение уникальных значений из многостолбцового диапазона в столбец
- Извлечение уникальных значений из диапазона с несколькими столбцами в строку
Функция Excel UNIQUE - советы и примечания
UNIQUE - это новая функция, которая, как и другие функции динамических массивов, имеет несколько особенностей, о которых вам следует знать:
- Если массив, возвращаемый UNIQUE, является конечным результатом (т.е. не передается другой функции), Excel динамически создает диапазон соответствующего размера и заполняет его результатами. Формулу нужно вводить только в разделе одна ячейка Важно, чтобы у вас было достаточно пустых ячеек внизу и/или справа от ячейки, в которую вы вводите формулу, иначе возникнет ошибка #SPILL.
- Результаты обновляться автоматически при изменении исходных данных. Однако новые записи, добавленные вне массива ссылок, не будут включены в формулу, если вы не измените параметр массив ссылка. Если вы хотите массив автоматически реагировать на изменение размеров исходного диапазона, затем преобразовать диапазон в таблицу Excel и использовать структурированные ссылки или создать динамический именованный диапазон.
- Динамические массивы между различными файлами Excel работают только в том случае, если обе рабочие тетради открыты Если исходная рабочая книга закрыта, связанная формула UNIQUE вернет ошибку #REF!
- Как и другие функции динамических массивов, UNIQUE можно использовать только в рамках обычного ассортимент не таблица. При размещении в таблицах Excel он выдает ошибку #SPILL!
Как найти уникальные значения в Excel - примеры формул
Приведенные ниже примеры показывают некоторые практические применения функции UNIQUE в Excel. Основная идея заключается в извлечении уникальных значений или удалении дубликатов, в зависимости от вашей точки зрения, самым простым способом.
Извлечение уникальных значений, которые встречаются только один раз
Чтобы получить список значений, которые встречаются в указанном диапазоне ровно один раз, установите 3-й аргумент UNIQUE в TRUE.
Например, чтобы вытащить имена, которые находятся в списке победителей, один раз, используйте эту формулу:
=UNIQUE(B2:B10,,TRUE)
Где B2:B10 - диапазон источника, а 2-й аргумент ( by_col ) является ЛОЖНЫМ или опущен, поскольку наши данные организованы в виде рядов.
Найдите отдельные значения, которые встречаются более одного раза
Если вы преследуете противоположную цель, то есть хотите получить список значений, которые встречаются в заданном диапазоне более одного раза, то используйте функцию UNIQUE вместе с FILTER и COUNTIF:
UNIQUE(FILTER( ассортимент , COUNTIF( ассортимент , ассортимент )>1))Например, для извлечения различных имен, которые встречаются в B2:B10 более одного раза, вы можете использовать эту формулу:
=UNIQUE(FILTER(B2:B10, COUNTIF(B2:B10, B2:B10)>1))
Как работает эта формула:
В основе формулы лежит функция FILTER, которая отфильтровывает дубликаты записей на основе количества вхождений, возвращаемого функцией COUNTIF. В нашем случае результатом COUNTIF является массив подсчетов:
{4;1;3;4;4;1;3;4;3}
Операция сравнения (>1) изменяет вышеуказанный массив на значения TRUE и FALSE, где TRUE представляет элементы, которые появляются более одного раза:
{TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;TRUE}
Этот массив передается в FILTER как включить аргумент, указывающий функции, какие значения включить в результирующий массив:
{ "Andrew"; "David"; "Andrew"; "Andrew"; "David"; "Andrew"; "David"; "Andrew"; "David" }
Как вы можете заметить, выживают только значения, соответствующие TRUE.
Вышеуказанный массив переходит в массив аргумент UNIQUE, и после удаления дубликатов выводит окончательный результат:
{"Андрей"; "Давид"}
Совет. Аналогичным образом можно отфильтровать уникальные значения, которые встречаются более двух раз (>2), более трех раз (>3) и т.д. Для этого просто измените число в логическом сравнении.
Найти уникальные значения в нескольких столбцах (уникальные строки)
В ситуации, когда вы хотите сравнить два или более столбцов и вернуть уникальные значения между ними, включите все целевые столбцы в массив аргумент.
Например, чтобы вернуть уникальные Имя (столбец A) и Фамилию (столбец B) победителей, мы вводим эту формулу в E2:
=UNIQUE(A2:B10)
Нажатие клавиши Enter приводит к следующим результатам:
Чтобы получить уникальные строки т.е. записи с уникальной комбинацией значений в столбцах A, B и C, это и есть формула, которую следует использовать:
=UNIQUE(A2:C10)
Удивительно просто, не правда ли? :)
Получение списка уникальных значений, отсортированных в алфавитном порядке
Как вы обычно выстраиваете алфавит в Excel? Правильно, с помощью встроенной функции сортировки или фильтрации. Проблема в том, что вам нужно заново сортировать каждый раз, когда ваши исходные данные меняются, потому что в отличие от формул Excel, которые автоматически пересчитываются при каждом изменении рабочего листа, эти функции нужно применять вручную.
С появлением динамических функций массивов эта проблема исчезла! Все, что вам нужно сделать, это просто исказить функцию SORT вокруг обычной формулы UNIQUE, например, так:
SORT(UNIQUE(array))Например, чтобы извлечь уникальные значения в столбцах с A по C и расположить результаты от A до Z, используйте эту формулу:
=SORT(UNIQUE(A2:C10))
По сравнению с приведенным выше примером, вывод намного проще для восприятия и работы. Например, мы можем четко видеть, что Эндрю и Дэвид стали победителями в двух разных видах спорта.
Совет. В этом примере мы отсортировали значения в 1-м столбце от A до Z. Это значения по умолчанию функции SORT, поэтому необязательный параметр сортировочный_индекс и порядок сортировки Если вы хотите отсортировать результаты по какому-то другому столбцу или в другом порядке (от Z к A или от наибольшего к наименьшему), задайте 2-й и 3-й аргументы, как описано в руководстве по функции SORT.
Найдите уникальные значения в нескольких столбцах и объедините их в одну ячейку
При поиске в нескольких столбцах по умолчанию функция Excel UNIQUE выводит каждое значение в отдельную ячейку. Возможно, вам удобнее иметь результаты в одной ячейке?
Для этого вместо ссылки на весь диапазон используйте амперсанд (&) для объединения столбцов и поставьте между ними нужный разделитель.
В качестве примера мы объединяем имена в A2:A10 и фамилии в B2:B10, разделяя значения символом пробела (" "):
=UNIQUE(A2:A10&" "&B2:B10)
В результате мы получим список полных имен в одном столбце:
Получение списка уникальных значений на основе критериев
Чтобы извлечь уникальные значения с условием, используйте функции Excel UNIQUE и FILTER вместе:
- Функция FILTER ограничивает данные только теми значениями, которые удовлетворяют условию.
- Функция UNIQUE удаляет дубликаты из отфильтрованного списка.
Вот общая версия формулы отфильтрованных уникальных значений:
UNIQUE(FILTER(array, диапазон_критериев = критерии ))Для этого примера давайте получим список победителей в определенном виде спорта. Для начала мы вводим интересующий нас вид спорта в какую-нибудь ячейку, скажем F1. А затем, используя приведенную ниже формулу, получаем уникальные имена:
=UNIQUE(FILTER(A2:B10, C2:C10=F1))
Где A2:B10 - диапазон для поиска уникальных значений, а C2:C10 - диапазон для проверки критериев.
Фильтруйте уникальные значения на основе нескольких критериев
Чтобы отфильтровать уникальные значения с двумя или более условиями, используйте выражения, как показано ниже, чтобы построить необходимые критерии для функции FILTER:
UNIQUE(FILTER(array, ( критерий_диапазона1 = критерии1 ) * ( критерий_диапазона2 = критерии2 )))Результатом формулы является список уникальных записей, для которых все заданные условия являются ИСТИНОЙ. В терминах Excel это называется логикой AND.
Чтобы увидеть формулу в действии, давайте получим список уникальных победителей по виду спорта в G1 (критерий 1) и по возрасту в G2 (критерий 2).
При исходном диапазоне в A2:B10, спорте в C2:C10 (критерий_диапазона 1) и возрасте в D2:D10 (критерий_диапазона 2) формула принимает следующий вид:
=UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
И возвращает именно те результаты, которые мы ищем:
Как работает эта формула:
Вот высокоуровневое объяснение логики формулы:
В включить аргумент функции FILTER, вы предоставляете две или более пары диапазон/критерии. Результатом каждого логического выражения является массив значений TRUE и FALSE. Умножение массивов приводит логические значения к числам и создает массив из 1 и 0. Поскольку умножение на ноль всегда дает ноль, только те записи, которые удовлетворяют всем условиям, имеют 1 в конечном массиве. FILTERфункция отфильтровывает элементы, соответствующие 0, и передает результаты в UNIQUE.
Для получения дополнительной информации см. раздел ФИЛЬТР с несколькими критериями с использованием логики AND.
Фильтр уникальных значений с помощью нескольких критериев ИЛИ
Чтобы получить список уникальных значений на основе нескольких критериев OR, т.е. когда тот или иной критерий равен TRUE, сложите логические выражения, а не перемножайте их:
UNIQUE(FILTER(array, ( критерий_диапазона1 = критерии1 ) + ( критерий_диапазона2 = критерии2 )))Например, чтобы показать победителей в Футбол или Хоккей можно использовать эту формулу:
=UNIQUE(FILTER(A2:B10, (C2:C10="Футбол") + (C2:C10="Хоккей")))
При необходимости вы, конечно, можете ввести критерии в отдельные ячейки и ссылаться на эти ячейки, как показано ниже:
=UNIQUE(FILTER(A2:B10, (C2:C10=G1) + (C2:C10=G2)))
Как работает эта формула:
Как и при проверке нескольких критериев AND, вы помещаете несколько логических выражений в включить аргумент функции FILTER, каждый из которых возвращает массив значений TRUE и FALSE. При сложении этих массивов элементы, для которых один или несколько критериев имеют значение TRUE, будут иметь значение 1, а элементы, для которых все критерии имеют значение FALSE, будут иметь значение 0. В результате все записи, удовлетворяющие хоть одному условию, попадают в массив, который передается в UNIQUE.
Для получения дополнительной информации см. раздел ФИЛЬТР с несколькими критериями с использованием логики ИЛИ.
Получение уникальных значений в Excel без учета пробелов
Если вы работаете с набором данных, содержащим некоторые пробелы, список уникальных значений, полученный с помощью обычной формулы, скорее всего, будет содержать пустые ячейки и/или нулевые значения. Это происходит потому, что функция Excel UNIQUE предназначена для возврата всех отдельных значений в диапазоне, включая пустые. Таким образом, если ваш исходный диапазон содержит как нули, так и пустые ячейки, список уникальных значений будет содержать 2 нуля, один из которых представляет пустые ячейки.а в другой - нулевое значение. Кроме того, если исходные данные содержат пустые строки, возвращаемые какой-либо формулой, то в уик-лист также будет включена пустая строка (""), которая визуально выглядит как пустая ячейка:
Чтобы получить список уникальных значений без пробелов, нужно сделать следующее:
- Отфильтруйте пустые ячейки и пустые строки с помощью функции FILTER.
- Используйте функцию UNIQUE, чтобы ограничить результаты только уникальными значениями.
В общем виде формула выглядит следующим образом:
UNIQUE(FILTER( ассортимент , ассортимент ""))В этом примере формула в D2 имеет вид:
=UNIQUE(FILTER(B2:B12, B2:B12""))
В результате Excel возвращает список уникальных имен без пустых ячеек:
Примечание. В случае, если исходные данные содержат нули В уникальный список будет включено одно нулевое значение.
Найдите уникальные значения в определенных столбцах
Иногда вам может понадобиться извлечь уникальные значения из двух или более столбцов, которые не являются соседними друг с другом. Иногда вам также может понадобиться изменить порядок столбцов в полученном списке. Обе задачи могут быть выполнены с помощью функции CHOOSE.
UNIQUE(SELECT({1,2,...}, диапазон1 , диапазон2 ))Предположим, что из нашей таблицы-образца вы хотите получить список победителей на основе значений в столбцах A и C и расположить результаты в таком порядке: сначала вид спорта (столбец C), а затем имя спортсмена (столбец A). Чтобы это сделать, построим такую формулу:
=UNIQUE(CHOOSE({1,2}, C2:C10, A2:A10))
И получите следующий результат:
Как работает эта формула:
Функция CHOOSE возвращает 2-мерный массив значений из указанных столбцов. В нашем случае она также меняет порядок столбцов.
{ "Баскетбол", "Андрей"; "Баскетбол", "Бетти"; "Волейбол", "Дэвид"; "Баскетбол", "Андрей"; "Хоккей", "Андрей"; "Футбол", "Роберт"; "Волейбол", "Дэвид"; "Хоккей", "Андрей"; "Баскетбол", "Дэвид"}.
Из приведенного выше массива функция UNIQUE возвращает список уникальных записей.
Поиск уникальных значений и обработка ошибок
Формулы UNIQUE, которые мы рассматривали в этом учебнике, работают просто идеально... при условии, что есть хотя бы одно значение, которое соответствует заданным критериям. Если формула ничего не находит, возникает ошибка #CALC!
Чтобы этого не произошло, просто оберните свою формулу в функцию IFERROR.
Например, если не найдено ни одного уникального значения, удовлетворяющего критериям, вы можете не отображать ничего, т.е. пустую строку (""):
=IFERROR(UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
Или вы можете четко сообщить пользователям, что результатов не найдено:
=IFERROR(UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
Функция Excel UNIQUE не работает
Как вы видели, появление функции UNIQUE сделало поиск уникальных значений в Excel невероятно простым. Если вдруг ваша формула выдает ошибку, скорее всего, дело в одном из следующих факторов.
#NAME? ошибка
Возникает, если вы используете формулу UNIQUE в версии Excel, где эта функция не поддерживается.
В настоящее время функция UNIQUE доступна только в Excel 365 и 2021. Если у вас другая версия, вы можете найти подходящее решение в этом руководстве: Как получить уникальные значения в Excel 2019, Excel 2016 и более ранних версиях.
Ошибка #NAME? в поддерживаемых версиях указывает на неправильное написание имени функции.
ошибка #SPILL
Возникает, если одна или несколько ячеек в диапазоне разлива не являются полностью пустыми.
Чтобы исправить ошибку, просто очистите или удалите непустые ячейки. Чтобы увидеть, какие именно ячейки мешают, щелкните индикатор ошибки, а затем щелкните Выберите мешающие клетки . Для получения дополнительной информации см. статью #SPILL! ошибка в Excel - причины и устранение.
Вот как найти уникальные значения в Excel. Я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!
Рабочая тетрадь для тренировок для скачивания
Примеры формул уникальных значений в Excel (файл .xlsx)