Хитрости »
1 Май 2011 532261 просмотров
Как получить список уникальных(не повторяющихся) значений?
Представим себе большой список различных наименований, ФИО, табельных номеров и т.п. А необходимо из этого списка оставить список все тех же наименований, но чтобы они не повторялись — т.е. удалить из этого списка все дублирующие записи. Как это иначе называют: создать список уникальных элементов, список неповторяющихся, без дубликатов. Для этого существует несколько способов: встроенными средствами Excel, встроенными формулами и, наконец, при помощи кода Visual Basic for Application(VBA) и сводных таблиц. В этой статье рассмотрим каждый из вариантов.
- При помощи встроенных возможностей Excel 2007 и выше
- При помощи Расширенного фильтра
- При помощи формул
- При помощи кодов Visual Basic for Application(VBA) — макросы, включая универсальный код выборки из произвольного диапазона
- При помощи сводных таблиц
В Excel 2007 и 2010 это сделать проще простого — есть специальная команда, которая так и называется — Удалить дубликаты (Remove Duplicates). Расположена она на вкладке Данные (Data) подраздел Работа с данными (Data tools)
Как использовать данную команду. Выделяете столбец(или несколько) с теми данными, в которых надо удалить дублирующие записи. Идете на вкладку Данные (Data) —Удалить дубликаты (Remove Duplicates).
Если выделить один столбец, но рядом с ним будут еще столбцы с данными(или хотя бы один столбец), то Excel предложит выбрать: расширить диапазон выборки этим столбцом или оставить выделение как есть и удалить данные только в выделенном диапазоне. Важно помнить, что если не расширить диапазон, то данные будут изменены лишь в одном столбце, а данные в прилегающем столбце останутся без малейших изменений.
Появится окно с параметрами удаления дубликатов
Ставите галочки напротив тех столбцов, дубликаты в которых надо удалить и жмете Ок. Если в выделенном диапазоне так же расположены заголовки данных, то лучше поставить флаг Мои данные содержат заголовки, чтобы случайно не удалить данные в таблице(если они вдруг полностью совпадают со значением в заголовке).
Способ 1: Расширенный фильтр
В случае с Excel 2003 все посложнее. Там нет такого инструмента, как Удалить дубликаты. Но зато есть такой замечательный инструмент, как Расширенный фильтр. В 2003 этот инструмент можно найти в Данные —Фильтр —Расширенный фильтр. Прелесть этого метода в том, с его помощью можно не портить исходные данные, а создать список в другом диапазоне.
В 2007-2010 Excel, он тоже есть, но немного запрятан. Расположен на вкладке Данные (Data), группа Сортировка и фильтр (Sort & Filter) — Дополнительно (Advanced)
Как его использовать: запускаем указанный инструмент — появляется диалоговое окно:
- Обработка: Выбираем Скопировать результат в другое место (Copy to another location).
- Исходный диапазон (List range): Выбираем диапазон с данными(в нашем случае это А1:А51).
- Диапазон критериев (Criteria range): в данном случае оставляем пустым.
- Поместить результат в диапазон (Copy to): указываем первую ячейку для вывода данных — любую пустую(на картинке — E2).
- Ставим галочку Только уникальные записи (Unique records only).
- Жмем Ок.
Примечание: если вы хотите поместить результат на другой лист, то просто так указать другой лист не получится. Вы сможете указать ячейку на другом листе, но…Увы и ах…Excel выдаст сообщение, что не может скопировать данные на другие листы. Но и это можно обойти, причем довольно просто. Надо всего лишь запустить Расширенный фильтр с того листа, на который хотим поместить результат. А в качестве исходных данных выбираем данные с любого листа — это дозволено.
Так же можно не выносить результат в другие ячейки, а отфильтровать данные на месте. Данные от этого никак не пострадают — это будет обычная фильтрация данных.
Для этого надо просто в пункте Обработка выбрать Фильтровать список на месте (Filter the list, in-place).
Способ 2: Формулы
Этот способ сложнее в понимании для неопытных пользователей, но зато он создает список уникальных значений, не изменяя при этом исходные данные. Ну и он более динамичен: если изменить данные в исходной таблице, то изменится и результат. Иногда это бывает полезно. Попытаюсь объяснить на пальцах что и к чему: допустим, список с данными у Вас расположен в столбце
А
(
А1:А51
, где
А1
— заголовок). Выводить список мы будем в столбец
С
, начиная с ячейки
С2
. Формула в
C2
будет следующая:
{=ИНДЕКС($A$2:$A$51;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($C$1:C1;$A$2:$A$51)=0;СТРОКА($A$1:$A$50));1))}
{=INDEX($A$2:$A$51;SMALL(IF(COUNTIF($C$1:C1;$A$2:$A$51)=0;ROW($A$1:$A$50));1))}
Детальный разбор работы данной формулы приведен в статье: Как просмотреть этапы вычисления формул
Надо отметить, что эта формула является формулой массива. Об этом могут сказать фигурные скобки, в которые заключена данная формула. А вводится такая формула в ячейку сочетанием клавиш —
Ctrl
+
Shift
+
Enter
(при этом сами скобки вводить не надо — они появятся сами после ввода формулы тремя клавишами
Ctrl
+
Shift
+
Enter
). После того, как мы ввели эту формулу в
C2
мы её должны скопировать и вставить в несколько строк так, чтобы точно отобразить все уникальные элементы. Как только формула в нижних ячейках вернет
#ЧИСЛО!(#NUM!)
— это значит все элементы отображены и ниже протягивать формулу нет смысла. Чтобы ошибку избежать и сделать формулу более универсальной(не протягивая каждый раз до появления ошибки) можно использовать нехитрую проверку:
для Excel 2007 и выше:
{=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$51;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($C$1:C1;$A$2:$A$51)=0;СТРОКА($A$1:$A$50));1));»»)}
{=IFERROR(INDEX($A$2:$A$51;SMALL(IF(COUNTIF($C$1:C1;$A$2:$A$51)=0;ROW($A$1:$A$50));1));»»)}
для Excel 2003:
{=ЕСЛИ(ЕОШ(НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($C$1:C1;$A$2:$A$51)=0;СТРОКА($A$1:$A$50));1));»»;ИНДЕКС($A$2:$A$51;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($C$1:C1;$A$2:$A$51)=0;СТРОКА($A$1:$A$50));1)))}
{=IF(ISERR(SMALL(IF(COUNTIF($C$1:C1;$A$2:$A$51)=0;ROW($A$1:$A$50));1));»»;INDEX($A$2:$A$51;SMALL(IF(COUNTIF($C$1:C1;$A$2:$A$51)=0;ROW($A$1:$A$50));1)))}
Тогда вместо ошибки
#ЧИСЛО!(#NUM!)
у вас будут пустые ячейки(не совсем пустые, конечно — с формулами :-)).
Чуть подробнее про отличия и нюансы формул ЕСЛИОШИБКА и ЕСЛИ(ЕОШ можно прочесть в этой статье: Как в ячейке с формулой вместо ошибки показать 0
Для пользователей Excel 2021 выше, а так же пользователей Excel 365(с активной подпиской) — использовать формулы для извлечения уникальных элементов проще простого. В этих версиях появилась функция
УНИК(UNIQUE)
, которая как раз получает список уникальных значений на основании переданного диапазона:
=УНИК($A$2:$A$51)
=UNIQUE($A$2:$A$51)
Что самое важное в данном случае — это функция динамического массива и вводить её надо только в одну ячейку C2, а результат она поместит сама в нужное количество ячеек.
Способ 3: код VBA
Данный подход потребует разрешения макросов и базовых знаний о работе с ними. Если не уверены в своих знаниях для начала рекомендую прочитать эти статьи:
- Что такое макрос и где его искать? к статье приложен видеоурок
- Что такое модуль? Какие бывают модули? потребуется, чтобы понять куда вставлять приведенные ниже коды
Оба приведенных ниже кода следует помещать в стандартный модуль. Макросы должны быть разрешены.
Исходные данные оставим в том же порядке — список с данными расположен в столбце «А«(А1:А51, где А1 — заголовок). Только выводить список мы будем не в столбец С, а в столбец Е, начиная с ячейки Е2:
Sub Extract_Unique() Dim vItem, avArr, li As Long ReDim avArr(1 To Rows.Count, 1 To 1) With New Collection On Error Resume Next For Each vItem In Range("A2", Cells(Rows.Count, 1).End(xlUp)).Value 'Cells(Rows.Count, 1).End(xlUp) – определяет последнюю заполненную ячейку в столбце А .Add vItem, CStr(vItem) If Err = 0 Then li = li + 1: avArr(li, 1) = vItem Else: Err.Clear End If Next End With If li Then [E2].Resize(li).Value = avArr End Sub
С помощью данного кода можно извлечь уникальные не только из одного столбца, но и из любого диапазона столбцов и строк. Если вместо строки
Range(«A2», Cells(Rows.Count, 1).End(xlUp)).Value
указать Selection.Value, то результатом работы кода будет список уникальных элементов из выделенного на активном листе диапазона. Только тогда неплохо бы и ячейку вывода значений изменить — вместо [E2] поставить ту, в которой данных нет.
Так же можно указать конкретный диапазон:
Или другой столбец:
Range("C2", Cells(Rows.Count, 3).End(xlUp)).Value
здесь отдельно стоит обратить внимание то, что в данном случае помимо изменения А2 на С2 изменилась и цифра 1 на 3. Это указание на номер столбца, в котором необходимо определить последнюю заполненную ячейку, чтобы код не просматривал лишние ячейки. Подробнее про это можно прочитать в статье: Как определить последнюю ячейку на листе через VBA?
Универсальный код выбора уникальных значений
Код ниже можно применять для любых диапазонов. Достаточно запустить его, указать диапазон со значениями для отбора только неповторяющихся(допускается выделение более одного столбца) и ячейку для вывода результата. Указанные ячейки будут просмотрены, из них будут отобраны только уникальные значения(пустые ячейки при этом пропускаются) и результирующий список будет записан, начиная с указанной ячейки.
Sub Extract_Unique() Dim x, avArr, li As Long Dim avVals Dim rVals As Range, rResultCell As Range On Error Resume Next 'запрашиваем адрес ячеек для выбора уникальных значений Set rVals = Application.InputBox("Укажите диапазон ячеек для выборки уникальных значений", "Запрос данных", "A2:A51", Type:=8) If rVals Is Nothing Then 'если нажата кнопка Отмена Exit Sub End If 'если указана только одна ячейка - нет смысла выбирать If rVals.Count = 1 Then MsgBox "Для отбора уникальных значений требуется указать более одной ячейки", vbInformation, "www.excel-vba.ru" Exit Sub End If 'отсекаем пустые строки и столбцы вне рабочего диапазона Set rVals = Intersect(rVals, rVals.Parent.UsedRange) 'если указаны только пустые ячейки вне рабочего диапазона If rVals Is Nothing Then MsgBox "Недостаточно данных для выбора значений", vbInformation, "www.excel-vba.ru" Exit Sub End If avVals = rVals.Value 'запрашиваем ячейку для вывода результата Set rResultCell = Application.InputBox("Укажите ячейку для вставки отобранных уникальных значений", "Запрос данных", "E2", Type:=8) If rResultCell Is Nothing Then 'если нажата кнопка Отмена Exit Sub End If 'определяем максимально возможную размерность массива для результата ReDim avArr(1 To Rows.Count, 1 To 1) 'при помощи объекта Коллекции(Collection) 'отбираем только уникальные записи, 'т.к. Коллекции не могут содержать повторяющиеся значения With New Collection On Error Resume Next For Each x In avVals If Len(CStr(x)) Then 'пропускаем пустые ячейки .Add x, CStr(x) 'если добавляемый элемент уже есть в Коллекции - возникнет ошибка 'если же ошибки нет - такое значение еще не внесено, 'добавляем в результирующий массив If Err = 0 Then li = li + 1 avArr(li, 1) = x Else 'обязательно очищаем объект Ошибки Err.Clear End If End If Next End With 'записываем результат на лист, начиная с указанной ячейки If li Then rResultCell.Cells(1, 1).Resize(li).Value = avArr End Sub
Способ 4: Сводные таблицы
Несколько нестандартный способ извлечения уникальных значений.
- Выделяем один или несколько столбцов в таблице, переходим на вкладку Вставка(Insert) -группа Таблица(Table) —Сводная таблица(PivotTable)
- В диалоговом окне Создание сводной таблицы(Create PivotTable) проверяем правильность выделения диапазона данных (или установить новый источник данных)
- указываем место размещения Сводной таблицы:
- На новый лист (New Worksheet)
- На существующий лист (Existing Worksheet)
- подтверждаем создание нажатием кнопки OK
Т.к. сводные таблицы при обработке данных, которые помещаются в область строк или столбцов, отбирают из них только уникальные значения для последующего анализа, то от нас ровным счетом ничего не требуется, кроме как создать сводную таблицу и поместить в область строк или столбцов данные нужного столбца.
На примере приложенного к статье файла я:
- выделил диапазон A1:B51 на листе Извлечение по критерию
- вызвал меню вставки сводной таблицы: вкладка Вставка(Insert) -группа Таблица(Table) —Сводная таблица(PivotTable)
выбрал вставить на новый лист(New Worksheet) - назвал этот лист Уникальные сводной таблицей
- поле Данные поместил в область строк
- поле ФИО в область фильтра. Почему? Чтобы удобно было выбирать одно или несколько ФИО и в сводной отображался бы список уникальных месяцев только для выбранных фамилий
В чем неудобство работы со сводными в данном случае: при изменении в исходных данных сводную таблицу придется обновлять вручную: Выделить любую ячейку сводной таблицы -Правая кнопка мыши —Обновить(Refresh) или вкладка Данные(Data) —Обновить все(Refresh all) —Обновить(Refresh). А если исходные данные пополняются динамически и того хуже — надо будет заново указывать диапазон исходных данных. И еще один минус — данные внутри сводной таблицы нельзя менять. Поэтому если с полученным списком необходимо будет работать в дальнейшем, то после создания нужного списка при помощи сводной его надо скопировать и вставить на нужный лист.
Чтобы лучше понимать все действия и научиться обращаться со сводными таблицами настоятельно рекомендую ознакомиться со статьей Общие сведения о сводных таблицах — к ней приложен видеоурок, в котором я наглядно демонстрирую простоту и удобство работы с основными возможностями сводных таблиц.
В приложенном примере помимо описанных приемов, записана чуть более сложная вариация извлечения уникальных элементов формулой и кодом, а именно: извлечение уникальных элементов по критерию. О чем речь: если в одном столбце фамилии, а во втором(В) некие данные(в файле это месяцы) и требуется извлечь уникальные значения столбца В только для выбранной фамилии. Примеры подобных извлечений уникальных расположены на листе Извлечение по критерию.
Скачать пример:
Tips_All_ExtractUnique.xls (108,0 KiB, 18 435 скачиваний)
Также см.:
Работа с дубликатами
Как подсчитать количество повторений
Общие сведения о сводных таблицах
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel для iPad Excel для iPhone Excel для планшетов с Android Excel для телефонов с Android Еще…Меньше
Функция УНИК возвращает список уникальных значений в списке или диапазоне.
Возвращение уникальных значений из списка значений
Возвращение уникальных имен из списка имен
=УНИК(массив,[by_col],[exactly_once])
Функция УНИК имеет следующие аргументы:
Аргумент |
Описание |
---|---|
массив Обязательный |
Диапазон или массив, из которого возвращаются уникальные строки или столбцы |
[by_col] Необязательный |
Аргумент by_col является логическим значением, указывающим, как проводить сравнение. Значение ИСТИНА сравнивает столбцы друг с другом и возвращает уникальные столбцы Значение ЛОЖЬ (или отсутствующее значение) сравнивает строки друг с другом и возвращает уникальные строки |
[exactly_once] Необязательно |
Аргумент exactly_once является логическим значением, которое возвращает строки или столбцы, встречающиеся в диапазоне или массиве только один раз. Это концепция базы данных УНИК. Значение ИСТИНА возвращает из диапазона или массива все отдельные строки или столбцы, которые встречаются только один раз Значение ЛОЖЬ (или отсутствующее значение) возвращает из диапазона или массива все отдельные строки или столбцы |
Примечания:
-
Массив может рассматриваться как строка или столбец со значениями либо комбинация строк и столбцов со значениями. В примерах выше массивы для наших формул УНИК являются диапазонами D2:D11 и D2:D17 соответственно.
-
Функция УНИК возвращает массив, который будет рассеиваться, если это будет конечным результатом формулы. Это означает, что Excel будет динамически создавать соответствующий по размеру диапазон массива при нажатии клавиши ВВОД. Если ваши вспомогательные данные хранятся в таблице Excel, тогда массив будет автоматически изменять размер при добавлении и удалении данных из диапазона массива, если вы используете Структурированные ссылки. Дополнительные сведения см. в статье Поведение рассеянного массива.
-
Приложение Excel ограничило поддержку динамических массивов в операциях между книгами, и этот сценарий поддерживается, только если открыты обе книги. Если закрыть исходную книгу, все связанные формулы динамического массива вернут ошибку #ССЫЛКА! после обновления.
Примеры
Пример 1
В этом примере СОРТ и УНИК используются совместно для возврата уникального списка имен в порядке возрастания.
Пример 2
В этом примере аргумент exactly_once имеет значение ИСТИНА, и функция возвращает только тех клиентов, которые обслуживались один раз. Это может быть полезно, если вы хотите найти людей, которые не получали дополнительное обслуживание, и связаться с ними.
Пример 3
В этом примере используется амперсанд (&) для сцепления фамилии и имени в полное имя. Обратите внимание, что формула ссылается на весь диапазон имен в массивах A2:A12 и B2:B12. Это позволяет Excel вернуть массив всех имен.
Советы:
-
Если указать диапазон имен в формате таблицы Excel, формула автоматически обновляется при добавлении или удалении имен.
-
Чтобы отсортировать список имен, можно добавить функцию СОРТ: =СОРТ(УНИК(B2:B12&» «&A2:A12))
Пример 4
В этом примере сравниваются два столбца и возвращаются только уникальные значения в них.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
Функция ФИЛЬТР
Функция СЛУЧМАССИВ
Функция ПОСЛЕДОВ
Функция СОРТ
Функция СОРТПО
Ошибки #SPILL! в Excel
Динамические массивы и поведение массива с переносом
Оператор неявного пересечения: @
Нужна дополнительная помощь?
Как найти и выделить уникальные значения в столбце
В этой статье описаны наиболее эффективные способы поиска, фильтрации и выделения уникальных значений в Excel.
Ранее мы рассматривали различные способы подсчета уникальных значений в Excel. Но иногда вы просто хотите посмотреть на уникальные или разные значения в столбце, не пересчитывая их. Но прежде чем мы продолжим, давайте убедимся, что вы понимаете, о чем мы говорим. Нравится,
- Уникальные значения — это элементы, которые появляются в наборе данных только один раз.
- Существуют различные элементы, которые появляются хотя бы один раз, то есть они не повторяются и не повторяются при первых вхождениях повторяющихся значений.
Теперь давайте рассмотрим передовые методы управления уникальными и отличными значениями в таблицах Excel.
- Как найти уникальные значения с помощью формул.
- Фильтр по уникальным данным.
- Выделение и условное форматирование.
- Быстрый и простой способ — это Duplicate Remover.
Как найти уникальные значения при помощи формул.
Самый простой способ сделать это — использовать функции ЕСЛИ и СЧЁТЕСЛИ. В зависимости от типа данных, которые вы хотите найти, могут быть разные варианты формулы, как показано в примерах ниже.
Как найти уникальные значения в столбце.
Чтобы найти разные или уникальные значения в списке, используйте одну из следующих формул, где A2 — первая, а A10 — последняя ячейка данных.
Чтобы найти уникальные значения в Excel:
= ЕСЛИ (СЧЁТЕСЛИ ($ A $ 2: $ A $ 10, $ A2) = 1, «Уникальный»; «»)
Чтобы определить разные значения:
= ЕСЛИ (СЧЁТЕСЛИ ($ A $ 2: $ A2; $ A2) = 1, «Разное»; «»)
Во второй формуле во второй ссылке на ячейку есть лишь небольшая разница, которая, однако, имеет большое значение:
Совет. Если вы хотите найти уникальные значения между двумя столбцами, например Чтобы найти значения в одном столбце, но не в другом, используйте формулу, описанную в статье Как сравнить 2 столбца на предмет различий.
Уникальные строки в таблице.
Точно так же вы можете найти уникальные строки в электронной таблице Excel, исследуя записи не в одном, а в двух или более столбцах. В этом случае для оценки значений необходимо использовать СЧЁТЕСЛИ вместо СЧЁТЕСЛИ (в одной формуле можно обработать до 127 пар диапазон / критерий).
Формула получения уникальных строк:
= ЕСЛИ (СЧЁТЕСЛИ ($ A $ 2: $ A $ 10, $ A2, $ B $ 2: $ B $ 10, $ B2) = 1, «Уникальный»; «»)
Формула для поиска разных строк:
= ЕСЛИ (СЧЁТЕСЛИ ($ A $ 2: $ A2, $ A2, $ B $ 2: $ B2, $ B2) = 1, «Разное»; «»)
В нашем случае уникальная комбинация Имя + Фамилия встречается 2 раза. И в списке 6 человек, трое из которых — дубликаты.
Как найти уникальные записи с учетом регистра?
Если вы работаете с набором данных, где случайность имеет значение, вам понадобится немного более сложная формула массива.
Найдите уникальные значения с учетом регистра :
{= IF (SUM ((- EXACT ($ A $ 2: $ A $ 10, A2))) = 1; «Уникальный»;»»)}
Ищите разные значения с учетом регистра :
{= IF (SUM ((- EXACT ($ A $ 2: $ A2, $ A2))) = 1; «Разное»;»»)}
Поскольку обе они являются формулами массива, обязательно нажмите Ctrl + Shift + Enter, чтобы правильно их написать.
При обнаружении уникальных или различных значений их можно легко отфильтровать, выбрать или скопировать, как описано ниже.
Фильтр для уникальных значений.
Чтобы увидеть в списке только уникальные или уникальные значения, отфильтруйте их, выполнив следующие действия.
- Примените одну из приведенных выше формул для определения уникальных или различных ячеек или строк.
- Выберите диапазон и нажмите кнопку «Фильтр» на вкладке «Данные».
- Щелкните стрелку фильтра в заголовке столбца, содержащего формулу, и выберите то, что вы хотите просмотреть:
Как выбрать уникальные из фильтра.
Если у вас относительно небольшой список уникальных, вы можете просто выбрать их обычным способом с помощью мыши, удерживая нажатой клавишу Ctrl. Если отфильтрованный список содержит сотни или тысячи строк, вы можете использовать один из следующих методов для экономии времени.
Чтобы быстро выбрать весь результирующий список, включая заголовки столбцов, отфильтровать по уникальным значениям, щелкните ячейку в результирующем списке, затем нажмите Ctrl + A.
Чтобы выбрать уникальные значения без заголовков столбцов, отфильтруйте их, выберите первую ячейку с данными и нажмите Ctrl + Shift + End, чтобы расширить выделение до последней ячейки.
Примечание. В некоторых редких случаях, особенно в очень больших книгах, с помощью сочетаний клавиш, рекомендованных выше, можно выбрать как видимые, так и невидимые ячейки. Чтобы исправить это, сначала нажмите Ctrl + A или Ctrl + Shift + End, затем нажмите Alt +; для выбора только видимых ячеек, игнорируя скрытые строки.
Если вам трудно запомнить такое количество комбинаций, используйте этот визуальный метод: выделите весь список, затем перейдите на главную> Найти и выбрать> Выбрать группу ячеек и выберите «Только видимые ячейки».
Как скопировать уникальные значения в другое место?
Чтобы скопировать список в новое место, сделайте следующее:
- Выберите отфильтрованные значения с помощью мыши или сочетаний клавиш, упомянутых выше.
- Нажмите Ctrl + C, чтобы скопировать выбранные значения.
- Выберите верхнюю левую ячейку в целевом диапазоне (она может быть на том же листе или на другом листе) и нажмите Ctrl + V, чтобы вставить данные.
Выделение цветом уникальных значений в столбце.
Всякий раз, когда вам нужно выделить что-то в Excel на основе определенного условия, сразу переходите к функции условного форматирования. Более подробная информация и примеры представлены ниже.
Самый простой и быстрый способ выделить уникальные значения в Excel — применить встроенное правило условного форматирования:
- Выберите столбец данных, в котором вы хотите выделить уникальные.
- На вкладке Главная в группе Стили щелкните Условное форматирование> Правила выделения ячеек> Повторяющиеся значения…
- В диалоговом окне «Повторяющиеся значения» выберите «Уникальный» в левом поле и выберите желаемое форматирование в правом поле, затем нажмите «ОК» .
Совет. Если вас не устраивает какой-либо из предопределенных форматов, нажмите «Пользовательский формат…» (последний элемент в раскрывающемся списке) и установите цвет заливки и / или шрифта по своему вкусу.
Совет. Если вас не устраивает какой-либо из предопределенных форматов, нажмите «Пользовательский формат…» (последний элемент в раскрывающемся списке) и установите цвет заливки и / или шрифта по своему вкусу.
Как видите, выделение уникальных значений в Excel — самая простая задача, которую вы можете себе представить. Однако встроенное правило Excel работает только для элементов, которые появляются в списке только один раз. Если вам нужно выделить разные значения — уникальные и первые вхождения дубликатов — вам нужно будет создать собственное правило на основе формулы.
Вам также потребуется создать настраиваемое правило для выделения уникальных строк на основе значений в одном или нескольких столбцах.
Как создать правило для условного форматирования уникальных значений?
Чтобы выделить уникальные или разные значения в столбце, выберите диапазон ячеек без заголовка столбца (вы же не хотите, чтобы заголовок выделялся, не так ли?) Затем создайте правило условного форматирования с помощью формулы.
Чтобы создать правило условного форматирования на основе формулы, выполните следующие действия:
- Перейдите на вкладку «Главная» и нажмите «Условное форматирование»> «Новое правило»> «Использовать формулу», чтобы использовать формулу для определения ячеек для форматирования .
- Введите формулу в поле «Значения формата …».
- Нажмите кнопку «Форматировать» и выберите нужный цвет заливки и / или цвет шрифта.
- Наконец, нажмите OK, чтобы применить правило.
Более подробные инструкции см. В статье: Как создать правила условного форматирования Excel на основе другого значения ячейки .
Теперь поговорим о том, какие формулы использовать и в каких случаях.
Выделяем цветом отдельные уникальные значения.
Чтобы выделить значения, которые появляются в списке только один раз, используйте следующую формулу:
= СЧЁТЕСЛИ ($ A $ 2: $ A $ 10, $ A2) = 1
Где A2 — первая, а A10 — последняя ячейка в диапазоне.
Чтобы выделить все различные значения в столбце, т. Е. Встречающиеся хотя бы один раз, используйте это выражение:
= СЧЁТЕСЛИ ($ A $ 2: $ A2; $ A2) = 1
Где A2 — верхняя ячейка диапазона.
Как выделить строку с уникальным значением в одном столбце.
Чтобы выделить целые строки на основе уникальных значений в определенном столбце, используйте формулы, которые мы использовали в предыдущем примере, но примените правило ко всей таблице, а не к одному столбцу.
На снимке экрана ниже показано, как выглядит правило выделения строк на основе уникальных значений в столбце A:
Как видите, формула
= СЧЁТЕСЛИ ($ A $ 2: $ A $ 10, $ A2) = 1
то же самое, что и раньше, но выбирается вся строка в диапазоне.
Или вы можете использовать следующее выражение:
= СУММ (H ($ A2 & $ B2 = $ A $ 2: $ A $ 10 и $ B $ 2: $ B $ 10))
Результат будет таким же.
Как выделить уникальные строки?
Если вы хотите выделить строки на основе значений в двух или более столбцах, используйте функцию СЧЁТЕСЛИ, которая позволяет указать несколько критериев в одной формуле.
Чтобы выделить уникальные строки:
= СЧЁТЕСЛИ ($ A $ 2: $ A $ 10; $ A2; $ B $ 2: $ B $ 10, $ B2) = 1
Чтобы выделить разные строки:
= СЧЁТЕСЛИ ($ A $ 2: $ A2; $ A2; $ B $ 2: $ B2, $ B2) = 1
Быстрый и простой способ найти и выделить уникальные значения
Как вы только что видели, Microsoft Excel предлагает несколько полезных функций, которые могут помочь вам идентифицировать и выделять уникальные значения на ваших листах.
Однако все эти решения сложно назвать интуитивно понятными и удобными, так как они требуют запоминания разных формул. Конечно, для профессионалов Excel это не проблема 🙂
Для тех пользователей Excel, которые хотят сэкономить время и силы, позвольте мне показать вам быстрый и простой способ найти уникальные значения в Excel.
В этом последнем разделе нашего сегодняшнего урока мы будем использовать надстройку Duplicate Remover для Excel. Пожалуйста, не запутайтесь с названием инструмента. Помимо повторяющихся записей, он отлично справляется с уникальными и разными записями.
Мы видим.
- Выберите ячейку в таблице, в которой вы хотите найти уникальные значения, и нажмите кнопку DuplicateRemover на вкладке AblebitsData в группе Deduplicate.
Мастер запустится, и вся таблица будет автоматически выбрана. Затем нажмите «Далее», чтобы перейти к следующему шагу.
Совет. При первом использовании надстройки следует на всякий случай установить флажок Создать резервную копию).
- В зависимости от вашей цели выберите один из следующих вариантов и нажмите Далее :
- Уникальный
- Уникальный + 1-е вхождение (разное)
- Выберите один или несколько столбцов, в которых вы хотите проверить значения.
В этом примере мы хотим найти уникальные комбинации «Клиент + Продукт» на основе значений в двух столбцах. Выбираем их галочкой. - Выберите один или несколько столбцов, в которых вы хотите проверить значения.
Если в вашей таблице есть заголовки, обязательно установите флажок Mytable has headers. И если ваша таблица может содержать пустые ячейки, убедитесь, что установлен флажок Пропускать пустые ячейки. Оба параметра находятся в верхней части диалогового окна и обычно выбираются по умолчанию.
Если вдруг в наших журналах появились лишние пробелы, я думаю, нам следует их игнорировать. Поэтому мы также отмечаем Игнорировать лишние пробелы.
Кроме того, в нашем поиске не учитывается регистр, то есть мы не будем учитывать регистр при сравнении данных. Поэтому мы не включаем опцию сопоставления с учетом регистра.
- Выберите одно из следующих действий, которые нужно выполнить с найденными значениями:
- Выделите цветом.
- Выберите и выделите.
- Отметьте в столбце статуса.
- Скопируйте в другое место.
Если вы выберете опцию «Выбрать значения», будут выбраны все найденные значения, как если бы вы щелкнули по ним мышью, удерживая нажатой клавишу Ctrl. Пока они выбраны, вы можете изменить их цвет фона и шрифта, границы и т.д. К сожалению, вы не можете копировать или перемещать их куда-либо, поскольку Excel не поддерживает это.
В нашем случае, чтобы найти уникальные значения, достаточно выделить их цветом. Затем выбираем Highlight with color.
Нажмите кнопку «Готово» и получите результат:
Вот как вы можете найти, выбрать и выделить уникальные значения в Excel с помощью надстройки Duplicate Remover. Это действительно просто, правда?
Я рекомендую вам загрузить полнофункциональную пробную версию Ultimate Suite и попробовать Duplicate Remover и многие другие инструменты, которые сэкономят вам много времени при работе в Excel.
В этой статье я хочу рассказать о возможности создать список уникальных значений в таблицах Excel. Эта возможность очень часто используется при работе с таблицами, так как часто возникает потребность с большого массива данных выбрать уникальные данные, которые не повторяются. Это может быть нужно для разнообразных целей, и уже вам решать каким способом и как произвести отбор нужных вам уникальных значений.
Это очень простой способ для владельцев Excel выше 2007 версии как произвести отбор уникальных значений. Вам нужно на вкладке «Данные», в разделе «Работа с данными», использовать специальную команду «Удалить дубликаты».
В появившемся диалоговом окне «Удалить дубликаты», вы выделяете те столбики, где необходимо произвести отсев уникальных значений и нажимаете «Ок». В случае, когда в выделенном диапазоне размещается и заголовок таблицы, то поставьте галочку на пункте «Мои данные содержат заголовки», что бы вы случайно не удалили данные. Внимание! Когда вы будете производить отсев уникальных значений в таблице, где столбиков больше 2 и они взаимосвязаны информацией, Excel предложит вам расширить диапазон выбора, с чем вы должны, согласится, иначе будет нарушена логическая связь с другими столбиками.
Это также не сложный способ произвести отбор уникальных значений в таблице. Использовать этот инструмент возможно на вкладке «Данные», потом выбрать «Фильтр», и наконец «Расширенный фильтр», этот путь подходит для Excel 2003, а вот владельцы более юных версий, от 2007 и выше стоит пройти по пути: «Данные» — «Сортировка и фильтр» — «Дополнительно». Огромный плюс этого способа в том, что вы можете создать новый список уникальных значений в другом месте. После появления диалогового окна «Расширенный фильтр», устанавливаем галочку напротив пункта «Скопировать результат в другое место», потом указываем диапазон с вашими данными в поле «Исходный диапазон», при необходимости указываем критерий отбора, но для общего отсева поле оставляем пустым «Диапазон критериев», в третьем поле «Поместить результат в диапазон» указываем первую ячейку куда будут помещаться наши данные, отмечаем галочкой пункт «Только уникальные записи» и нажимаем «Ок». Если же вам не нужно никуда переносить ваши данные, то просто установите флажок для пункта «Фильтровать список на месте», данные не пострадают, произойдет наложение обыкновенного фильтра.
Внимание! Если программа запрещает вам переносить отфильтрованные данные на другой лист, вы просто запустите «Расширенный фильтр» на том листе, куда вам надо перенести отобранные уникальные значения.
Этот способ более сложен, нежели те, что мы рассматривали ранее, но его преимущество в том, что он более динамичен и работает на постоянной основе. В разных случаях вам будут нужны разные формулы, вот и рассмотрим несколько вариантов и примеров.
Пример 1. Вам нужно пронумеровать, уникальные, значение в списке значений, для этого нужно использовать функцию ЕСЛИ в формуле следующего вида:
Суть формулы в том, что она проверяет сколько раз, текущее значение встречается в вашем диапазоне (начиная с начала), и если это значение равно 1, то есть это первое уникальное значение, формула ставит последовательно возвращающий номер по порядку. Теперь можно произвести отбор уникальных значений, которые были ранее пронумерованы. Сделать это возможно в любом из соседних столбиков используя функцию ВПР и копируя ее вниз:
С ростом богатства растут и заботы. Гораций
Отбор уникальных значений (убираем повторы из списка) в MS EXCEL
Имея список с повторяющимися значениями, создадим список, состоящий только из уникальных значений. При добавлении новых значений в исходный список, список уникальных значений должен автоматически обновляться.
Пусть в столбце А имеется список с повторяющимися значениями, например список с названиями компаний.
В некоторых ячейках исходного списка имеются повторы — новый список уникальных значений не должен их содержать.
Для наглядности уникальные значения в исходном списке выделены цветом с помощью Условного форматирования.
Для начала создадим Динамический диапазон, представляющий собой исходный список. Если в исходный список будет добавлено новое значение, то оно будет автоматически включено в Динамический диапазон и нижеследующие формулы не придется модифицировать.
Для создания Динамического диапазона:
- на вкладке Формулы в группе Определенные имена выберите команду Присвоить имя;
- в поле Имя введите: Исходный_список;
- в поле Диапазон введите формулу =СМЕЩ(УникальныеЗначения!$A$5;;; СЧЁТЗ(УникальныеЗначения!$A$5:$A$30))
- нажмите ОК.
Список уникальных значений создадим в столбце B с помощью формулы массива (см. файл примера ). Для этого введите следующую формулу в ячейку B5:
После ввода формулы вместо ENTER нужно нажать CTRL + SHIFT + ENTER. Затем нужно скопировать формулу вниз, например, с помощью Маркера заполнения. Чтобы все значения исходного списка были гарантировано отображены в списке уникальных значений, необходимо сделать размер списка уникальных значений равным размеру исходного списка (на тот случай, когда все значения исходного списка не повторяются). В случае наличия в исходном списке большого количества повторяющихся значений, список уникальных значений можно сделать меньшего размера, удалив лишние формулы, чтобы исключить ненужные вычисления, тормозящие пересчет листа.
Разберем работу формулу подробнее:
- Здесь использование функции СЧЁТЕСЛИ() не совсем обычно: в качестве критерия (второй аргумент) указано не одно значение, а целый массив Исходный_список , поэтому функция возвращает не одно значение, а целый массив нулей и единиц. Возвращается 0, если значение из исходного списка не найдено в диапазоне B4:B4(B4:B5 и т.д.), и 1 если найдено. Например, в ячейке B5 формулой СЧЁТЕСЛИ(B$4:B5;Исходный_список) возвращается массив <1:0:0:0:0:0:0:1:0:0:0:0:1:1:0>. Т.е. в исходном списке найдено 4 значения «ООО Рога и копытца» (B5). Массив легко увидеть с помощью клавиши F9 (выделите в Строке формул выражение СЧЁТЕСЛИ(B$4:B5;Исходный_список) , нажмите F9: вместо формулы отобразится ее результат);
- ПОИСКПОЗ() – возвращает позицию первого нуля в массиве из предыдущего шага. Первый нуль соответствует значению еще не найденному в исходном списке (т.е. значению «ОАО Уважаемая компания» для формулы в ячейке B5);
- ИНДЕКС() – восстанавливает значение по его позиции в диапазоне Исходный_список ;
- ЕСЛИОШИБКА() подавляет ошибку, возникающую, когда функция ПОИСКПОЗ() пытается в массиве нулей и единиц, возвращенном СЧЁТЕСЛИ() , найти 0, которого нет (ситуация возникает в ячейке B12, когда все уникальные значения уже извлечены из исходного списка).
Формула будет работать и в случае если исходный список содержит числовые значения.
Примечание. Функция ЕСЛИОШИБКА() будет работать начиная с версии MS EXCEL 2007, чтобы обойти это ограничение читайте статью про функцию ЕСЛИОШИБКА() . В файле примера имеется лист Для 2003, где эта функция не используется.
Решение для списков с пустыми ячейками
Если исходная таблица содержит пропуски, то нужно использовать другую формулу массива (см. лист с пропусками файла примера ):
=ЕСЛИОШИБКА(ИНДЕКС($A$5:$A$19;
ПОИСКПОЗ( 0;ЕСЛИ(ЕПУСТО($A$5:A19);»»;СЧЁТЕСЛИ($B$4:B4;$A$5:$A$19));0)
);»»)
Решение без формул массива
Для отбора уникальных значений можно обойтись без использования формул массива. Для этого создайте дополнительный служебный столбец для промежуточных вычислений (см. лист «Без CSE» в файле примера ).
СОВЕТ: Список уникальных значений можно создать разными способами, например, с использованием Расширенного фильтра (см. статью Отбор уникальных строк с помощью Расширенного фильтра), Сводных таблиц или через меню Данные/ Работа с данными/ Удалить дубликаты . У каждого способа есть свои преимущества и недостатки. Преимущество использования формул состоит в том, чтобы при добавлении новых значений в исходный список, список уникальных значений автоматически обновлялся.
СОВЕТ2: Для тех, кто создает список уникальных значений для того, чтобы в дальнейшем сформировать на его основе Выпадающий список, необходимо учитывать, что вышеуказанные формулы возвращают значение Пустой текст «», который требует аккуратного обращения, особенно при подсчете значений (вместо обычной функции СЧЕТЗ() нужно использовать СЧЕТЕСЛИ() со специальными аргументами). Например, см. статью Динамический выпадающий список в MS EXCEL.
Примечание: В статье Восстанавливаем последовательности из списка без повторов в MS EXCEL решена обратная задача: из списка уникальных значений, в котором для каждого значения задано количество повторов, создается список этих значений с повторами.
Фильтр уникальных значений или удаление повторяющихся значений
В этом курсе:
В Excel есть несколько способов фильтрации уникальных значений, а также удаления повторяющихся значений.
Чтобы отфильтровать уникальные значения, нажмите кнопку данные > отсортировать & фильтр > Дополнительно.
Чтобы удалить повторяющиеся значения, выберите > инструменты данные > Удалить дубликаты.
Чтобы выделиь уникальные или повторяющиеся значения, используйте команду условное форматирование в группе стиль на вкладке Главная .
Фильтрация уникальных значений и удаление повторяющихся значений — это две похожие задачи, так как целью является предоставление списка уникальных значений. Тем не менее, при фильтрации уникальных значений вы должны временно скрыть повторяющиеся значения. Однако удаление повторяющихся значений означает безвозвратное удаление повторяющихся значений.
Повторяющееся значение — это одно из значений, для которого все значения по крайней мере одной строки идентичны всем значениям в другой строке. Сравнение повторяющихся значений зависит от того, что отображается в ячейке, а не на основе значения, хранящегося в ячейке. Например, если у вас есть одинаковое значение даты в разных ячейках, например «3/8/2006», а другое — «Мар 8, 2006», значения будут уникальными.
Проверка перед удалением дубликатов: Прежде чем удалять повторяющиеся значения, рекомендуется сначала попытаться отфильтровать (или условно отформатировать по — уникальные значения), чтобы подтвердить достижение ожидаемых результатов.
Выполните указанные ниже действия.
Выделите диапазон ячеек или убедитесь в том, что активная ячейка находится в таблице.
Нажмите кнопку данные > дополнительно (в группе Фильтр сортировки & ).
В всплывающем окне Расширенный фильтр выполните одно из следующих действий:
Чтобы отфильтровать диапазон ячеек или таблицы по месту, выполните указанные ниже действия.
Нажмите кнопку Фильтровать список на месте.
Чтобы скопировать результаты фильтра в другое место, выполните указанные ниже действия.
Выберите команду скопировать в другое место.
В поле Копировать в введите ссылку на ячейку.
Кроме того, можно нажать кнопку Свернуть диалоговое окно , чтобы временно скрыть всплывающее окно, выбрать ячейку на листе, а затем нажать кнопку развернуть .
Установите флажок только уникальные записии нажмите кнопку ОК.
Уникальные значения из диапазона будут скопированы в новое место.
При удалении повторяющихся значений единственным эффектом будут значения в диапазоне ячеек или таблице. Другие значения, находящиеся за пределами диапазона ячеек или таблицы, не изменяются и не перемещаются. При удалении дубликатов сохраняется первое вхождение значения в списке, а также удаляются другие идентичные значения.
Так как вы удаляете данные безвозвратно, рекомендуется скопировать исходный диапазон ячеек или таблицы на другой лист или в другую книгу, прежде чем удалять повторяющиеся значения.
Выполните указанные ниже действия.
Выделите диапазон ячеек или убедитесь в том, что активная ячейка находится в таблице.
На вкладке данные нажмите кнопку Удалить дубликаты (в группе Работа с данными ).
Выполните одно или несколько из указанных ниже действий:
В разделе столбцывыберите один или несколько столбцов.
Чтобы быстро выделить все столбцы, нажмите кнопку выделить все.
Чтобы быстро удалить все столбцы, нажмите кнопку снять выделение.
Если диапазон ячеек или таблица содержат много столбцов и нужно выделить несколько столбцов, возможно, вам будет проще щелкнуть снять все, а затем в разделе столбцывыберите эти столбцы.
Примечание: Данные будут удалены из всех столбцов, даже если на этом этапе не будут выделяться все столбцы. Например, если выбрать Столбец1 и Столбец2 (но не Столбец3), то «Key», использованный для поиска дубликатов, — это значение обоих Столбец1 & Столбец2. Если в этих столбцах обнаружена повторяющаяся копия, вся строка удаляется, в том числе другие столбцы в таблице или диапазоне.
Нажмите кнопку ОК, и появится сообщение о том, сколько повторяющихся значений было удалено, или сколько уникальных значений осталось. Нажмите кнопку ОК , чтобы закрыть сообщение.
Чтобы изменить изменения, нажмите кнопку Отменить (или нажмите клавиши CTRL + Z на клавиатуре).
Невозможно удалить повторяющиеся значения из структурированных данных структуры или с промежуточными итогами. Для удаления дубликатов необходимо удалить структуру и промежуточные итоги. Дополнительные сведения можно найти в разделе Структурирование списка данных на листе и Удаление промежуточных итогов.
Примечание: Вы не можете условно форматировать поля в области значений отчета сводной таблицы с помощью уникальных или повторяющихся значений.
Выполните указанные ниже действия.
Выделите одну или несколько ячеек в диапазоне, таблице или отчете сводной таблицы.
На вкладке Главная в группе стиль щелкните маленькую стрелку для условного форматированияи выберите пункт правила выделения ячеек, а затем — повторяющиеся значения.
Введите значения, которые вы хотите использовать, а затем выберите формат.
Выполните указанные ниже действия.
Выделите одну или несколько ячеек в диапазоне, таблице или отчете сводной таблицы.
На вкладке Главная в группе стили щелкните стрелку рядом с кнопкой условное форматированиеи выберите пункт Управление правилами , чтобы открыть всплывающее окно диспетчера правил условного форматирования .
Выполните одно из следующих действий.
Чтобы добавить условное форматирование, нажмите кнопку создать правило , чтобы открыть всплывающее окно » новое правило форматирования «.
Чтобы изменить условное форматирование, сначала убедитесь, что в списке Показать правила форматирования для выбран соответствующий лист или таблица. При необходимости выберите другой диапазон ячеек, нажав кнопку свернуть в окне применено, чтобы временно скрыть его. Выберите новый диапазон ячеек на листе, а затем снова разверните всплывающее окно . Выберите правило и нажмите кнопку изменить правило , чтобы открыть всплывающее окно » Изменение правила форматирования «.
В группе Выберите тип правила выберите параметр Форматировать только уникальные или повторяющиеся значения.
В списке форматировать всеизмените описание правилавыберите значение уникальное или повторяющееся.
Нажмите кнопку Формат , чтобы открыть всплывающее окно Формат ячеек .
Выберите число, шрифт, границу или формат заливки, которые нужно применить, если значение ячейки соответствует условию, а затем нажмите кнопку ОК. Можно выбрать несколько форматов. Выбранные форматы отображаются на панели Предварительный просмотр .
В Excel Online вы можете удалить повторяющиеся значения.
Удаление повторяющихся значений
При удалении повторяющихся значений единственным эффектом будут значения в диапазоне ячеек или таблице. Другие значения, находящиеся за пределами диапазона ячеек или таблицы, не изменяются и не перемещаются. При удалении дубликатов сохраняется первое вхождение значения в списке, а также удаляются другие идентичные значения.
Важно: Вы всегда можете нажать кнопку отменить , чтобы вернуть данные после удаления дубликатов. С другой стороны, перед удалением повторяющихся значений рекомендуется скопировать исходный диапазон ячеек или таблицы на лист или в другую книгу.
Выполните указанные ниже действия.
Выделите диапазон ячеек или убедитесь в том, что активная ячейка находится в таблице.
На вкладке данные нажмите кнопку Удалить дубликаты .
В диалоговом окне Удаление дубликатов снимите флажок для столбцов, в которых не нужно удалять повторяющиеся значения.
Примечание: Данные будут удалены из всех столбцов, даже если на этом этапе не будут выделяться все столбцы. Например, если выбрать Столбец1 и Столбец2 (но не Столбец3), то «Key», использованный для поиска дубликатов, — это значение обоих Столбец1 & Столбец2. При обнаружении дубликата в Столбец1 и Столбец2 вся строка будет удалена, включая данные из Столбец3.
Нажмите кнопку ОК, и появится сообщение о том, сколько повторяющихся значений было удалено. Нажмите кнопку ОК , чтобы закрыть сообщение.
Примечание: Если вы хотите вернуться к данным, просто нажмите кнопку отменить (или нажмите клавиши CTRL + Z на клавиатуре).
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.
Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).
Excel — как удалить дубликаты но оставить уникальные значения?
Всем добрый вечер! Случалось ли Вам когда нибудь работать с данными в excel строковое значение которых переваливает за пару десятков тысяч? А вот мне человеку который создает и продвигает сайты и интернет магазины приходится сталкиваться достаточно часто, особенно когда дело касается загрузки и выгрузки данных от поставщика на сайт интернет магазина. Данная заметка родилась не на пустом месте, а прямо так сказать с пылу жару! Сегодня делал загрузку на свой интернет магазин по интим тематике (см портфолио) и после того как скачал прайс от поставщика и открыв его в excel (перед загрузкой на сайт я сначала все сверяю, на случай ошибок и случайных изменений столбцов со стороны поставщика) и увидел что из 25 тыс строк более 6-8 тыс являются дубликатами, зачем и почему так делает поставщик мы сейчас обсуждать не будем, на это не хочется тратить не сил, ни времени, а просто понимаем, что так сделал программист и по другому это делать нельзя!
После долгих колупаний решил выложить Вам инструкцию как удалить дубли строк без сдвига значений вверх.
Удаление дубликатов в Microsoft Excel
Для меня человека который проводит время в отпуске и работает с мобильного интернета скорость которого измеряется от 1-2 мегабита, прокачивать в пустую такое кол-во товара с фотографиями смысла не имеет и время пустое и трафика сожрет не мало, поэтому решил повторяющиеся товары просто удалить и тут столкнулся с тем, что удалить дублирующиеся значения в столбце не так то и просто, потому как стандартная функция excel 2010 делает это топорно и после удаления дубликата двигает вверх нижние значения и в итоге у нас все перепутается в документе и будет каша.
В данной статье будет представлено два варианта решения проблемы.
1 Вариант — Стандартная функция в эксель — Удалить дубликаты
Я не могу пропустить этот вариант, хоть он и самый примитивный но может это то, что именно Вы искали для своей ситуации, поэтому давайте рассмотрим тот функционал который идет из коробки самого экселя
Для этого выделим те столбцы или область в какой надо удалить дубликаты и зайдем в меню Данные и потом выберем Удалить дубликаты, после чего у нас удаляться дубликаты, но будет сдвиг ячеек, если для вас это не критично, то этот способ Ваш!
2 Вариант — Пометить дубликаты строк в Лож или Истина
Этот вариант самый простой и отсюда сразу вылетает птичка которая ограничит этот вариант в действии, а именно в том, что им можно воспользоваться если у вас все дублирующие значения идут по порядку, а не в разнобой по всему документу
для примера возьмем два столбика с данными, в одном (пример1) дублирующие значения повторяются, а в (примере2) в разнобой и не идут друг за другом.
В примере1 мы должны в стоящей рядом ячейки нажать знак ровно и выбрать первое и нижние значение что бы формула была такая:
и нажимаем энтер, и у нас в этой ячейки в зависимости от данных должно появится значение Лож или Истина
ЛОЖ — если А1 не будет равно А2
Истина — если А1 будет ровно А2
если применить этот вариант на столбце Пример2, то как вы поняли везде будет значение Лож
Этот вариант хорош только в редких случаях, но его тоже надо знать, его ограничение в том что эта формула сравнивает себя и следующее значение, тоесть она применима только одновременно к двум ячейкам, а не ко всему столбцу. Но если у вас данные как с столбце Пример2, тогда читайте дальше )
3 Вариант — Удалить дубликаты в столбе
Вот этот вариант уже более сложный, но он решит вашу проблему на все 100% и сразу ответит на все вопросы.
Как видим у нас имеется столбец в котором все значения идут не по порядку и они перемешаны
Мы как и в прошлый раз в соседнюю ячейку вставляем следующую формулу
После применения которой у нас будет либо пуская ячейка, либо значение из ячейки напротив.
из нашего примера сразу видно, что в этом столбце было два дубля и эта формула нам значительно сэкономила времени, а дальше фильтруем второй столбец и в фильтре выбираем пустые ячейки и дальше удаляем строки, вот и все)
Таким образом я в документе который который скачал у поставщика создал перед артикулом пустой столбце и далее применил эту формулу и после отфильтровав получил документ который был на 6-8 тыс строк меньше и самое главное после удаление дубликатов у меня не поднимались значения вверх, все стояло на своих местах
Надеюсь статья была полезная, если не поняли я прикрепил к каналу видео смотрите его или задавайте вопросы,
Извлечение уникальных элементов из диапазона
Способ 1. Штатная функция в Excel 2007
Начиная с 2007-й версии функция удаления дубликатов является стандартной — найти ее можно на вкладке Данные — Удаление дубликатов (Data — Remove Duplicates) :
В открывшемся окне нужно с помощью флажков задать те столбцы, по которым необходимо обеспечивать уникальность. Т.е. если включить все флажки, то будут удалены только полностью совпадающие строки. Если включить только флажок заказчик, то останется только по одной строке для каждого заказчика и т.д.
Способ 2. Расширенный фильтр
Если у вас Excel 2003 или старше, то для удаления дубликатов и вытаскивания из списка уникальных (неповторяющихся) элементов можно использовать Расширенный фильтр (Advanced Filter) из меню (вкладки) Данные (Data) .
Предположим, что у нас имеется вот такой список беспорядочно повторяющихся названий компаний:
Выбираем в меню Данные — Фильтр — Расширенный фильтр (Data — Filter — Advanced Filter) . Получаем окно:
- Выделяем наш список компаний в Исходный диапазон (List Range) .
- Ставим переключатель в положение Скопировать результат в другое место (Copy to another location) и указываем пустую ячейку.
- Включаем (самое главное!) флажок Только уникальные записи(Uniqe records only) и жмем ОК.
Получите список без дубликатов:
Если требуется искать дубликаты не по одному, а по нескольким столбцам, то можно предварительно склеить их в один, сделав, своего рода, составной ключ с помощью функции СЦЕПИТЬ (CONCATENATE) :
Тогда дальнейшая задача будет сводиться к поиску дубликатов уже в одном столбце.
Способ 3. Выборка уникальных записей формулой
Чуть более сложный способ, чем первые два, но зато — динамический, т.е. с автоматическим пересчетом, т.е. если список редактируется или в него дописываются еще элементы, то они автоматически проверяются на уникальность и отбираются. В предыдущих способах при изменении исходного списка нужно будет заново запускать Расширенный фильтр или жать на кнопку Удаление дубликатов.
Итак, снова имеем список беспорядочно повторяющихся элементов. Например, такой:
Первая задача — пронумеровать всех уникальных представителей списка, дав каждому свой номер (столбец А на рисунке). Для этого вставляем в ячейку А2 и копируем затем вниз до упора следующую формулу:
В английской версии это будет:
Эта формула проверяет сколько раз текущее наименование уже встречалось в списке (считая с начала), и если это количество =1, т.е. элемент встретился первый раз — дает ему последовательно возрастающий номер.
Для упрощения адресации дадим нашим диапазонам (например, исходя из того, что в списке может быть до 100 элементов) имена. Это можно сделать в новых версиях Excel на вкладке Формулы — Диспетчер имен (Formulas — Name manager) или в старых версиях — через меню Вставка — Имя — Присвоить (Insert — Name — Define) :
- диапазону номеров (A1:A100) — имя NameCount
- всему списку с номерами (A1:B100) — имя NameList
Теперь осталось выбрать из списка NameList все элементы имеющие номер — это и будут наши уникальные представители. Сделать это можно в любой пустой ячейке соседних столбцов, введя туда вот такую формулу с известной функцией ВПР (VLOOKUP) и скопировав ее вниз на весь столбец:
Эта формула проходит сверху вниз по столбцу NameCount и выводит все позиции списка с номерами в отдельную таблицу:
Извлечение уникальных элементов из диапазона
Способ 1. Штатная функция в Excel 2007
Начиная с 2007-й версии функция удаления дубликатов является стандартной — найти ее можно на вкладке Данные — Удаление дубликатов (Data — Remove Duplicates):
В открывшемся окне нужно с помощью флажков задать те столбцы, по которым необходимо обеспечивать уникальность. Т.е. если включить все флажки, то будут удалены только полностью совпадающие строки. Если включить только флажок заказчик, то останется только по одной строке для каждого заказчика и т.д.
Способ 2. Расширенный фильтр
Если у вас Excel 2003 или старше, то для удаления дубликатов и вытаскивания из списка уникальных (неповторяющихся) элементов можно использовать Расширенный фильтр (Advanced Filter) из меню (вкладки) Данные (Data).
Предположим, что у нас имеется вот такой список беспорядочно повторяющихся названий компаний:
Выбираем в меню Данные — Фильтр — Расширенный фильтр (Data — Filter — Advanced Filter). Получаем окно:
В нем:
- Выделяем наш список компаний в Исходный диапазон (List Range).
- Ставим переключатель в положение Скопировать результат в другое место (Copy to another location) и указываем пустую ячейку.
- Включаем (самое главное!) флажок Только уникальные записи(Uniqe records only) и жмем ОК.
Получите список без дубликатов:
Если требуется искать дубликаты не по одному, а по нескольким столбцам, то можно предварительно склеить их в один, сделав, своего рода, составной ключ с помощью функции СЦЕПИТЬ (CONCATENATE):
Тогда дальнейшая задача будет сводиться к поиску дубликатов уже в одном столбце.
Способ 3. Выборка уникальных записей формулой
Чуть более сложный способ, чем первые два, но зато — динамический, т.е. с автоматическим пересчетом, т.е. если список редактируется или в него дописываются еще элементы, то они автоматически проверяются на уникальность и отбираются. В предыдущих способах при изменении исходного списка нужно будет заново запускать Расширенный фильтр или жать на кнопку Удаление дубликатов.
Итак, снова имеем список беспорядочно повторяющихся элементов. Например, такой:
Первая задача — пронумеровать всех уникальных представителей списка, дав каждому свой номер (столбец А на рисунке). Для этого вставляем в ячейку А2 и копируем затем вниз до упора следующую формулу:
=ЕСЛИ(СЧЁТЕСЛИ(B$1:B2;B2)=1;МАКС(A$1:A1)+1;»»)
В английской версии это будет:
=IF(COUNTIF(B$1:B2;B2)=1;MAX(A$1:A1)+1;»»)
Эта формула проверяет сколько раз текущее наименование уже встречалось в списке (считая с начала), и если это количество =1, т.е. элемент встретился первый раз — дает ему последовательно возрастающий номер.
Для упрощения адресации дадим нашим диапазонам (например, исходя из того, что в списке может быть до 100 элементов) имена. Это можно сделать в новых версиях Excel на вкладке Формулы — Диспетчер имен (Formulas — Name manager) или в старых версиях — через меню Вставка — Имя — Присвоить (Insert — Name — Define):
- диапазону номеров (A1:A100) — имя NameCount
- всему списку с номерами (A1:B100) — имя NameList
Теперь осталось выбрать из списка NameList все элементы имеющие номер — это и будут наши уникальные представители. Сделать это можно в любой пустой ячейке соседних столбцов, введя туда вот такую формулу с известной функцией ВПР (VLOOKUP) и скопировав ее вниз на весь столбец:
=ЕСЛИ(МАКС(NameCount)<СТРОКА(1:1);»»;ВПР(СТРОКА(1:1);NameList;2))
или в английской версии Excel:
=IF(MAX(NameCount)
Эта формула проходит сверху вниз по столбцу NameCount и выводит все позиции списка с номерами в отдельную таблицу:
Ссылки по теме
- Выделение дубликатов по одному или нескольким столбцам в списке цветом
- Запрет ввода повторяющихся значений
- Извлечение уникальных значений при помощи надстройки PLEX
Фильтрация или удаление повторяющихся значений
Смотрите также мне + поставили.: Выделите всю получившуюся Excel». закладке «Формулы» так. этой статье намЕСЛИ(СЧЁТЕСЛИ($B$5:B5;Список_Текст)=0;СЧЁТЕСЛИ(Список_Текст;»Из исходной таблицы отберем всплывающем меню (при необходимости) удалить содержит структурированные данные таблицы на местеВы можете отредактировать существующеевыберите нужные параметрыДанные поле=2-1Фильтрация уникальных значений ия нашел недочет таблицу — Данныеdimon2067Теперь в столбце требуется, чтобы приПосле ввода формулы вместо только уникальные значенияФорматировать только первые или их. или промежуточные итоги.Выделите диапазон ячеек и правило, чтобы изменить и нажмите кнопкув разделеКопировать в, а в ячейке удаление повторяющихся — в своем варианте. — Удалить дубликаты: Ребята, выручайте! Есть В будем формировать добавлении новых значенийENTER и выведем их
последние значенияВыделите одну или несколько Перед удалением повторяющихся щелкните условное форматирование, применяемоеОКРабота с даннымивведите ссылку на A2 — формула это две тесноdimon2067 — оставить все 2 столбца и список с уникальными, в исходный список,нужно нажать в отдельный диапазонвыберите пункт ячеек в диапазоне, значений нужно удалитьФильтровать список на месте к уникальным или.нажмите кнопку ячейку.=3-2 связанные друг с
: галки — ОК
Фильтрация уникальных значений
-
50000 строк. В не повторяющимися фамилиями. список уникальных значенийCTRL + SHIFT +
-
с сортировкой поФорматировать только уникальные или таблице или отчете структуру и промежуточные. повторяющимся данным.Вы можете создать правило
-
Удалить дубликатыПримечание:
и к ячейкам
другом задачи, поскольку
Nic70ydimon2067
первом номера договоров, Для этого в должен автоматически обновляться, ENTER
возрастанию. Отбор и повторяющиеся значения
сводной таблицы. итоги.Копирование результатов фильтрации вВыделите одну или несколько для выделения уникальных. При копировании результатов фильтрации применено одинаковое форматирование,
в результате их, но Вы же: Этот способ не в другом телефоны, ячейку В2 напишем поэтому здесь построен. Затем нужно скопировать сортировку сделаем с
-
.На вкладкеВыделите диапазон ячеек или другое место ячеек в диапазоне,
Дополнительные параметры
Удаление повторяющихся значений
или повторяющихся значенийУстановите один или несколько в другое место такие значения считаются выполнения отображается список старались мне помочь! работает, повторяющиеся телефоны записанные через ;. такую формулу. список с использованием формулу вниз, например, помощью одной формулойВ менюГлавная убедитесь в том,Выделите диапазон ячеек, щелкните таблице или отчете на листе определенным
флажков, соответствующих столбцам будут скопированы уникальные повторяющимися. Одинаковые значения, уникальных значений. Однако А воспользовался я остаются! Задача их разделить=ЕСЛИОШИБКА(ИНДЕКС(Фамилии;ПОИСКПОЗ(0;СЧЁТЕСЛИ($B1:$B1;Фамилии);0));»») формул.
-
с помощью Маркера массива. Формула работаетзначения в выбранном диапазонев разделе
-
что активная ячейкаСкопировать результат в другое сводной таблицы. цветом. Это особенно таблицы, и нажмите значения из выбранного к которым применены
-
между этими двумя как раз вариантомdimon2067 и удалить всеЭто формула массива,Когда делаем
заполнения. Чтобы все как для текстовыхвыберитеФормат находится в таблице. местоНа вкладке полезно, когда в кнопку диапазона. Исходные данные
Применение условного форматирования к уникальным или повторяющимся значениям
различные числовые форматы, задачами существует важное Елены.: Pelena, что вы повторяющиеся, оставить только п.э. нажимаем нев Excel значения исходного списка (сортировка от А
-
уникальныещелкните стрелку рядомНа вкладке, а затем в
-
Главная данных содержится несколькоУдалить дубликаты при этом не не считаются повторяющимися. различие. При фильтрациимихаил— имели ввиду? У уникальные, причем номера просто «Enter», авыпадающий список были гарантировано отображены
-
до Я), такили с элементомДанные полев группе
Применение правил расширенного условного форматирования к уникальным или повторяющимся значениям
наборов повторяющихся значений.. изменятся. Например, если значение уникальных значений повторяющиеся: Добрый день! меня ничего не договоров повторяются, и
-
сочетание клавиш «Ctrl»с большим списком, в списке уникальных и для числовых
-
повторяющиесяУсловное форматированиев разделеКопировать вСтилиВыделите одну или несколькоСовет:Установите флажок в ячейке A1
-
значения временно скрываются,Есть массив значений, получается все уникальные номера + «Shift» + то нужно этот значений, необходимо сделать значений (сортировка от., выберите пунктСервисвведите ссылку на
-
щелкните ячеек в диапазоне, Если в диапазоне ячеекТолько уникальные записи имеет формат тогда как в из которого нужно
-
Pelena нужно в них «Enter». У формулы список составить без размер списка уникальных
Изменение правил расширенного условного форматирования
мин до макс).В менюПравила выделения ячеекнажмите кнопку ячейку.
-
Условное форматирование таблице или отчете или таблице содержитсяи нажмите кнопку
-
1,00 ходе удаления повторяющихся выбрать только уникальные: оставить. Пример прилагаю. появятся фигурные скобки. повторяющихся данных. Например, значений равным размеруЭта статья — продолжение
-
Форматировать с помощью, а затем —Удалить дубликатыПримечание:
-
и выберите пункт сводной таблицы. много столбцов, аОК
-
, а в ячейке значений они удаляются значения, и записатьdimon2067
Фильтрация уникальных значений
-
mus013Копируем формулу по столбцу. у нас есть исходного списка (на
-
статьи Отбор уникальныхвыберите нужный вариант пункт. При копировании результатов фильтрацииУправление правиламиНа вкладке нужно выбрать только. A2 — формат
-
без возможности восстановления. их в один
, Удалить дубликаты здесь
: Добрый вечер,
Получился такой список список сотрудников. Фамилии
тот случай, когда значений (убираем повторы форматирования уникальных илиПовторяющиеся значения
Установите один или несколько в другое место
.Главная несколько из них,При удалении повторяющихся значений1 Значение считается повторяющимся, столбец. Из какого вряд ли сработает.
dimon2067 с уникальными фамилиями. повторяются. Нам нужно все значения исходного из списка) в повторяющихся значений.. флажков, соответствующих столбцам
-
будут скопированы уникальныеУбедитесь, что в спискев группе снимите флажок данные удаляются только
Дополнительные параметры
Удаление повторяющихся значений
, эти значения не если все значения именно столбца илиМожно, конечно, написать,Теперь его можно использовать сделать список фамилий списка не повторяются). MS EXCEL.Вы можете отредактировать существующееВыберите нужные параметры и таблицы, и нажмите значения из выбранногоПоказать правила форматирования дляСтилиВыделить все из выделенного диапазона являются повторяющимися.
в одной строке строки массива взятя формулу массива, котораявыделяем столбец - для создания выпадающего для выпадающего списка, В случае наличияВ столбце правило, чтобы изменить
-
нажмите кнопку кнопку диапазона. Исходные данныевыбран соответствующий лист
-
щелкнитеи выделите только ячеек или таблицы.Более новые версии полностью совпадают со уникальная ячейка не отбирает уникальные записи
-
Данные -Текст по списка. Как сделать фамилии в котором в исходном спискеА условное форматирование, применяемое
ОКУдалить дубликаты при этом не или таблица.Условное форматирование нужные столбцы. Любые другие значения, Office 2011 значениями в другой.
имеет значение. решение в каждой строке, столбцам — разделитель такой список, смотрите не будут повторяться. большого количества повторяющихсяимеется список с к уникальным или..
Применение условного форматирования к уникальным или повторяющимся значениям
изменятся.Выберите правило и нажмитеи выберите пунктДля наглядного отображения уникальных которые находятся заВыделите диапазон ячеек или Повторяющиеся значения определяются должно быть формульным. но на 50000
-
— точка с в статье «Связанный Для примера возьмем значений, список уникальных
-
повторяющимися значениями, например повторяющимся данным.Вы можете создать правилоПоявится либо сообщение оУстановите флажок кнопкуСоздать правило или повторяющихся значений пределами этого диапазона убедитесь в том, значением, которое отображаетсяПодскажите как можно строк она будет
-
запятой. выпадающий список в такой список. значений можно сделать
Применение правил расширенного условного форматирования к уникальным или повторяющимся значениям
список с названиямиВыделите одну или несколько для выделения уникальных том, сколько повторяющихсяТолько уникальные записиИзменить правило. к ним можно
-
ячеек или таблицы, что активная ячейка в ячейке, а такое сделать не
-
очень тормозить.dimon2067 Excel по алфавиту».Сначала, можно сделать меньшего размера, удалив городов. ячеек в диапазоне, или повторяющихся значений значений было удаленои нажмите кнопку
-
.В списке применить условное форматирование. не изменяются и находится в таблице. не тем, которое использую функцию удалитьПоэтому предлагаю решение: Это понятно, чтоДругой способ создания динамический список, т.е. лишние формулы, чтобы
-
В некоторых ячейках исходного таблице или отчете на листе определенным и сколько уникальныхОКВыберите нужные параметры иСтиль
-
Например, выделение повторяющихся не перемещаются. ТакНа вкладке в ней хранится. дубликаты, т.к. столбцов
Изменение правил расширенного условного форматирования
с помощью UDF, делать дальше с уникальных данных в если в список исключить ненужные вычисления,
-
списка имеются повторы сводной таблицы. цветом. Это особенно осталось, либо сообщение
-
. нажмите кнопкувыберите пункт данных определенным цветом как данные удаляютсяДанные Например, если в достаточно большое количество? которая есть в повторяющимися значениями?
-
списке – это добавим в ячейки тормозящие пересчет листа. — новый список
-
На вкладке полезно, когда в о том, чтоПри удалении повторяющихся значений
-
ОККлассический помогает найти и без возможности восстановления,
support.office.com
Отбор уникальных значений с сортировкой в MS EXCEL
в группе различных ячейках содержатсяSerge_007 готовых решениях. СPelena убрать дубликаты в фамилии, то адресПримечание уникальных значений неГлавная данных содержится несколько ни одного повторяющегося данные удаляются только., а затем в
(при необходимости) удалить перед удалением повторяющихсяСортировка и фильтр одинаковые значения даты: http://www.excelworld.ru/publ/hacks/tricks/extract_unique/17-1-0-10
её помощью Вы: Данные — Удалить имеющемся списке. Читайте диапазона автоматически увеличится: в формуле использован должен их содержать.
Задача
в разделе наборов повторяющихся значений. значения не было из выделенного диапазонаВыделите диапазон ячеек или
списке их. записей рекомендуется скопироватьнажмите кнопку
в разных форматахмихаил— сначала удаляете повторы
Решение
дубликаты об этом в и эта фамилия Динамический диапазон Список_текст.Для наглядности уникальные значенияФорматВыделите одну или несколько удалено. ячеек или таблицы. убедитесь в том,
Форматировать только первые или
Выделите одну или несколько
исходный диапазон ячеек
Дополнительно («08.12.2010» и «8: А Как сделать из строки, затемdimon2067 статье «Как удалить войдет в выпадающий Значения ошибки скрыты в исходном спискещелкните стрелку рядом ячеек в диапазоне,Совет: Любые другие значения, что активная ячейка последние значения ячеек в диапазоне, или таблицу на. дек 2010″), они чтобы уникальные значения копировать/ вставить как: А как быть дубли в Excel». список. Это нужно с помощью Условного выделены цветом с с кнопкой таблице или отчете
Если в диапазоне ячеек которые находятся за находится в таблице.выберите пункт таблице или отчете другой лист или
Выполните одно из указанных
считаются уникальными. Рекомендуется брались сразу из значения, а уже с повторяющимися договорами?Как настроить Excel, для того, чтобы форматирования. помощью Условного форматирования.Условное форматирование сводной таблицы. или таблице содержится пределами этого диапазонаНа вкладкеФорматировать только уникальные или сводной таблицы. в другую книгу. ниже действий. сначала отфильтровать уникальные нескольких столбцов ( потом делаете текст Ведь во втором чтобы при попытке не менять адрес
excel2.ru
Создание списка в Excel без повторов.
СОВЕТ:Список уникальных значений должени выберите пунктНа вкладке много столбцов, а ячеек или таблицы,Данные повторяющиеся значенияНа вкладкеПримечание:Задача значения или применить если нужны не по столбцам. договоре телефоны удалятся. ввести повторяющееся значение,
диапазона выпадающего спискаСписок уникальных значений быть отсортирован поУправление правиламиГлавная нужно выбрать только не изменяются ив разделе.Главная Нельзя удалить повторяющиеся значения,Необходимые действия к ним условное
только фамилии, ноМакросы должны бытьPelena выходило окно предупреждения вручную. можно создать разными
алфавиту..в разделе несколько из них, не перемещаются. ТакСортировка и фильтрВ списке
в группе если выделенные фрагментФильтрация диапазона ячеек или форматирование, чтобы перед и все наименовании разрешены: Можно же удалить
об этом, смотрите
Как сделать динамический диапазон способами, например, сСписок уникальных значений создадимУбедитесь, что в менюФормат снимите флажок как данные удаляются
щелкните стрелку рядомзначения в выбранном диапазонеСтили
содержит структурированные данные таблицы на месте удалением повторяющихся значений регионов, все разновидностиNic70y дубликаты, выделив все в статье «Запретить
в Excel использованием Расширенного фильтра в столбцеПоказать правила форматирования длящелкните стрелку рядомВыделить все без возможности восстановления, с элементом
выберите пунктщелкните или промежуточные итоги.Выделите диапазон ячеек и убедиться в том, цен и т.д): наверное столбцы, тогда уникальные
вводить повторяющиеся значения, читайте в статье (см. статью ОтборBвыбран соответствующий лист с кнопкойи выделите только перед удалением повторяющихсяФильтр
excel-office.ru
Оставить только уникальные значения (Формулы/Formulas)
уникальныеУсловное форматирование Перед удалением повторяющихся щелкните что будет получен и результат уникальныхнеправильно все это, воспользуйтесь останутся в Excel» здесь. «Чтобы размер таблицы уникальных строк сс помощью формулы или таблица.Условное форматирование нужные столбцы.
записей рекомендуется скопироватьи выберите пунктили, наведите указатель на
значений нужно удалитьФильтровать список на месте ожидаемый результат. значений по всем вариантом Елены
dimon2067В Excel можно Excel менялся автоматически» помощью Расширенного фильтра),
массива (см. файлВыберите правило и нажмитеи выберите пункт
Для наглядного отображения уникальных исходный диапазон ячеекРасширенный фильтрповторяющиеся пункт
структуру и промежуточные.Примечание: столбцам выводился общийdimon2067
: сделать любой тест тут. Сводных таблиц или
примера). Для этого кнопкуСоздать правило
или повторяющихся значений или таблицу на..Правила выделения ячеек итоги.
Копирование результатов фильтрации в Если формулы в ячейках в отдельном столбце?: Народ, всем большое
Pelena для любой категорииМы выделяем ячейки через меню Данные/ введите следующую формулу
Изменить правило. к ним можно другой лист илиВыполните одно из следующих
В спискеи выберитеВыделите диапазон ячеек или другое место разные, а значенияPelena спасибо, вы мне
, людей. (для школьников, А2:А9. Для создания Работа с данными/ в ячейку.Во всплывающем меню применить условное форматирование. в другую книгу. действий:Форматировать с помощью
Повторяющиеся значения убедитесь в том,
Выделите диапазон ячеек, щелкните одинаковые, такие значения
: Без вашего примера очень помогли! Тему
Можно поподробней, удалить для производства, для динамического диапазона, мы Удалить дубликаты. УB6
Выберите нужные параметры иСтиль Например, выделение повторяющихся
Примечание:Задача
выберите нужный вариант. что активная ячейкаСкопировать результат в другое считаются повторяющимися. Например, — только общие можно закрывать. дубликаты после текста
excelworld.ru
вывод уникальных значений (преобраховать массив в столбец уникальных значений)
опроса, анкету, т.д.). заполнили диалоговое окно
каждого способа есть: нажмите кнопкувыберите пункт данных определенным цветом Нельзя удалить повторяющиеся значения,Необходимые действия форматирования уникальных илиВ диалоговом окне находится в таблице. место
если в ячейке ответыNic70y по столбцам? Смотрите статью «Как
«Создание имени» функции свои преимущества и
=ИНДЕКС(Список_Текст;ОККлассический помогает найти и если выделенные фрагментФильтрация диапазона ячеек или повторяющихся значений.Создать правило форматированияНа вкладке, а затем в A1 содержится формулаhttp://www.excelworld.ru/forum/2-3436-36914-16-1359023496: dimon2067, зря ВыPelena
сделать тест в «Присвоить имя» на недостатки. Но, вНАИМЕНЬШИЙ(ЕСЛИ(НАИМЕНЬШИЙ(
.
excelworld.ru
, а затем во
При совместной работе с таблицами Excel или большом числе записей накапливаются дубли строк. Ста…
При совместной работе с
таблицами Excel или большом числе записей
накапливаются дубли строк. Статья
посвящена тому, как выделить
повторяющиеся значения в Excel,
удалить лишние записи или сгруппировать,
получив максимум информации.
Поиск
одинаковых значений в Excel
Выберем
одну из ячеек в таблице. Рассмотрим, как
в Экселе найти повторяющиеся значения,
равные содержимому ячейки, и выделить
их цветом.
На
рисунке – списки писателей. Алгоритм
действий следующий:
- Выбрать
ячейку I3
с записью «С. А. Есенин». - Поставить
задачу – выделить цветом ячейки с
такими же записями. - Выделить
область поисков. - Нажать
вкладку «Главная». - Далее
группа «Стили». - Затем
«Условное форматирование»; - Нажать
команду «Равно».
- Появится
диалоговое окно:
- В
левом поле указать ячейку с I2,
в которой записано «С. А. Есенин». - В
правом поле можно выбрать цвет шрифта. - Нажать
«ОК».
В
таблицах отмечены цветом ячейки, значение
которых равно заданному.
Несложно
понять, как
в Экселе найти одинаковые значения в
столбце.
Просто выделить перед поиском нужную
область – конкретный столбец.
Ищем в таблицах Excel
все повторяющиеся значения
Отметим
все неуникальные записи в выделенной
области. Для этого нужно:
- Зайти
в группу «Стили». - Далее
«Условное форматирование». - Теперь
в выпадающем меню выбрать «Правила
выделения ячеек». - Затем
«Повторяющиеся значения».
- Появится
диалоговое окно:
- Нажать
«ОК».
Программа
ищет повторения во всех столбцах.
Если
в таблице много неуникальных записей,
то информативность такого поиска
сомнительна.
Удаление одинаковых значений
из таблицы Excel
Способ
удаления неуникальных записей:
- Зайти
во вкладку «Данные». - Выделить
столбец, в котором следует искать
дублирующиеся строки. - Опция
«Удалить дубликаты».
В
результате получаем список, в котором
каждое имя фигурирует только один раз.
Список
с уникальными значениями:
Расширенный фильтр: оставляем
только уникальные записи
Расширенный
фильтр – это инструмент для получения
упорядоченного списка с уникальными
записями.
- Выбрать
вкладку «Данные». - Перейти
в раздел «Сортировка и фильтр». - Нажать
команду «Дополнительно»:
- В
появившемся диалоговом окне ставим
флажок «Только уникальные записи». - Нажать
«OK»
– уникальный список готов.
Поиск дублирующихся значений
с помощью сводных таблиц
Составим
список уникальных строк, не теряя данные
из других столбцов и не меняя исходную
таблицу. Для этого используем инструмент
Сводная таблица:
Вкладка
«Вставка».
Пункт
«Сводная таблица».
В
диалоговом окне выбрать размещение
сводной таблицы на новом листе.
В
открывшемся окне отмечаем столбец, в
котором содержатся интересующие нас
значений.
Получаем
упорядоченный список уникальных строк.
Если Вы работаете с большой таблицей и вам необходимо выполнить поиск уникальных значений в Excel, соответствующие определенному запросу, то нужно использовать фильтр. Но иногда нам нужно выделить все строки, которые содержат определенные значения по отношению к другим строкам. В этом случаи следует использовать условное форматирование, которое ссылается на значения ячеек с запросом. Чтобы получить максимально эффективный результат, будем использовать выпадающий список, в качестве запроса. Это очень удобно если нужно часто менять однотипные запросы для экспонирования разных строк таблицы. Ниже детально рассмотрим: как сделать выборку повторяющихся ячеек из выпадающего списка.
Выбор уникальных и повторяющихся значений в Excel
Для примера возьмем историю взаиморасчетов с контрагентами, как показано на рисунке:
В данной таблице нам нужно выделить цветом все транзакции по конкретному клиенту. Для переключения между клиентами будем использовать выпадающий список. Поэтому в первую очередь следует подготовить содержание для выпадающего списка. Нам нужны все Фамилии клиентов из столбца A, без повторений.
Перед тем как выбрать уникальные значения в Excel, подготовим данные для выпадающего списка:
- Выделите первый столбец таблицы A1:A19.
- Выберите инструмент: «ДАННЫЕ»-«Сортировка и фильтр»-«Дополнительно».
- В появившемся окне «Расширенный фильтр» включите «скопировать результат в другое место», а в поле «Поместить результат в диапазон:» укажите $F$1.
- Отметьте галочкой пункт «Только уникальные записи» и нажмите ОК.
В результате мы получили список данных с уникальными значениями (фамилии без повторений).
Теперь нам необходимо немного модифицировать нашу исходную таблицу. Выделите первые 2 строки и выберите инструмент: «ГЛАВНАЯ»-«Ячейки»-«Вставить» или нажмите комбинацию горячих клавиш CTRL+SHIFT+=.
У нас добавилось 2 пустые строки. Теперь в ячейку A1 введите значение «Клиент:».
Пришло время для создания выпадающего списка, из которого мы будем выбирать фамилии клиентов в качестве запроса.
Перед тем как выбрать уникальные значения из списка сделайте следующее:
- Перейдите в ячейку B1 и выберите инструмент «ДАННЫЕ»-«Работа с данными»-«Проверка данных».
- На вкладке «Параметры» в разделе «Условие проверки» из выпадающего списка «Тип данных:» выберите значение «Список».
- В поле ввода «Источник:» введите =$F$4:$F$8 и нажмите ОК.
В результате в ячейке B1 мы создали выпадающих список фамилий клиентов.
Примечание. Если данные для выпадающего списка находятся на другом листе, то лучше для такого диапазона присвоить имя и указать его в поле «Источник:». В данном случае это не обязательно, так как у нас все данные находятся на одном рабочем листе.
Выборка ячеек из таблицы по условию в Excel:
- Выделите табличную часть исходной таблицы взаиморасчетов A4:D21 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило»-«Использовать формулу для определения форматируемых ячеек».
- Чтобы выбрать уникальные значения из столбца, в поле ввода введите формулу: =$A4=$B$1 и нажмите на кнопку «Формат», чтобы выделить одинаковые ячейки цветом. Например, зеленым. И нажмите ОК на всех открытых окнах.
Готово!
Как работает выборка уникальных значений Excel? При выборе любого значения (фамилии) из выпадающего списка B1, в таблице подсвечиваются цветом все строки, которые содержат это значение (фамилию). Чтобы в этом убедится в выпадающем списке B1 выберите другую фамилию. После чего автоматически будут выделены цветом уже другие строки. Такую таблицу теперь легко читать и анализировать.
Скачать пример выборки из списка с условным форматированием.
Принцип действия автоматической подсветки строк по критерию запроса очень прост. Каждое значение в столбце A сравнивается со значением в ячейке B1. Это позволяет найти уникальные значения в таблице Excel. Если данные совпадают, тогда формула возвращает значение ИСТИНА и для целой строки автоматически присваивается новый формат. Чтобы формат присваивался для целой строки, а не только ячейке в столбце A, мы используем смешанную ссылку в формуле =$A4.
Результатом выполнения этого шага будет индекс найденного уникального значения в полном списке
Скопируем эту формулу в оставшиеся ячейки и получим все уникальные значения. Но видим в последних двух строчках ошибку #Н/Д. Это из-за того, что все уникальные значения найдены, новые уже не находятся.
Используем функцию перехвата ошибки ЕСНД, чтобы вывести пустую строку («») вместо текста ошибки:
Итоговая формула отлично работает. Она достаёт все нужные нам данные и обрабатывает возможные ошибки. Процедура простая, но новичкам бывает сложно её понять. Поэтому, задавайте вопросы в комментариях, ведь в серьёзных расчётах без подобных вычислений не обойтись!
Фильтр уникальных значений или удаление повторяющихся значений
В этом курсе:
В Excel есть несколько способов фильтрации уникальных значений, а также удаления повторяющихся значений.
Чтобы отфильтровать уникальные значения, нажмите кнопку данные > отсортировать & фильтр > Дополнительно.
Чтобы удалить повторяющиеся значения, выберите > инструменты данные > Удалить дубликаты.
Чтобы выделиь уникальные или повторяющиеся значения, используйте команду условное форматирование в группе стиль на вкладке Главная .
Фильтрация уникальных значений и удаление повторяющихся значений — это две похожие задачи, так как целью является предоставление списка уникальных значений. Тем не менее, при фильтрации уникальных значений вы должны временно скрыть повторяющиеся значения. Однако удаление повторяющихся значений означает безвозвратное удаление повторяющихся значений.
Повторяющееся значение — это одно из значений, для которого все значения по крайней мере одной строки идентичны всем значениям в другой строке. Сравнение повторяющихся значений зависит от того, что отображается в ячейке, а не на основе значения, хранящегося в ячейке. Например, если у вас есть одинаковое значение даты в разных ячейках, например «3/8/2006», а другое — «Мар 8, 2006», значения будут уникальными.
Проверка перед удалением дубликатов: Прежде чем удалять повторяющиеся значения, рекомендуется сначала попытаться отфильтровать (или условно отформатировать по — уникальные значения), чтобы подтвердить достижение ожидаемых результатов.
Выполните указанные ниже действия.
Выделите диапазон ячеек или убедитесь в том, что активная ячейка находится в таблице.
Нажмите кнопку данные > дополнительно (в группе Фильтр сортировки & ).
В всплывающем окне Расширенный фильтр выполните одно из следующих действий:
Чтобы отфильтровать диапазон ячеек или таблицы по месту, выполните указанные ниже действия.
Нажмите кнопку Фильтровать список на месте.
Чтобы скопировать результаты фильтра в другое место, выполните указанные ниже действия.
Выберите команду скопировать в другое место.
В поле Копировать в введите ссылку на ячейку.
Кроме того, можно нажать кнопку Свернуть диалоговое окно , чтобы временно скрыть всплывающее окно, выбрать ячейку на листе, а затем нажать кнопку развернуть .
Установите флажок только уникальные записии нажмите кнопку ОК.
Уникальные значения из диапазона будут скопированы в новое место.
При удалении повторяющихся значений единственным эффектом будут значения в диапазоне ячеек или таблице. Другие значения, находящиеся за пределами диапазона ячеек или таблицы, не изменяются и не перемещаются. При удалении дубликатов сохраняется первое вхождение значения в списке, а также удаляются другие идентичные значения.
Так как вы удаляете данные безвозвратно, рекомендуется скопировать исходный диапазон ячеек или таблицы на другой лист или в другую книгу, прежде чем удалять повторяющиеся значения.
Выполните указанные ниже действия.
Выделите диапазон ячеек или убедитесь в том, что активная ячейка находится в таблице.
На вкладке данные нажмите кнопку Удалить дубликаты (в группе Работа с данными ).
Выполните одно или несколько из указанных ниже действий:
В разделе столбцывыберите один или несколько столбцов.
Чтобы быстро выделить все столбцы, нажмите кнопку выделить все.
Чтобы быстро удалить все столбцы, нажмите кнопку снять выделение.
Если диапазон ячеек или таблица содержат много столбцов и нужно выделить несколько столбцов, возможно, вам будет проще щелкнуть снять все, а затем в разделе столбцывыберите эти столбцы.
Примечание: Данные будут удалены из всех столбцов, даже если на этом этапе не будут выделяться все столбцы. Например, если выбрать Столбец1 и Столбец2 (но не Столбец3), то «Key», использованный для поиска дубликатов, — это значение обоих Столбец1 & Столбец2. Если в этих столбцах обнаружена повторяющаяся копия, вся строка удаляется, в том числе другие столбцы в таблице или диапазоне.
Нажмите кнопку ОК, и появится сообщение о том, сколько повторяющихся значений было удалено, или сколько уникальных значений осталось. Нажмите кнопку ОК , чтобы закрыть сообщение.
Чтобы изменить изменения, нажмите кнопку Отменить (или нажмите клавиши CTRL + Z на клавиатуре).
Невозможно удалить повторяющиеся значения из структурированных данных структуры или с промежуточными итогами. Для удаления дубликатов необходимо удалить структуру и промежуточные итоги. Дополнительные сведения можно найти в разделе Структурирование списка данных на листе и Удаление промежуточных итогов.
Примечание: Вы не можете условно форматировать поля в области значений отчета сводной таблицы с помощью уникальных или повторяющихся значений.
Выполните указанные ниже действия.
Выделите одну или несколько ячеек в диапазоне, таблице или отчете сводной таблицы.
На вкладке Главная в группе стиль щелкните маленькую стрелку для условного форматированияи выберите пункт правила выделения ячеек, а затем — повторяющиеся значения.
Введите значения, которые вы хотите использовать, а затем выберите формат.
Выполните указанные ниже действия.
Выделите одну или несколько ячеек в диапазоне, таблице или отчете сводной таблицы.
На вкладке Главная в группе стили щелкните стрелку рядом с кнопкой условное форматированиеи выберите пункт Управление правилами , чтобы открыть всплывающее окно диспетчера правил условного форматирования .
Выполните одно из следующих действий.
Чтобы добавить условное форматирование, нажмите кнопку создать правило , чтобы открыть всплывающее окно » новое правило форматирования «.
Чтобы изменить условное форматирование, сначала убедитесь, что в списке Показать правила форматирования для выбран соответствующий лист или таблица. При необходимости выберите другой диапазон ячеек, нажав кнопку свернуть в окне применено, чтобы временно скрыть его. Выберите новый диапазон ячеек на листе, а затем снова разверните всплывающее окно . Выберите правило и нажмите кнопку изменить правило , чтобы открыть всплывающее окно » Изменение правила форматирования «.
В группе Выберите тип правила выберите параметр Форматировать только уникальные или повторяющиеся значения.
В списке форматировать все измените описание правилавыберите значение уникальное или повторяющееся.
Нажмите кнопку Формат , чтобы открыть всплывающее окно Формат ячеек .
Выберите число, шрифт, границу или формат заливки, которые нужно применить, если значение ячейки соответствует условию, а затем нажмите кнопку ОК. Можно выбрать несколько форматов. Выбранные форматы отображаются на панели Предварительный просмотр .
В Excel в Интернете вы можете удалить повторяющиеся значения.
Удаление повторяющихся значений
При удалении повторяющихся значений единственным эффектом будут значения в диапазоне ячеек или таблице. Другие значения, находящиеся за пределами диапазона ячеек или таблицы, не изменяются и не перемещаются. При удалении дубликатов сохраняется первое вхождение значения в списке, а также удаляются другие идентичные значения.
Важно: Вы всегда можете нажать кнопку отменить , чтобы вернуть данные после удаления дубликатов. С другой стороны, перед удалением повторяющихся значений рекомендуется скопировать исходный диапазон ячеек или таблицы на лист или в другую книгу.
Выполните указанные ниже действия.
Выделите диапазон ячеек или убедитесь в том, что активная ячейка находится в таблице.
На вкладке данные нажмите кнопку Удалить дубликаты .
В диалоговом окне Удаление дубликатов снимите флажок для столбцов, в которых не нужно удалять повторяющиеся значения.
Примечание: Данные будут удалены из всех столбцов, даже если на этом этапе не будут выделяться все столбцы. Например, если выбрать Столбец1 и Столбец2 (но не Столбец3), то «Key», использованный для поиска дубликатов, — это значение обоих Столбец1 & Столбец2. При обнаружении дубликата в Столбец1 и Столбец2 вся строка будет удалена, включая данные из Столбец3.
Нажмите кнопку ОК, и появится сообщение о том, сколько повторяющихся значений было удалено. Нажмите кнопку ОК , чтобы закрыть сообщение.
Примечание: Если вы хотите вернуться к данным, просто нажмите кнопку отменить (или нажмите клавиши CTRL + Z на клавиатуре).
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.
См. также
Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).
Отбор уникальных значений (убираем повторы из списка) в EXCEL
Имея список с повторяющимися значениями, создадим список, состоящий только из уникальных значений. При добавлении новых значений в исходный список, список уникальных значений должен автоматически обновляться.
Пусть в столбце А имеется список с повторяющимися значениями, например список с названиями компаний.
Задача
В некоторых ячейках исходного списка имеются повторы — новый список уникальных значений не должен их содержать.
Для наглядности уникальные значения в исходном списке выделены цветом с помощью Условного форматирования .
Решение
Для начала создадим Динамический диапазон , представляющий собой исходный список. Если в исходный список будет добавлено новое значение, то оно будет автоматически включено в Динамический диапазон и нижеследующие формулы не придется модифицировать.
Для создания Динамического диапазона :
- на вкладке Формулы в группе Определенные имена выберите команду Присвоить имя ;
- в поле Имя введите: Исходный_список ;
- в поле Диапазон введите формулу =СМЕЩ(УникальныеЗначения!$A$5;;; СЧЁТЗ(УникальныеЗначения!$A$5:$A$30))
- нажмите ОК.
Список уникальных значений создадим в столбце B с помощью формулы массива (см. файл примера ). Для этого введите следующую формулу в ячейку B5 :
После ввода формулы вместо ENTER нужно нажать CTRL + SHIFT + ENTER . Затем нужно скопировать формулу вниз, например, с помощью Маркера заполнения . Чтобы все значения исходного списка были гарантировано отображены в списке уникальных значений, необходимо сделать размер списка уникальных значений равным размеру исходного списка (на тот случай, когда все значения исходного списка не повторяются). В случае наличия в исходном списке большого количества повторяющихся значений, список уникальных значений можно сделать меньшего размера, удалив лишние формулы, чтобы исключить ненужные вычисления, тормозящие пересчет листа.
Разберем работу формулу подробнее:
- Здесь использование функции СЧЁТЕСЛИ() не совсем обычно: в качестве критерия (второй аргумент) указано не одно значение, а целый массив Исходный_список , поэтому функция возвращает не одно значение, а целый массив нулей и единиц. Возвращается 0, если значение из исходного списка не найдено в диапазоне B4:B4( B4:B5 и т.д.), и 1 если найдено. Например, в ячейке B5 формулой СЧЁТЕСЛИ(B$4:B5;Исходный_список) возвращается массив <1:0:0:0:0:0:0:1:0:0:0:0:1:1:0>. Т.е. в исходном списке найдено 4 значения «ООО Рога и копытца» ( B5 ). Массив легко увидеть с помощью клавиши F9 (выделите в Строке формул выражение СЧЁТЕСЛИ(B$4:B5;Исходный_список) , нажмите F9 : вместо формулы отобразится ее результат);
- ПОИСКПОЗ() – возвращает позицию первого нуля в массиве из предыдущего шага. Первый нуль соответствует значению еще не найденному в исходном списке (т.е. значению «ОАО Уважаемая компания» для формулы в ячейке B5 );
- ИНДЕКС() – восстанавливает значение по его позиции в диапазоне Исходный_список ;
- ЕСЛИОШИБКА() подавляет ошибку, возникающую, когда функция ПОИСКПОЗ() пытается в массиве нулей и единиц, возвращенном СЧЁТЕСЛИ() , найти 0, которого нет (ситуация возникает в ячейке B12 , когда все уникальные значения уже извлечены из исходного списка).
Формула будет работать и в случае если исходный список содержит числовые значения.
Примечание . Функция ЕСЛИОШИБКА() будет работать начиная с версии MS EXCEL 2007, чтобы обойти это ограничение читайте статью про функцию ЕСЛИОШИБКА() . В файле примера имеется лист Для 2003 , где эта функция не используется.
Решение для списков с пустыми ячейками
Если исходная таблица содержит пропуски, то нужно использовать другую формулу массива (см. лист с пропусками файла примера ): =ЕСЛИОШИБКА(ИНДЕКС($A$5:$A$19; ПОИСКПОЗ( 0;ЕСЛИ(ЕПУСТО($A$5:A19);»»;СЧЁТЕСЛИ($B$4:B4;$A$5:$A$19));0) );»»)
Решение без формул массива
Для отбора уникальных значений можно обойтись без использования формул массива . Для этого создайте дополнительный служебный столбец для промежуточных вычислений (см. лист «Без CSE» в файле примера ).
СОВЕТ: Список уникальных значений можно создать разными способами, например, с использованием Расширенного фильтра (см. статью Отбор уникальных строк с помощью Расширенного фильтра ), Сводных таблиц или через меню Данные/ Работа с данными/ Удалить дубликаты . У каждого способа есть свои преимущества и недостатки. Преимущество использования формул состоит в том, чтобы при добавлении новых значений в исходный список, список уникальных значений автоматически обновлялся.
СОВЕТ2 : Для тех, кто создает список уникальных значений для того, чтобы в дальнейшем сформировать на его основе Выпадающий список , необходимо учитывать, что вышеуказанные формулы возвращают значение Пустой текст «» , который требует аккуратного обращения, особенно при подсчете значений (вместо обычной функции СЧЕТЗ() нужно использовать СЧЕТЕСЛИ() со специальными аргументами ). Например, см. статью Динамический выпадающий список в MS EXCE L.
Примечание : В статье Восстанавливаем последовательности из списка без повторов в MS EXCEL решена обратная задача: из списка уникальных значений, в котором для каждого значения задано количество повторов, создается список этих значений с повторами.
Имея список с повторяющимися значениями, создадим список, состоящий только из уникальных значений. При добавлении новых значений в исходный список, список уникальных значений должен автоматически обновляться.
Пусть в столбце
А
имеется список с
повторяющимися
значениями, например список с названиями компаний.
Задача
В некоторых ячейках исходного списка имеются повторы — новый список уникальных значений не должен их содержать.
Для наглядности уникальные значения в исходном списке выделены цветом
с помощью Условного форматирования
.
Решение
Для начала создадим
Динамический диапазон
, представляющий собой исходный список. Если в исходный список будет добавлено новое значение, то оно будет автоматически включено в
Динамический диапазон
и нижеследующие формулы не придется модифицировать.
Для создания
Динамического диапазона
:
-
на вкладке
Формулы
в группе
Определенные имена
выберите команду
Присвоить имя
; -
в поле
Имя
введите:
Исходный_список
; -
в поле
Диапазон
введите формулу
=СМЕЩ(УникальныеЗначения!$A$5;;; СЧЁТЗ(УникальныеЗначения!$A$5:$A$30))
- нажмите ОК.
Список уникальных значений создадим в столбце
B
с помощью
формулы массива
(см.
файл примера
). Для этого введите следующую формулу в ячейку
B5
:
=ЕСЛИОШИБКА(ИНДЕКС(Исходный_список; ПОИСКПОЗ(0;СЧЁТЕСЛИ(B$4:B4;Исходный_список);0));»»)
После ввода формулы вместо
ENTER
нужно нажать
CTRL + SHIFT + ENTER
. Затем нужно скопировать формулу вниз, например, с помощью
Маркера заполнения
. Чтобы все значения исходного списка были гарантировано отображены в списке уникальных значений, необходимо сделать размер списка уникальных значений равным размеру исходного списка (на тот случай, когда все значения исходного списка не повторяются). В случае наличия в исходном списке большого количества повторяющихся значений, список уникальных значений можно сделать меньшего размера, удалив лишние формулы, чтобы исключить ненужные вычисления, тормозящие пересчет листа.
Разберем работу формулу подробнее:
-
Здесь использование функции
СЧЁТЕСЛИ()
не совсем обычно: в качестве критерия (второй аргумент) указано не одно значение, а целый массив
Исходный_список
, поэтому функция возвращает не одно значение, а целый массив нулей и единиц. Возвращается 0, если значение из исходного списка не найдено в диапазоне
B4:B4
(
B4:B5
и т.д.), и 1 если найдено. Например, в ячейке
B5
формулой
СЧЁТЕСЛИ(B$4:B5;Исходный_список)
возвращается массив {1:0:0:0:0:0:0:1:0:0:0:0:1:1:0}. Т.е. в исходном списке найдено 4 значения «ООО Рога и копытца» (
B5
). Массив легко увидеть с помощьюклавиши
F9
(выделите вСтроке формул
выражение
СЧЁТЕСЛИ(B$4:B5;Исходный_список)
, нажмите
F9
: вместо формулы отобразится ее результат);
ПОИСКПОЗ()
– возвращает позицию первого нуля в массиве из предыдущего шага. Первый нуль соответствует значению еще не найденному в исходном списке (т.е. значению «ОАО Уважаемая компания» для формулы в ячейке
B5
);
ИНДЕКС()
– восстанавливает значение по его позиции в диапазоне
Исходный_список
;
ЕСЛИОШИБКА()
подавляет ошибку, возникающую, когда функция
ПОИСКПОЗ()
пытается в массиве нулей и единиц, возвращенном
СЧЁТЕСЛИ()
, найти 0, которого нет (ситуация возникает в ячейке
B12
, когда все уникальные значения уже извлечены из исходного списка).
Формула будет работать и в случае если исходный список содержит числовые значения.
Примечание
. Функция
ЕСЛИОШИБКА()
будет работать начиная с версии MS EXCEL 2007, чтобы обойти это ограничение читайте статью
про функцию
ЕСЛИОШИБКА()
. В файле примера имеется лист
Для 2003
, где эта функция не используется.
Решение для списков с пустыми ячейками
Если исходная таблица содержит пропуски, то нужно использовать другую
формулу массива
(см. лист
с пропусками
файла примера
):
=ЕСЛИОШИБКА(ИНДЕКС($A$5:$A$19; ПОИСКПОЗ( 0;ЕСЛИ(ЕПУСТО($A$5:A19);»»;СЧЁТЕСЛИ($B$4:B4;$A$5:$A$19));0) );»»)
Решение без формул массива
Для отбора уникальных значений можно обойтись без использования
формул массива
. Для этого создайте дополнительный служебный столбец для промежуточных вычислений (см. лист «Без CSE» в
файле примера
).
СОВЕТ:
Список уникальных значений можно создать разными способами, например, с использованием
Расширенного фильтра
(см. статью
Отбор уникальных строк с помощью Расширенного фильтра
),
Сводных таблиц
или через меню
. У каждого способа есть свои преимущества и недостатки. Преимущество использования формул состоит в том, чтобы при добавлении новых значений в исходный список, список
уникальных
значений автоматически обновлялся.
СОВЕТ2
: Для тех, кто создает список уникальных значений для того, чтобы в дальнейшем сформировать на его основе
Выпадающий список
, необходимо учитывать, что вышеуказанные формулы возвращают значение
Пустой текст «»
, который требует аккуратного обращения, особенно при подсчете значений (вместо обычной функции
СЧЕТЗ()
нужно использовать СЧЕТЕСЛИ() со специальными аргументами
). Например, см. статью
Динамический выпадающий список в MS EXCE
L.
Примечание
: В статье
Восстанавливаем последовательности из списка без повторов в MS EXCEL
решена обратная задача: из списка уникальных значений, в котором для каждого значения задано количество повторов, создается список этих значений с повторами.