Макрос excel одинаковые строки

Генерация дубликатов строк

В большинстве случаев повторы в наших данных нежелательны и мы с вами стараемся от них избавиться разными способами. Но иногда случается, что дубликаты нужны и полезны, и более того — нам необходимо их создавать!

Допустим, что у нас есть вот такая таблица с именами людей, заказавших билет в кино и количеством билетов для каждого:

Исходные данные

Каждому билету нужно присвоить уникальный 6-значный номер, который формируется здесь простой функцией СЛУЧМЕЖДУ (RANDBETWEEN), генерирующей целое случайное число в заданном диапазоне 100000-999999. Да, я знаю, что теоретически совпадения могут быть, но вероятность очень невелика и пока нас, допустим, устраивает (кого не устраивает — см.эту статью). Проблема в другом: для тех, кто заказал больше одного билета, нужно вставить в таблицу новые строки-дубли (по количеству заказанных билетов), т.е. на выходе получить вот такое:

Генерация дубликатов строк

Руками такое делать — тоскливо, формулами — сложно. Так что остаются два наиболее удобных варианта — макросы и Power Query.

Способ 1. Создание дубликатов строк макросом

Откроем редактор макросов кнопкой Visual Basic на вкладке Разработчик (Developer) или сочетанием клавиш Alt+F11. Вставим новый модуль через меню Insert — Module и скопируем туда текст нашего макроса:

Sub Duplicate_Rows()
    Dim cell As Range

    Set cell = Range("B2")      'первая ячейка в столбце с кол-вом билетов
    Do While Not IsEmpty(cell)
        If cell > 1 Then
            cell.Offset(1, 0).Resize(cell.Value - 1, 1).EntireRow.Insert    'вставляем N пустых строк
            cell.Resize(cell.Value, 1).EntireRow.FillDown                   'заполняем вниз из первых ячеек
        End If
        Set cell = cell.Offset(cell.Value, 0)
    Loop
End Sub

Принцип тут не самый сложный: 

  1. проходим сверху-вниз по столбцу начиная с B2 до первой пустой ячейки
  2. если число в ячейке >1, то вставляем пустых строк под ячейкой на одну меньше, чем число билетов
  3. заполняем пустые ячейки (метод FillDown — аналог «протягивания за черный крестик» в правом нижнем углу ячейки)
  4. переходим к следующей ячейке и т.д.

Способ 2. Создание дубликатов строк в Power Query

Тем, кто хотя бы немного сталкивался с Power Query, рекламировать его мощь не нужно :)  Для тех, кто не знаком (если коротко), то Power Query — это бесплатная надстройка для Excel от Microsoft, умеющая делать с данными практически все, что только можно себе представить: загрузку из любых источников, очистку, трансформацию, анализ данных и т.д. Для Excel 2010-2013 ее можно скачать с сайта Microsoft (появится отдельная вкладка Power Query после установки), а в Excel 2016 она уже встроена по-умолчанию (группа Получить внешние данные на вкладке Данные).

Power Query может легко и красиво решить нашу проблему с генерацией дубликатов.

Для начала, выделим нашу таблицу и загрузим ее в Power Query кнопкой Из таблицы/диапазона (From Table/Range) на вкладке Данные (Data) или Power Query:

Загрузка данных в Power Query

После окна подтверждения увидим редактор запросов и нашу таблицу. Добавим пользовательский столбец на вкладке Добавить столбец (Add Column — Custom Column):

Добавляем вычисляемый столбец

В появившемся окне введем имя столбца и формулу, которая создает список чисел от 1 до количества билетов в каждой строке:

Формула столбца

После нажатия на ОК появится новый столбец со списками, элементы которых можно развернуть в строки, используя кнопку в шапке таблицы:

Разворачиваем списки

В итоге, получаем практически то, что хотелось:

Сгенерированные дубликаты строк

Осталось удалить ненужный больше столбец Список (правой кнопкой мыши по заголовку — Удалить столбец) и выгрузить данные обратно на лист на вкладке Главная (Home) с помощью кнопки Закрыть и загрузить — Закрыть и загрузить в… (Close&Load — Close&Load to…) и указать подходящее место для результирующей таблицы:

Выгружаем на лист

И останется совсем простая часть — добавить к таблице столбец с формулой СЛУЧМЕЖДУ (RANDBETWEEN) для генерации случайных номеров билетов:

Результат

Особенно приятно, что при любых изменениях в исходной (левой) таблице (добавлении новых людей или изменении количества билетов), достаточно будет просто обновить правой кнопкой мыши нашу результирующую таблицу с номерами билетов.

P.S.

Если нужно, чтобы случайные числа не генерировались каждый раз заново при пересчете листа, а формировались один раз, сохраняя потом свои значения, то придется использовать макро-функцию StaticRandBetween из надстройки PLEX или что-то аналогичное.

Также можно, для наглядности, склеивать через дефис номер билета и порядковый номер из столбца Список прямо в Power Query, используя команду Объединить столбцы на вкладке Преобразование (Transform).

Ссылки по теме

  • Слияние двух списков без дубликатов
  • Извлечение уникальных элементов из диапазона
  • Что такое макросы, как их использовать, куда вставлять код макросов на Visual Basic

В данном практическом примере мы напишем и пошагово разберем принцип действия VBA кода макроса для автоматического объединения повторяющихся ячеек в таблице.

Как объединить все повторяющиеся ячейки в строке

У нас иметься квартальный отчет, сформированный по отделам, как показано ниже на рисунке:

Квартальный отчет.

Сначала нам необходимо объединить все ячейки, которые содержат в своем значении одинаковый год. Решение данной задачи можно существенно упростить с помощью готового макроса.

Откройте редактор Visual Basic (ALT+F11):

Visual Basic.

Создайте новый модуль с помощью инструмента: «Insert»-«Module». А потом введите в него следующий VBA-код:

Код в модуле.

Sub MergeDoubles()
Dim i As Long
Application.DisplayAlerts = False
For i = Selection.Columns.Count To 2 Step -1
  If Selection.Cells(1, i) = Selection.Cells(1, i - 1) Then
  Range(Selection.Cells(1, i - 1), Selection.Cells(1, i)).Merge
  End If
Next
Selection.HorizontalAlignment = xlHAlignCenter
Application.DisplayAlerts = True
End Sub

Теперь если нам нужно объединить одинаковые ячейки в строке по горизонтали, выделите диапазон ячеек B1:L1 и запустите макрос. А для этого выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы»-«MergeDoubles»-«Выполнить». В результате должен получиться эффект такой же как на рисунке:

Пример.

В начале кода мы декларируем переменную, которая играет роль счетчика в цикле. С помощью этого же цикла мы проверяем значения всех соседних ячеек в выделенном диапазоне справа на лево. Если ячейка содержит такое же значение, как и соседняя, тогда они объединяться. В начале выполнения макроса отключаем предупреждающее сообщение, которое по умолчанию возникает при попытке объединить непустые ячейки в программе Excel. Для этого мы вызываем объект «DisplayAlerts» и просто меняем его свойство на значение «False». В конце кода не забудем поменять значение в это же свойство на «True», чтобы снова включить действе объекта «DisplayAlerts», как и должно быть по умолчанию в программе Excel.

Так же мы еще воспользуемся объектом HorizontalAlignment, чтобы выровнять текст в объединенных ячейках по центру устанавливаем ему свойство xlHAlignCenter.

Обратите внимание на то, что наш макрос пока еще не умеет работать более чем с одной строкой. Сколько строк не выделяй он все равно объединяет повторяющиеся значения только в первой строке.



Как объединить все повторяющиеся ячейки одновременно

Если данный макрос должен уметь работать сразу с несколькими выделенными строками одновременно, тогда усовершенствуем его изменив и настроив код. В начале кода добавим декларацию для новой переменной j:

Dim j As Long

Далее нам необходимо создать новый цикл, который должен срабатывать еще до выполнения старого цикла. Так выглядит строка кода для нового цикла, которую следует добавить выше уже имеющегося цикла:

For j = 1 To Selection.Rows.Count

После инструкции конца первого цикла добавляем новую строку с инструкцией конца для второго:

Next

Далее во всех экземплярах объекта Cells указываем в аргументе в место числа 1 переменную j. Например, Selection.Cells(i, j). Полная версия усовершенствованного кода макроса выглядит так:

Sub MergeDoubles()
Dim i As Long
Dim j As Long
Application.DisplayAlerts = False
For j = 1 To Selection.Rows.Count
  For i = Selection.Columns.Count To 2 Step -1
    If Selection.Cells(j, i) = Selection.Cells(j, i - 1) Then
    Range(Selection.Cells(j, i - 1), Selection.Cells(j, i)).Merge
    End If
  Next
Next
Selection.HorizontalAlignment = xlHAlignCenter
Application.DisplayAlerts = True
End Sub

А теперь выделите диапазон B1:L12 и запустите макрос с уже новой версией кода:

Объединение повторяющихся ячеек.

Читайте также: как объединить повторяющиеся ячейки в столбце.

Теперь, можно выделять любое количество строк и наш макрос будет во всех этих строках искать ячейки с одинаковым значением подряд, чтобы объединить их.

Skip to content

На чтение 3 мин. Просмотров 4.1k.

Что делает макрос: Всегда хотел выделить значения дубликатов в диапазоне. Макрос в этом разделе делает именно это. Есть много ручных способов найти и выделить дубликаты — способы, включающие формулы, условное форматирование, сортировку и т.д. Тем не менее, все эти методы требуют ручной настройки и определенного уровня обслуживания по мере изменения данных.
Этот макрос упрощает задачу, что позволяет найти и выделить дубликаты в ваших данных с помощью щелчка мыши.

Содержание

  1. Как макрос работает
  2. Код макроса
  3. Как этот код работает
  4. Как использовать

Как макрос работает

Этот макрос перечисляет ячейки в целевом диапазоне, используя оператор For Each, чтобы активировать каждую ячейку по одной за раз. Затем мы используем функцию СЧЕТЕСЛИ, чтобы подсчитать, сколько раз значение в активной ячейке находится в выбранном
диапазоне. Если это число больше единицы, то формат ячейки — желтого цвета.

Код макроса

Sub VidelitDublikati()
'Шаг 1: Объявляем переменные
Dim MyRange As Range
Dim MyCell As Range
'Шаг 2: определяем целевой диапазон
Set MyRange = Selection
'Шаг 3: запускаем цикл через диапазон
For Each MyCell In MyRange
'Шаг 4: Убедить, что ячейка имеет форматирование текста
If WorksheetFunction.CountIf(MyRange, MyCell.Value) > 1 Then
MyCell.Interior.ColorIndex = 36
End If
'Шаг 5: Получаем следующую ячейку в диапазоне
Next MyCell
End Sub

Как этот код работает

  1. На шаге 1 объявляются две переменные объекта Range, одна из которых называется MyRange для хранения всей цели диапазона, а другая называется MyCell для хранения каждой ячейки в диапазоне.
  2. Шаг 2 заполняет переменную MyRange целевым диапазоном. В этом примере мы используем выбранный диапазон — диапазон, который был выбран в электронной таблице. Вы можете легко установить переменную MyRange для определенного диапазона, например Range («A1: Z100»). Кроме того, если ваша цель — именованный диапазон, вы можете просто ввести его имя: Range («MyNamedRange»).
  3. Шаг 3 макрос начинает проходить по каждой ячейке в целевом диапазоне, активируя каждую ячейку.
  4. Объект WorksheetFunction позволяет нам запускать многие из Excel функции электронных таблиц в VBA. Шаг 4 использует объект WorksheetFunction для запуска Функция СЧЕТЕСЛИ в VBA.
    В этом случае мы рассчитываем, сколько раз значение активной ячейки (MyCell.Value) найдено в заданном диапазоне (MyRange). Если выражение СЧЕТЕСЛИ оценивается больше 1, макрос изменяет цвет ячейки.
  5. Шаг 5 возвращается к следующей ячейке. После активации всех ячеек в целевом диапазоне макрос заканчивается.

Как использовать

Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
  3. Выберите Insert➜Module.
  4. Введите или вставьте код.

Содержание

  1. Поиск дублей в Excel
  2. Как макрос работает
  3. Код макроса
  4. Как этот код работает
  5. Как использовать
  6. VBA:поиск одинаковых данных в ячеках
  7. 8 ответов
  8. VBA Excel. Удаление повторяющихся значений в диапазоне ячеек
  9. Метод Range.RemoveDuplicates
  10. Синтаксис метода Range.RemoveDuplicates
  11. Параметры метода Range.RemoveDuplicates
  12. Примеры удаления дубликатов
  13. Vba excel поиск повторяющихся значений
  14. Vba excel поиск повторяющихся значений
  15. Поиск, выделение, фильтрация, подсчет, удаление дубликатов в Excel
  16. 2.1 Фильтрация дубликатов с условным форматированием

Поиск дублей в Excel

Что делает макрос: Всегда хотел выделить значения дубликатов в диапазоне. Макрос в этом разделе делает именно это. Есть много ручных способов найти и выделить дубликаты — способы, включающие формулы, условное форматирование, сортировку и т.д. Тем не менее, все эти методы требуют ручной настройки и определенного уровня обслуживания по мере изменения данных.
Этот макрос упрощает задачу, что позволяет найти и выделить дубликаты в ваших данных с помощью щелчка мыши.

Как макрос работает

Этот макрос перечисляет ячейки в целевом диапазоне, используя оператор For Each, чтобы активировать каждую ячейку по одной за раз. Затем мы используем функцию СЧЕТЕСЛИ, чтобы подсчитать, сколько раз значение в активной ячейке находится в выбранном
диапазоне. Если это число больше единицы, то формат ячейки — желтого цвета.

Код макроса

Как этот код работает

  1. На шаге 1 объявляются две переменные объекта Range, одна из которых называется MyRange для хранения всей цели диапазона, а другая называется MyCell для хранения каждой ячейки в диапазоне.
  2. Шаг 2 заполняет переменную MyRange целевым диапазоном. В этом примере мы используем выбранный диапазон — диапазон, который был выбран в электронной таблице. Вы можете легко установить переменную MyRange для определенного диапазона, например Range («A1: Z100»). Кроме того, если ваша цель — именованный диапазон, вы можете просто ввести его имя: Range («MyNamedRange»).
  3. Шаг 3 макрос начинает проходить по каждой ячейке в целевом диапазоне, активируя каждую ячейку.
  4. Объект WorksheetFunction позволяет нам запускать многие из Excel функции электронных таблиц в VBA. Шаг 4 использует объект WorksheetFunction для запуска Функция СЧЕТЕСЛИ в VBA.
    В этом случае мы рассчитываем, сколько раз значение активной ячейки (MyCell.Value) найдено в заданном диапазоне (MyRange). Если выражение СЧЕТЕСЛИ оценивается больше 1, макрос изменяет цвет ячейки.
  5. Шаг 5 возвращается к следующей ячейке. После активации всех ячеек в целевом диапазоне макрос заканчивается.

Как использовать

Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
  3. Выберите Insert➜Module.
  4. Введите или вставьте код.

Источник

VBA:поиск одинаковых данных в ячеках

Доброго времени суток, уважаемые форумчане!

Не могли бы вы подсказать, направить меня в нужном направлении.

Имеется таблица, с данным, в ячейках A1-An хранятся разные имена, некоторые из них повторяются. Подскажите пожалуйста, каким образом можно организовать подсчет каждого повторяющегося имени в таблице?
Тоесть сколько раз повторилось каждое имя.

Заранее спасибо за ответ.

8 ответов

Если инструментом решения должен служить макрос, а не функции рабочего листа, то алгоритм может быть таким:
— заводим массив для регистрации уникальных вариантов имён и массив счётчиков для них;
— организуем цикл по заданному диапазону ячеек для перебора всех значений;
— для каждого значения выполняем проверку наличия его в массиве уникальных имён (опять же в цикле); если проверяемое имя уже встречается в массиве, то увеличиваем значение соответствующего счётчика, если — не встречается, то добавляем его в массив и создаём очередной счётчик;
— нужным образом организуем вывод результатов (в окно сообщений, в файл, на лист и т.п.).

Если задача не учебная, то рекомендую использовать возможности объекта Dictionary из состава WSH. Вот пример:

Источник

VBA Excel. Удаление повторяющихся значений в диапазоне ячеек

Удаление повторяющихся значений (дубликатов) в диапазоне ячеек с помощью кода VBA Excel. Метод Range.RemoveDuplicates — синтаксис, параметры, примеры.

Метод Range.RemoveDuplicates

Метод Range.RemoveDuplicates предназначен в VBA Excel для удаления повторяющихся значений по столбцам в заданном диапазоне ячеек рабочего листа. Строки с обнаруженными дубликатами удаляются целиком.

Синтаксис метода Range.RemoveDuplicates

expression. RemoveDuplicates (Columns , Header) ,

где expression — переменная или выражение, возвращающее объект Range.

Параметры метода Range.RemoveDuplicates

Наименование Описание
Columns Массив индексов столбцов, содержащих ячейки с повторяющимися значениями. Обязательный параметр. Тип данных – Variant.
Header Указывает, содержит ли первая строка диапазона заголовок, который не участвует в поиске дубликатов:

  • xlNo — первая строка списка не содержит заголовок (значение по умолчанию);
  • xlYes — первая строка диапазона содержит заголовок;
  • xlGuess — VBA Excel решает сам, есть ли у списка заголовок.

Необязательный параметр. Тип данных – XlYesNoGuess.

Метод работает как с круглыми скобками, в которые заключены параметры, так и без них. Если требуется указать несколько столбцов в параметре Columns, следует использовать функцию Array, например, Array(2, 3).

Примеры удаления дубликатов

Исходная таблица для всех примеров

По третьей колонке легко определить, какие строки были удалены.

Пример 1
Удаление повторяющихся значений по первому столбцу:

Range(«A1:C10»).RemoveDuplicates 1

Range(Cells(1, 1), Cells(10, 3)).RemoveDuplicates (1)

Второй вариант позволяет использовать вместо индексов строк и столбцов переменные. Наличие или отсутствие скобок, в которые заключен параметр Columns, на работу метода не влияет.

Пример 2
Удаление дубликатов по первому столбцу с указанием, что первая строка содержит заголовок:

Range(«A1:C10»).RemoveDuplicates 1, xlYes

Здесь мы видим, что первая строка не учитывалась при поиске повторяющихся значений.

Пример 3
Удаление дубликатов по первому и второму столбцам:

Range(«A1:C10»).RemoveDuplicates Array(1, 2)

Обратите внимание, что при удалении повторяющихся значений по нескольким столбцам, будут удалены дубли только тех строк, в которых во всех указанных столбцах содержатся одинаковые значения. В третьем примере удалены «лишние» строки с дублями значений по двум первым столбцам: Корова+Лягушка, Свинья+Бурундук и Овца+Собака.

Смотрите, как отобрать уникальные значения из списка в VBA Excel с помощью объекта Collection и объекта Dictionary.

Источник

Vba excel поиск повторяющихся значений

появилась необходимость поиска повторяющихся улиц с номерами домов в таблице эксель с помощью макроса

Итак есть столбец «улица», рядом столбец «дом». Есть еще другие Столбцы в которых есть информация.
Если есть 2 записи в которых улица и номер дома идентичны, то подсветить красным цветом чтобы менеджер мог удалить лишнюю запись.
Так как дубликатов быть не должно.
Таблица состоит из 20 000! записей(строк)

Как можно было бы организовать алгоритм обхода так, чтобы это работало максимально производительно(быстро)

Прикрепите к сообщению пример файла (можно не весь, но столбцы с улицами и домами должны присутствовать)

А 20 000 строк — это не так уж и много.
Или у Вас комп очень медленный?

комп вроде нормальный: два ядра по три гигагерца.

база во вложении
а также моя версия макроса))

Вложения

условие if cell.Interior.ColorIndex <> 3 then тело второго цикла.

В этом случае будут пропускаться ячейки окашенные в красный цвет.
А насколько повыситься быстродействие суди сам

думаю что проверка цвета почти ничего не даст..

вот щас подумал функцию getTrimCell2 надо переписать.

зачем каждый раз делать конкатенацию
Trim(Range(adr).Value) & Trim(Range(adr).Offset(0, 1).Value)

надо просто отдельно сравнивать парами
street1 = street2 and number1 = number2

только вот в процессе реализации возникает сообщение такое
«недостаточно системных ресурсов для отображения диалогового окна»
и как его вылечить ?

у меня офис 2007 rus крякнутый

подсветить красным цветом чтобы менеджер мог удалить лишнюю запись

думаю что проверка цвета почти ничего не даст..

вот щас подумал функцию getTrimCell2 надо переписать.

зачем каждый раз делать конкатенацию
Trim(Range(adr).Value) & Trim(Range(adr).Offset(0, 1).Value)

надо просто отдельно сравнивать парами
street1 = street2 and number1 = number2

При проверке цвета лишний раз не будет срабатывать второй цикл (повторного поиска одинаковых значений). Если цвет будет совпадать с красным незачем повторно искать эти же значения. Поиск уже осуществлен.
И подумай вот о чем, если первое из повторенных значений находиться ну скажем в первой сотни — цикл будет крутиться более 19900 что займет достаточно времени. Чем не сокращение времени поиска повторений

Я бы ввел дополнительное поле уже проверенных знаечний в какой нибудь из скрытых ячеек. Тогда первый цикл будет идти долго а вот поиск новых значений гораздо меньше. Надо будет найти совпадение вновь введенных занчений уже с отработанными. а это существенно меньше чем выполнять весь цикл

Такие темы встречались уже множество раз.

Немного переделал макрос из этой темы.

Вот что получилось. (см. вложение)

Как можно было бы организовать алгоритм обхода так, чтобы это работало максимально производительно(быстро)

Мой макрос обрабатывает данные далеко не самым эффективным образом (перебором строк).
Но формирование выборки уникальных адресов происходит за несколько секунд (создаётся новый лист с выборкой).

При желании можно уменьшить время обработки до 1 секунды (если сразу считывать все адреса в массив, обрабатывать массив, а потом записывать массив на новый лист)

Можно удалять также пустые и полупустые строки (если Вы сформулируете требования к удаляемым строкам)

Источник

Vba excel поиск повторяющихся значений

  • 1. Найдите и выделите дубликаты
    • 1.1 Найдите дубликаты с формулой
      • 1.1.1 Повторяющиеся ячейки в одном столбце
      • 1.1.2 Повторяющиеся ячейки в двух столбцах
      • 1.1.3 Повторяющиеся ячейки с учетом регистра
    • 1.2 Выделение дубликатов условным форматированием
      • 1.2.1 Повторяющиеся ячейки
      • 1.2.2 Строки на основе повторяющихся ячеек
      • 1.2.3 Повторяющиеся строки
      • 1.2.4 Повторяющиеся ячейки, кроме 1-го экземпляра
    • 1.3 Выделите дубликаты разными цветами
    • 1.4 Выделите дубликаты сторонними надстройками
      • 1.4.1 Повторяющиеся ячейки в одном столбце
      • 1.4.2 Дублирование ячеек в двух столбцах / листах
  • 2. Отфильтровать дубликаты
    • 2.1 По условному форматированию
    • 2.2 Вспомогательной колонкой
  • 3. Подсчитайте дубликаты
    • 3.1 Подсчитайте повторяющиеся значения с критериями
      • 3.1.1 Дубликаты с учетом регистра с критериями
      • 3.1.2 Дубликаты с несколькими критериями
    • 3.2 Подсчитайте общее количество дубликатов в одном столбце
      • 3.2.1 Исключение 1-го вхождения
      • 3.2.2 Включая 1-е вхождение
    • 3.3 Считайте дубликаты в двух столбцах
      • 3.3.1 По формуле
      • 3.3.2 Сторонней надстройкой
    • 3.4 Считайте дубликаты только один раз
      • 3.4.1 Подсчитайте каждое повторяющееся значение один раз
      • 3.4.2 Один раз подсчитать повторяющееся значение с учетом регистра
      • 3.4.3 Подсчитайте каждое повторяющееся значение один раз с помощью удивительных инструментов
    • 3.5 Подсчитайте каждое повторяющееся значение в одном столбце
      • 3.5.1 По функции ПРОМЕЖУТОЧНЫЙ ИТОГ
      • 3.5.2 По сводной таблице
      • 3.5.3 Замечательным инструментом
    • 3.6 Считайте дубликаты по порядку
  • 4. Удалить дубликаты
    • 4.1 Удалить дубликаты, кроме одного в столбце
      • 4.1.1 Функция удаления дубликатов
      • 4.1.2 Функция расширенного фильтра
      • 4.1.3 По VBA
    • 4.2 Удалить дубликаты и оригинал
      • 4.2.1 По условному форматированию
      • 4.2.2 По вспомогательной колонке
      • 4.2.3 Замечательным инструментом
    • 4.3 Удалить строки на основе дубликатов
    • 4.4 Удалить дубликаты в двух столбцах
      • 4.4.1 По вспомогательной колонке
      • 4.4.2 Замечательным инструментом

Поиск, выделение, фильтрация, подсчет, удаление дубликатов в Excel

В Excel повторяющиеся данные возникают время от времени, когда мы записываем данные вручную, копируем данные из других источников или по другим причинам. Иногда дубликаты необходимы и полезны. Однако иногда повторяющиеся значения приводят к ошибкам или недопониманию. В этой статье будут представлены методы быстрого выявления, выделения, фильтрации, подсчета, удаления дубликатов по формулам, правилам условного форматирования, сторонним надстройкам и т. Д. В Excel.

  • 1. Найдите и выделите дубликаты
    • 1.1 Найдите дубликаты с формулой
      • 1.1.1 Найдите повторяющиеся ячейки в одном столбце с помощью формулы
      • 1.1.2 Найдите повторяющиеся ячейки в двух столбцах с помощью формулы
      • 1.1.3 Поиск повторяющихся ячеек с учетом регистра с помощью формулы
    • 1.2 Находите и выделяйте дубликаты с условным форматированием
      • 1.2.1 Поиск и выделение повторяющихся ячеек с условным форматированием
      • 1.2.2 Поиск и выделение строк на основе повторяющихся ячеек
      • 1.2.3 Найдите и выделите повторяющиеся строки с условным форматированием
      • 1.2.4 Найдите и выделите дубликаты, кроме первых экземпляров
    • 1.3 Находите и выделяйте дубликаты разными цветами
    • 1.4 Находите и выделяйте дубликаты с помощью сторонней надстройки
      • 1.4.1 Найдите и выделите повторяющиеся ячейки в одном столбце
      • 1.4.2 Найдите и выделите повторяющиеся ячейки в двух столбцах или листах
  • 2. Отфильтровать дубликаты
    • 2.1 Отфильтровать дубликаты с условным форматированием
    • 2.2 Отфильтруйте дубликаты с помощью вспомогательного столбца
  • 3. Подсчитайте дубликаты
    • 3.1 Подсчитайте повторяющиеся значения с критериями
      • 3.1.1 Подсчет дубликатов с учетом регистра с помощью критериев
      • 3.1.2 Подсчет дубликатов по нескольким критериям
    • 3.2 Подсчитайте общее количество дубликатов в одном столбце
      • 3.2.1 Подсчет дубликатов в столбце, исключая первое вхождение
      • 3.2.2 Подсчет дубликатов в столбце, включая первое вхождение
      • 3.2.3 Подсчет дубликатов в столбце, включая / исключая первые вхождения
    • 3.3 Считайте дубликаты в двух столбцах
      • 3.3.1 Подсчет дубликатов между двумя столбцами с помощью формулы
      • 3.3.2 Подсчет дубликатов между двумя столбцами с помощью сторонней надстройки
    • 3.4 Считайте дубликаты только один раз
      • 3.4.1 Подсчитайте каждое повторяющееся значение один раз с помощью формулы
      • 3.4.2 Один раз подсчитать повторяющееся значение с учетом регистра с помощью формулы массива
      • 3.4.3 Подсчитайте каждое повторяющееся значение один раз с помощью сторонней надстройки
    • 3.5 Подсчитайте каждое повторяющееся значение в одном столбце
      • 3.5.1 Подсчитайте каждое повторяющееся значение в одном столбце с помощью функции ПРОМЕЖУТОЧНЫЙ ИТОГ
      • 3.5.2 Подсчитайте каждое повторяющееся значение в одном столбце с помощью сводной таблицы
      • 3.5.3 Подсчитайте каждое повторяющееся значение в одном столбце с помощью замечательного инструмента
    • 3.6 Считайте дубликаты по порядку
  • 4. Удалить дубликаты
    • 4.1 Удалить дубликаты, кроме одного в столбце
      • 4.1.1 Удаление дубликатов, кроме одного, с функцией удаления дубликатов
      • 4.1.2 Удаление дубликатов, кроме одного с функцией расширенного фильтра
      • 4.1.3 Удалить дубликаты, кроме одного, с VBA
    • 4.2 Удалить дубликаты и оригинал
      • 4.2.1 Удаление всех дубликатов и исходных значений с помощью условного форматирования
      • 4.2.2 Удалите все дубликаты и исходные значения с помощью вспомогательного столбца
      • 4.2.3 Удалите все дубликаты и исходные значения с помощью замечательного инструмента
    • 4.3 Удалить строки на основе дубликатов в одном столбце
    • 4.4 Удалить дубликаты в двух столбцах
      • 4.4.1 Удалить дубликаты в двух столбцах с помощью вспомогательного столбца
      • 4.4.2 Удалите дубликаты в двух столбцах с помощью замечательного инструмента

При обнаружении повторяющихся значений в столбце или диапазоне вы, вероятно, захотите быстро найти дубликаты. В этой части рассказывается о том, как быстро найти или идентифицировать повторяющиеся данные в столбцах, а также выделить повторяющиеся ячейки, строки или выделить строки на основе дубликатов в определенном столбце в Excel.

В этом разделе представлены некоторые формулы для быстрого поиска или идентификации повторяющихся значений в одном или двух столбцах.

1.1.1 Найдите повторяющиеся ячейки в одном столбце с помощью формулы

При нахождении повторяющихся ячеек только в одном столбце или списке мы можем применить COUNTIF функция, позволяющая быстро находить и легко подсчитывать повторяющиеся данные.
1. Выберите пустую ячейку рядом с столбцом, в котором вы найдете дубликаты.

2. Введите формулу = СЧЁТЕСЛИ ($ C $ 3: $ C $ 12; C3)> 1, и нажмите Enter .

3. Перетащите маркер автозаполнения ячейки формулы, чтобы скопировать эту формулу в другие ячейки.

Ноты: В формуле = СЧЁТЕСЛИ ($ C $ 3: $ C $ 12, C3)> 1,
(1) 3 канадских доллара: 12 канадских долларов — это столбец или список, в котором вы найдете повторяющиеся значения. Поскольку столбец статичен, когда мы копируем формулу в другие ячейки, обычно это абсолютная ссылка со знаком «$».
(2) C3 — первая ячейка указанного столбца. Это относительная ссылка, потому что нам нужно, чтобы она изменялась автоматически, когда мы копируем формулу в другие ячейки.
(3) Эта формула вернет ИСТИНА or ФАЛАЗА. ИСТИНА означает, что соответствующее значение дублируется, а НЕПРАВДА указывает, что соответствующее значение уникально в столбце.
(4) Иногда ИСТИНА или ЛОЖЬ не могут быть поняты интуитивно. Мы можем объединить исходную формулу и функцию ЕСЛИ, чтобы вернуть Дубликаты непосредственно.
= ЕСЛИ (СЧЁТЕСЛИ ($ C $ 3: $ C $ 12; C3)> 1, «Дубликаты», «»)

1.1.2 Найдите повторяющиеся ячейки в двух столбцах с помощью формулы

В некоторых случаях вам нужно сравнить два столбца и найти повторяющиеся значения. Например, у вас есть два списка имен, и вы хотите найти повторяющиеся имена во втором списке по сравнению с первым. вы можете применить функции ВПР и ЕСЛИОШИБКА, чтобы сделать это легко.

1. Выберите пустую ячейку помимо второго списка имен.

2. Введите формулу = ЕСЛИОШИБКА (ВПР (D3; $ B $ 3: $ B $ 18,1,0); «»), и нажмите Enter .

3. Перетащите маркер автозаполнения ячейки формулы, чтобы скопировать формулу в другие ячейки по мере необходимости.

Ноты: В приведенной выше формуле
(1) D3 — первая ячейка во втором списке имен. Ссылка должна изменяться автоматически, когда мы копируем формулу в другие ячейки, в результате она относительна.
(2) 3 млрд долларов: 18 млрд долларов это первый список имен. Это абсолютная ссылка, потому что диапазон должен оставаться статическим, когда мы копируем формулу в другие ячейки.
(3) Когда имя дублируется с именами в первом списке, формула вернет имя; в противном случае возвращается пустое значение.
(4) Вы также можете применить формулу = ЕСЛИ (СЧЁТЕСЛИ ($ B $ 3: $ B $ 18; D3)> 0, «Дубликаты», «») найти повторяющиеся имена во втором списке по сравнению с первым списком. Эта формула вернет «Дубликаты» если соответствующее имя повторяется.

(5) Если вам нужно найти дубликаты в двух столбцах на двух листах, вам просто нужно добавить имя листа перед ссылкой на сравниваемый столбец. В нашем примере просто замените в формуле $ B $ 3: $ B $ 18 на Sheet1! $ B $ 3: $ B $ 18.

1.1.3 Поиск повторяющихся ячеек с учетом регистра с помощью формулы

Формулы, представленные выше, не соответствуют регистру при поиске дубликатов, говорят, что они считают «яблоко» дубликатом с «ЯБЛОКО». Здесь вы можете применить формулу массива, чтобы найти повторяющиеся значения в одном столбце с совпадающими регистрами.

1. Выберите пустую ячейку рядом с столбцом, в котором вы найдете дубликаты.

2. Введите формулу массива = ЕСЛИ (СУММ ((- ТОЧНО ($ C $ 3: $ C $ 12, C3))) 1.2 Найдите и выделите дубликаты с условным форматированием

Иногда вам может потребоваться отметить повторяющиеся значения или строки, чтобы напомнить или предупредить себя или своих читателей. Этот раздел поможет вам выделить запрашиваемые ячейки или строки с правилами условного форматирования.

1.2.1 Поиск и выделение повторяющихся ячеек с условным форматированием

Вы можете применить Условное форматирование функция для быстрого выделения повторяющихся ячеек в столбце или диапазоне.

1. Выберите столбец, в котором вы будете выделять повторяющиеся ячейки.

2. Нажмите Главная > Условное форматирование > Выделите правила ячеек > Дублирующие значения. Смотрите скриншот ниже:

3. В появившемся диалоговом окне повторяющихся значений выберите Дублировать в первом раскрывающемся списке выберите сценарий выделения из второго раскрывающегося списка и щелкните OK кнопку.

Заметки: Если предустановленные сценарии выделения не могут удовлетворить ваши потребности, вы можете выбрать Пользовательский формат из второго раскрывающегося списка, а затем выберите цвет выделения, шрифт и границы ячеек по мере необходимости в появившемся диалоговом окне «Формат ячеек».

Затем вы увидите, что все повторяющиеся ячейки выделены в выбранном столбце, как показано ниже.

Заметки:
(1) Выделив повторяющиеся ячейки, мы можем легко отфильтровать их. (Нажмите, чтобы посмотреть, как)
(2) После выделения повторяющихся ячеек мы также можем легко удалить дубликаты в большом количестве. (Нажмите, чтобы посмотреть, как)

1.2.2 Поиск и выделение строк на основе повторяющихся ячеек

Некоторые пользователи предпочитают выделять строки на основе повторяющихся ячеек в определенном столбце. В этой ситуации мы можем создать собственное правило условного форматирования, чтобы это сделать.

1. Выберите диапазон (исключая строку заголовка), в котором вы будете выделять строки на основе повторяющихся ячеек.

2. Нажмите Главная > Условное форматирование > Новое правило.

3. В диалоговом окне «Новое правило форматирования»
(1) Щелкните, чтобы выбрать Используйте формулу, чтобы определить, какие ячейки следует форматировать. вариант;
(2) Введите формулу = СЧЁТЕСЛИ ($ C $ 3: $ C $ 12, $ C3)> 1 в Формат значений, где эта формула истинна коробка;
Tips: В формуле 3 канадских доллара: 12 канадских долларов столбец, содержащий повторяющиеся ячейки, и $ C3 — первая ячейка в столбце.
(3) Щелкните значок Формат кнопку.

4. В диалоговом окне «Формат ячеек» укажите необходимый цвет заливки, шрифт, границы ячеек и щелкните значок OK кнопки последовательно, чтобы сохранить настройки.

Пока что в выбранном диапазоне строки выделяются на основе повторяющихся ячеек в указанном столбце. Смотрите скриншот:

1.2.3 Найдите и выделите повторяющиеся строки с условным форматированием

Чтобы выделить повторяющиеся строки в определенном диапазоне, вы можете применить Условное форматирование функция для достижения этого тоже.

1. Выберите диапазон, кроме строки заголовка.

2. Нажмите Главная > Условное форматирование > Новое правило.

3. В диалоговом окне «Новое правило форматирования»:
(1) Щелкните, чтобы выбрать Используйте формулу, чтобы определить, какие ячейки следует форматировать. вариант;
(2) В Формат значений, где эта формула истинна поле, введите формулу =COUNTIFS($B$3:$B$12,$B3,$C$3:$C$12,$C3,$D$3:$D$12,$D3)>1;
(3) Щелкните значок Формат кнопку.

Заметки: В формуле =COUNTIFS($B$3:$B$12,$B3,$C$3:$C$12,$C3,$D$3:$D$12,$D3)>1:
(1) 3 млрд долларов: 12 млрд долларов — это первый столбец в диапазоне, а $ B3 это первая ячейка в этом столбце;
(2) 3 канадских доллара: 12 канадских долларов — второй столбец в диапазоне, а $ C3 это первая ячейка в столбце;
(3) $ D $ 3: $ D $ 12 — третий столбец диапазона, а $ D3 это первая ячейка в столбце;
(4) Если в вашем диапазоне больше столбцов, вы можете последовательно добавлять ссылки на столбцы и их первые ячейки в формулу.

4. В диалоговом окне «Формат ячеек» укажите необходимый цвет выделения, шрифт, границы ячеек и т. Д., А затем щелкните OK кнопки последовательно, чтобы сохранить настройку.

Пока что идентифицируются и выделяются повторяющиеся строки в выбранном диапазоне. Смотрите скриншот:

1.2.4 Найдите и выделите дубликаты, кроме первых экземпляров

Возможно, вы заметили, что все дубликаты идентифицируются или выделяются указанными выше методами. Иногда вам просто нужно увидеть, какие элементы дублируются, кроме первых экземпляров. Вы также можете сделать это с помощью Условное форматирование особенность и другая формула.

1. Выберите столбец с заголовком.
Tips: Если вам нужно выделить строки на основе дубликатов в одном столбце, кроме первых экземпляров, выберите диапазон без строки заголовка.

2. Нажмите Главная > Условное форматирование > Новое правило.

3. В диалоговом окне «Новое правило форматирования»:
(1) Щелкните, чтобы выделить Используйте формулу, чтобы определить, какие ячейки следует форматировать. вариант;
(2) В Формат значений, где эта формула истинна поле, введите формулу = СЧЁТЕСЛИ ($ C $ 3: $ C3; C3)> 1;
Tips: Чтобы выделить строки на основе дубликатов в одном столбце, введите формулу = СЧЁТЕСЛИ ($ C $ 3: $ C3, $ C3)> 1.
(3) Щелкните значок Формат кнопку.

4. В появившемся диалоговом окне Формат ячеек укажите цвет выделения, шрифт, границы ячеек и т. Д. По мере необходимости, а затем нажмите OK кнопки для сохранения настроек.

Затем вы увидите повторяющиеся ячейки, за исключением того, что выделены первые экземпляры в выбранном столбце (или строки на основе дубликатов в указанном столбце). Смотрите скриншот:

Когда мы выделяем повторяющиеся ячейки или строки с помощью Условное форматирование функции, все дубликаты выделяются одним цветом. Однако, если разные серии повторяющихся значений выделены разными цветами, будет легче прочитать и увидеть различия. Здесь VBA может помочь вам сделать это в Excel.

1, нажмите другой + F11 вместе, чтобы открыть окно Microsoft Visual Basic для приложений.

2. В окне нажмите Вставить > Модули, а затем вставьте приведенный ниже код в новое окно модуля.

VBA: выделите повторяющиеся ячейки разными цветами:

3, нажмите F5 ключ или щелкните Run значок для запуска этого VBA.

4. В появившемся диалоговом окне Kutools for Excel выберите столбец, в котором вы выделите повторяющиеся ячейки разными цветами, и нажмите кнопку OK кнопку.

Затем вы увидите, что каждая серия повторяющихся значений выделена цветом.

В этом разделе будут рекомендованы некоторые простые в использовании инструменты, предоставляемые сторонними надстройками, для быстрого поиска, выбора и выделения повторяющихся ячеек или строк на основе дубликатов в одном столбце.

1.4.1 Найдите и выделите повторяющиеся ячейки в одном столбце

Первый инструмент, который я представлю, — это Выберите повторяющиеся и уникальные ячейки особенность, предоставленная Kutools for Excel. Эта функция может быстро найти уникальные или повторяющиеся ячейки.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Бесплатная пробная версия сейчас!

Kutools for Excel — Combines more than 300 Advanced Functions and Tools for Microsoft Excel

1. Выберите столбец или диапазон, в котором вы хотите найти, и выделите повторяющиеся ячейки.

2. Нажмите Кутулс > Выбрать > Выберите повторяющиеся и уникальные ячейки.

3. В диалоговом окне «Выбор повторяющихся и уникальных ячеек» отметьте нужные параметры и щелкните значок Ok кнопки, чтобы завершить операцию.

Заметки: В диалоговом окне «Выбрать повторяющиеся и уникальные ячейки»
(1) Если вам нужно выделить или выделить все дубликаты, кроме первых, отметьте Дубликаты (кроме 1-го) вариант. В противном случае проверьте Все дубликаты (включая 1-й) опцию.
(2) Если вам нужно выделить дубликаты, отметьте Заполните цвет фона вариант и укажите нужный цвет выделения.
(3) Если вы хотите выбрать или выделить строки на основе дубликатов в выбранном столбце, отметьте Выбрать целые строки опцию.
(4) Если вы хотите выбрать или выделить повторяющиеся значения с совпадающими регистрами, отметьте Деликатный случай опцию.

1.4.2 Найдите и выделите повторяющиеся ячейки в двух столбцах или листах

Kutools for Excel также предоставляет удивительный инструмент — Сравнить ячейки, чтобы помочь нам легко найти и выделить повторяющиеся ячейки в двух столбцах.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Бесплатная пробная версия сейчас!

Kutools for Excel — Combines more than 300 Advanced Functions and Tools for Microsoft Excel

1. Нажмите Кутулс > Сравнить ячейки , чтобы открыть диалоговое окно Выбрать одинаковые и разные ячейки.

2. В диалоговом окне «Выбрать одинаковые и разные ячейки» укажите два столбца в Найдите значения в и Согласно информации коробки, отметьте Те же значения вариант и отметьте другие параметры по мере необходимости.

Ноты:
(1) Если вам нужно найти повторяющиеся строки, отметьте Каждый ряд вариант; и чтобы найти повторяющиеся ячейки, проверьте Одиночная ячейка вариант в на основании раздел;
(2) Отметьте Заполните цвет фона опцию и укажите цвет выделения, если вам нужно выделить повторяющиеся строки или ячейки;
(3) Отметьте Выбранные целые строки вариант, если вам нужно выделить или выделить всю строку на основе дубликатов;
(4) Отметьте Деликатный случай вариант, если вы хотите найти или выделить дубликаты с учетом регистра.

3. Нажмите Ok кнопки последовательно, чтобы завершить настройки.

Затем вы увидите дубликаты в столбце, который вы указали в Найдите значения в коробки идентифицированы и выделены.

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

2.1 Фильтрация дубликатов с условным форматированием

Этот метод поможет вам идентифицировать и выделять повторяющиеся ячейки с помощью правила условного форматирования, а затем легко фильтровать по цвету выделения в Excel.

1. Примените условное форматирование, чтобы найти и выделить дубликаты в указанном столбце. (Нажмите, чтобы посмотреть, как)

2. Щелкните, чтобы выбрать заголовок указанного столбца, и щелкните Данные > Фильтр.

3. Нажмите на значок фильтра в заголовке столбца и выберите Фильтр по цвету, а затем выберите указанный цвет условного форматирования в раскрывающемся списке. Смотрите скриншот:

Тогда вы увидите, что отфильтрованы только строки с повторяющимися ячейками. Смотрите скриншот:

В качестве альтернативы мы также можем идентифицировать дубликаты с помощью формулы во вспомогательном столбце, а затем легко фильтровать дубликаты с помощью вспомогательного столбца в Excel.

1. Помимо исходных данных, добавьте вспомогательный столбец и введите Дублировать как заголовок столбца.

2. Выберите первую пустую ячейку под заголовком столбца, введите формулу = ЕСЛИ (СЧЁТЕСЛИ ($ C $ 3: $ C $ 12; C3)> 1, «Дублировать», «»), и перетащите маркер автозаполнения этой ячейки, чтобы скопировать эту формулу в другие ячейки.

Заметки: В формуле выше 3 канадских доллара: 12 канадских долларов столбец, содержащий повторяющиеся данные, и C3 — это первая ячейка (кроме ячейки заголовка) в столбце.

3. Щелкните, чтобы выбрать заголовок столбца — Дубликаты, и щелкните Данные > Фильтр.

4. Затем щелкните значок фильтра в заголовке столбца отметьте только Дублировать, и нажмите OK кнопка. Смотрите скриншот:

Пока отфильтровываются только строки с повторяющимися значениями. Смотрите скриншот:

Эта часть поможет вам подсчитать количество повторяющихся значений в Excel. Он представит методы подсчета дубликатов с критериями, подсчета общего количества дубликатов, подсчета дубликатов только один раз, подсчета каждого повторяющегося значения в большом количестве и т. Д.

В общем, мы можем применить = СЧЁТЕСЛИ (диапазон; критерии) для подсчета общего количества определенного значения, появляющегося в указанном диапазоне. Говорит считать, сколько раз «Яблоко» появляется в списке A2: A10, Мы можем применить формулу = СЧЁТЕСЛИ (A2: A10; «Яблоко») для подсчета количества этого повторяющегося значения.

Однако формула = СЧЁТЕСЛИ (диапазон, критерии) подсчитывает только указанное повторяющееся значение. Как насчет подсчета повторяющихся значений по двум или нескольким критериям? А что, если подсчет дубликатов с учетом регистра с критериями? Ниже приведены методы, которые помогут вам решить эти проблемы.

3.1.1 Подсчет дубликатов с учетом регистра с помощью критериев

Мы можем применить формулу массива для подсчета повторяющихся значений с учетом регистра с критериями в Excel. Например, чтобы подсчитать, сколько раз значение «Apple» появляется в списке B2: B21 с совпадающими регистрами, вы можете сделать это следующим образом:

1. Выберите пустую ячейку.

2. Введите формулу = СУММ (- ТОЧНО (B2: B20; E2)).

3, нажмите Ctrl + Shift + Enter чтобы вернуть результат подсчета.

Заметки: В формуле массива
(1) B2: B20 — это столбец, в котором вы будете считать дубликаты.
(2) E2 — это ячейка, содержащая указанное значение, количество вхождений которого вы хотите подсчитать. Вы можете изменить ссылку на ячейку на значение в кавычках, говорит «Яблоко».

3.1.2 Подсчет дубликатов по нескольким критериям

Иногда вы можете захотеть подсчитать дубликаты по двум или более критериям. Вы можете применить COUNTIFS функция, чтобы сделать это.
Например, есть таблица продаж фруктов, как показано на скриншоте ниже. Здесь нам нужно подсчитать время повторения яблока, которое было продано 7, а сумма продаж превышает 5. Вы можете подсчитать дубликаты по этим критериям следующим образом:

1. Выберите пустую ячейку.

2. Введите формулу =COUNTIFS(B3:B20,G4,C3:C20,G3,D3:D20,»>300″).

3, нажмите Enter ключ для получения результата подсчета.

Заметки: В приведенной выше формуле
(1) B3: B20 — (первый) столбец даты, и G4 критерий даты;
(2) C3: C20 — (второй) фруктовый столбец, и G3 критерий фруктов;
(3) D3: D20 — (третий) столбец суммы, и «> 300» критерий суммы.
(4) Если в вашей таблице больше столбцов и критериев, вы можете добавить ссылку на столбец и критерии.

Предположим, что в столбце есть ряд значений, и вы хотите подсчитать общее количество дубликатов в списке, как бы вы с этим справились? Здесь в этом разделе будет показано, как подсчитать общее количество повторяющихся значений в одном столбце Excel.

3.2.1 Подсчет дубликатов в столбце, исключая первое вхождение

Чтобы подсчитать все дубликаты в столбце, кроме первых вхождений, сделайте следующее:

1. Выберите пустую ячейку рядом со столбцом.

2. Введите формулу = ЕСЛИ (СЧЁТЕСЛИ ($ B $ 3: B3; B3)> 1; «ДА»; «»), а затем перетащите маркер автозаполнения вниз, чтобы скопировать эту формулу в другие ячейки.

Заметки: В формуле выше
(1) $ B $ 3: B3 это диапазон, в котором вы считаете дубликаты. В $ B $ 3: B3, B3 изменится автоматически при копировании формулы в другие ячейки.
(2) B3 — первая ячейка в указанном столбце.
(3) Эта формула вернет ДА ​​или пусто. ДА означает, что соответствующее значение повторяется, а пустое поле означает уникальное.

Затем идентифицируются все дубликаты в указанном столбце. Мы можем подсчитать результаты формулы, чтобы получить общее количество дубликатов.

3. Выберите пустую ячейку.

4. Введите формулу = СЧЁТЕСЛИ (C3: C16; «ДА»), и нажмите Enter .

Заметки: В формуле выше
(1) C3: C16 это диапазон, который мы применили по формуле для выявления дубликатов на последнем этапе.
(2) ДА — значение, возвращаемое последней формулой.

Затем мы получаем общее количество повторяющихся значений в указанном столбце. Общее количество дубликатов не включает первые вхождения.

3.2.2 Подсчет дубликатов в столбце, включая первое вхождение

Чтобы подсчитать количество всех дубликатов, включая первые вхождения в Excel, вы можете применить формулу массива для достижения этого.

1. Выберите пустую ячейку.

2. Введите формулу =ROWS(B3:B16)-SUM(IF(COUNTIF(B3:B16,B3:B16) =1,1,0)).

3, нажмите Ctrl + Shift + Enter чтобы вернуть результат подсчета.

Заметки: В формуле выше B3: B16 — это указанный столбец, в котором мы хотим подсчитать дубликаты, включая первые вхождения в нем.

3.2.3 Подсчет дубликатов в столбце, включая / исключая первые вхождения

Чтобы упростить себе работу и избавить себя от запоминания длинных скучных формул, вы можете попробовать Выберите повторяющиеся и уникальные ячейки функция, предоставляемая Kutools for Excel, чтобы быстро подсчитать количество повторяющихся значений в указанном списке или столбце, исключая или включая первые вхождения.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Бесплатная пробная версия сейчас!

Kutools for Excel — Combines more than 300 Advanced Functions and Tools for Microsoft Excel

1. Выберите столбец, в котором вы будете подсчитывать количество повторяющихся значений, и нажмите Кутулс > Выбрать > Выберите повторяющиеся и уникальные ячейки.

2. В диалоговом окне «Выбор повторяющихся и уникальных ячеек» установите флажок Дубликаты (кроме 1-го) or Все дубликаты (включая 1-й) вариант, как вам нужно, и щелкните Ok кнопку.

3. Затем выбираются все повторяющиеся значения, включая или исключая первые вхождения, и одновременно появляется диалоговое окно, показывающее, сколько ячеек было выбрано. Смотрите скриншот выше.

3.3.1 Подсчет дубликатов между двумя столбцами с помощью формулы

Говорит, что вы хотите сравнить два списка имен и подсчитать количество дубликатов между ними, как вы могли бы быстро решить эту проблему? Мы также можем сделать это с помощью формулы в Excel.

1. Выберите пустую ячейку.

2. Введите формулу = СУММПРОИЗВ (- (ISNUMBER (MATCH (B3: B12, D3: D18,0)))).

3, нажмите Enter .

Заметки: В формуле выше
(1) B3: B12 — это первый столбец имен, в котором вы будете считать дубликаты.
(2) D3: D18 — это второй столбец имен, на основе которого вы будете подсчитывать дубликаты.

3.3.2 Подсчет дубликатов между двумя столбцами с помощью сторонней надстройки

В качестве альтернативы мы можем использовать стороннюю надстройку, Kutools for Excel, чтобы легко быстро подсчитать общее количество повторяющихся ячеек между двумя столбцами.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Бесплатная пробная версия сейчас!

Kutools for Excel — Combines more than 300 Advanced Functions and Tools for Microsoft Excel

1. Нажмите Кутулс > Выбрать > Выберите одинаковые и разные ячейки.

2. В диалоговом окне Выбрать одинаковые и разностные ячейки,
(1) Укажите два столбца в Найдите значения в и Согласно информации коробки отдельно.
(2) Проверьте Однокамерная опцию.
(3) Проверьте Те же значения опцию.

4, Нажмите Ok кнопку.

Затем выбираются все повторяющиеся ячейки в первом столбце, и одновременно появляется диалоговое окно, показывающее, сколько повторяющихся ячеек было выбрано. Смотрите скриншот:

Заметки: Эта функция будет подсчитывать общее количество повторяющихся значений в столбце, который вы указали в Найдите значения в в диалоговом окне Выбрать одинаковые и разные ячейки. Если вам нужно подсчитать общее количество повторяющихся значений во втором столбце, примените Выберите одинаковые и разные ячейки снова с указанием второго столбца в Найдите значения в пунктом.

Иногда в столбце встречаются повторяющиеся значения. Когда мы подсчитываем значения в столбце, нам нужно один раз подсчитать дубликаты. Возьмем, к примеру, ряд значений A, A, B, C, C, C, D, E, E, и нам нужно подсчитать значения и получить 5 (A, B, C, D, E). Здесь в этом разделе будут представлены две формулы для решения этой проблемы.

3.4.1 Подсчитайте каждое повторяющееся значение один раз с помощью формулы

Вы можете быстро подсчитать каждое повторяющееся значение один раз с помощью следующей формулы:

1. Выберите пустую ячейку.

2. Введите формулу =SUMPRODUCT((C3:C19<>«»)/COUNTIF(C3:C19,C3:C19&»»)).

3, нажмите Enter ключ для получения результата подсчета.

Заметки: В формуле выше C3: C19 — это указанный столбец, в котором вы хотите один раз подсчитать каждое повторяющееся значение.

3.4.2 Один раз подсчитать повторяющееся значение с учетом регистра с помощью формулы массива

При подсчете списка каждое повторяющееся значение может быть подсчитано один раз с совпадающими случаями, вы можете применить формулу массива, чтобы легко сделать это в Excel.

1. Выберите пустую ячейку.

2. Введите формулу массива = СУММ (ЕСЛИОШИБКА (1 / ЕСЛИ (C3: C19 <> «», ЧАСТОТА (ЕСЛИ (ТОЧНО (C3: C19; ТРАНСПОЗИРОВАТЬ (C3: C19))), ПОИСКПОЗ (СТРОКА (C3: C19), СТРОКА (C3: C19) ), «»), МАТЧ (СТРОКА (C3: C19), СТРОКА (C3: C19))), 0), 0)).

3, нажмите Ctrl + Shift + Enter вместе, чтобы получить результат подсчета.

Заметки: В приведенной выше формуле массива C3: C19 — это указанный столбец, в котором вы будете подсчитывать каждую серию дубликатов один раз с совпадающими случаями.

3.4.3 Подсчитайте каждое повторяющееся значение один раз с помощью сторонней надстройки

Если у вас есть Kutools for Excel установлен, вы также можете применить его Подсчет ячеек с уникальными значениями функция для быстрого подсчета каждой серии повторяющихся значений один раз в Excel.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Бесплатная пробная версия сейчас!

Kutools for Excel — Combines more than 300 Advanced Functions and Tools for Microsoft Excel

1. Выберите пустую ячейку.

2. Нажмите Кутулс > Формула Помощник > Статистический > Подсчет ячеек с уникальными значениями (включая первое повторяющееся значение).

3. В диалоговом окне «Помощник по формулам» укажите столбец, в котором вы будете считать дубликаты один раз Диапазон и нажмите Ok кнопку.

Затем результат подсчета сразу же заполняется в выбранной ячейке.

В общем, мы можем использовать COUNTIF функция для подсчета одного повторяющегося значения за раз и повторения операций для подсчета других повторяющихся значений один за другим. Однако это решение потратит много времени на создание нескольких дубликатов. Здесь в этом разделе представлены три решения, которые помогут быстро завершить эту работу в Excel.

3.5.1 Подсчитайте каждое повторяющееся значение в одном столбце с помощью функции ПРОМЕЖУТОЧНЫЙ ИТОГ

Мы можем применить Сумма функция подсчета каждой серии повторяющихся значений в столбце Excel.

1. Выберите столбец, в котором вы будете считать каждую серию повторяющихся значений, и нажмите Данные > Сортировка от А до Я or Сортировка Z по A.

2. В появившемся диалоговом окне предупреждения о сортировке проверьте Расширить выбор и нажмите Сортировать кнопку.

Затем вы увидите, что выбор был отсортирован по повторяющимся значениям указанного столбца.

3. Не снимая выделения, нажмите Данные > Сумма.

4. В диалоговом окне «Итого»
(1) Выберите указанный столбец из При каждом изменении раскрывающийся список;
(2) Выберите Количество из Использование функции раскрывающийся список;
(3) Отметьте только указанный столбец в Добавить промежуточный итог к список;
(4) Щелкните значок OK кнопку.

Затем вы увидите, что каждая серия повторяющихся значений подсчитывается, и результат подсчета добавляется под каждой серией повторяющихся значений, см. Снимок экрана выше.

3.5.2 Подсчитайте каждое повторяющееся значение в одном столбце с помощью сводной таблицы

Мы также можем создать сводную таблицу, чтобы быстро подсчитать каждую серию повторяющихся значений в Excel.

1. Выберите диапазон, содержащий указанный столбец, и щелкните Вставить > PivotTable.

2. В диалоговом окне «Создание сводной таблицы» укажите место, в котором будет размещена новая сводная таблица, и щелкните значок OK кнопку.

3. На панели полей сводной таблицы перетащите указанный столбец в оба Ряды и Ценности разделы. Затем вы увидите, что каждая серия повторяющихся значений в указанном столбце учитывается массово. Смотрите скриншот:

3.5.3 Подсчитайте каждое повторяющееся значение в одном столбце с помощью замечательного инструмента

Если вы установили Kutools for Excel уже вы можете применить его простой в использовании Расширенные ряды комбинирования функция для быстрого подсчета каждой серии повторяющихся значений в указанном столбце.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Бесплатная пробная версия сейчас!

Kutools for Excel — Combines more than 300 Advanced Functions and Tools for Microsoft Excel

Заметки: Продвинутые комбинированные ряды функция изменит выбранный диапазон и удалит строки на основе повторяющихся значений в указанном столбце первичного ключа. Чтобы сохранить ваши данные, рекомендуется сделать резервную копию или скопировать ваши данные в другое место перед операциями ниже.

1. Добавьте пустой столбец справа от исходного диапазона данных и назовите новый столбец как Количество.

2. Выберите вместе исходный диапазон данных и новый столбец и нажмите Кутулс > Слияние и разделение > Расширенные ряды комбинирования.

3. В диалоговом окне Advanced Combine Rows,
(1) Щелкните, чтобы выбрать указанный столбец, в котором вы будете подсчитывать каждую серию повторяющихся значений, и щелкните Основной ключ.
(2) Щелкните, чтобы выбрать новый столбец (Число), а затем щелкните Рассчитать > Количество.
(3) При необходимости укажите комбинацию или типы расчета для других столбцов.
(4) Щелкните значок Ok кнопку.

Затем вы увидите, что повторяющиеся значения каждой серии в указанном столбце подсчитываются массово. Смотрите скриншот:

Говорит, что есть список фруктов в столбце. В списке некоторые фрукты встречаются много раз. Теперь вам нужно пометить каждый повторяющийся фрукт в том порядке, в котором он появляется, как бы вы могли его решить? Здесь в этом разделе будет представлена ​​формула, позволяющая легко сделать это в Excel.

1. Добавьте пустой столбец справа от исходных данных.

2. Введите формулу =IF(COUNTIF($C$3:$C$14,C3)>1,COUNTIF(C$3:C3,C3),»») в первой ячейке добавленного пустого столбца.

3. Перетащите маркер автозаполнения этой ячейки формулы, чтобы скопировать формулу в другие ячейки.

Заметки: В формуле выше
(1) 3 канадских доллара: 14 канадских долларов — это указанный столбец, в котором вы хотите посчитать повторяющиеся значения по порядку.
(2) C3 — первая ячейка в указанном столбце.
(3) Если соответствующее значение повторяется, эта формула вернет порядковый номер 1, 2, 3… в зависимости от порядка появления; если соответствующее значение уникально, эта формула вернет пустое значение.

Когда несколько повторяющихся значений складываются в столбец или диапазон, некоторые пользователи ищут простые способы быстрого удаления повторяющихся значений. Здесь в этой части будут представлены несколько решений для легкого удаления повторяющихся значений в Excel.

В этом разделе будет показано руководство по быстрому удалению повторяющихся значений, кроме первого вхождения, из столбца или списка в Excel.

4.1.1 Удаление дубликатов, кроме одного, с функцией удаления дубликатов

Вы можете применить Удалить дубликаты функция для удаления всех повторяющихся значений, кроме первых вхождений напрямую.

1. Выберите столбец, в котором вы хотите удалить все повторяющиеся значения, кроме первых вхождений.

2. Нажмите Данные > Удалить дубликаты.

3. В диалоговом окне «Предупреждение об удалении дубликатов» установите флажок Продолжить текущий выбор и нажмите Удалить дубликаты кнопку.

Tips: Чтобы удалить строки на основе повторяющихся значений в выделенном фрагменте, установите флажок Расширить выбор опцию.

4. В диалоговом окне «Удалить дубликаты» отметьте только указанный столбец и щелкните значок OK кнопку.

Tips: Если вы проверили Расширить выбор на последнем шаге, здесь будут перечислены все столбцы. Тем не менее, вам нужно проверить только указанный столбец.

5. Затем появится диалоговое окно, показывающее, сколько повторяющихся значений было удалено. Щелкните значок OK чтобы закрыть его.

4.1.2 Удаление дубликатов, кроме одного с функцией расширенного фильтра

Вы также можете применить Расширенный фильтр функция, позволяющая легко удалить все повторяющиеся значения из указанного столбца.

1. Нажмите Данные > Дополнительно.

2. В диалоговом окне «Расширенный фильтр»
(1) Проверьте Скопировать в другое место вариант;
(2) В Диапазон списка поле выберите указанный столбец, из которого вы удалите повторяющиеся значения;
(3) В Скопировать в поле укажите диапазон, в который будет вставлен столбец;
(4) Отметьте Только уникальные записи опцию.
(5) Щелкните значок OK кнопку.

Затем вы увидите, что указанный столбец вставлен в указанный диапазон с удалением всех повторяющихся значений, кроме первых вхождений. Смотрите скриншот:

4.1.3 Удалить дубликаты, кроме одного, с VBA

Вы также можете применить VBA для быстрого удаления повторяющихся значений, кроме первых вхождений из столбца в Excel.

1, нажмите другой + F11 клавиши, чтобы открыть окно Microsoft Visual Basic для приложения.

2. Нажмите Вставить > Модули, а затем вставьте ниже код VBA в новое окно модуля.

VBA: удалить повторяющиеся значения, кроме первых вхождений

3, нажмите F5 ключ или щелкните Run кнопку для запуска этого VBA.

4. В появившемся диалоговом окне укажите диапазон, из которого вы удалите повторяющиеся значения, и нажмите кнопку OK кнопку.

Затем все повторяющиеся значения, кроме первых вхождений, немедленно удаляются из указанного диапазона.

Примечание. Этот код VBA чувствителен к регистру.

Обычно мы обнаруживаем повторяющиеся значения и удаляем дубликаты, кроме первых вхождений. Однако в некоторых случаях некоторые пользователи предпочитают удалять все повторяющиеся значения, включая исходные. В этом разделе представлены некоторые решения этой проблемы.

4.2.1 Удаление всех дубликатов и исходных значений с помощью условного форматирования

Мы можем выделить все повторяющиеся значения, включая первые вхождения в столбце или списке, с помощью правила условного форматирования, а затем отфильтровать все повторяющиеся значения с помощью цвета выделения. После этого мы можем выбрать все отфильтрованные повторяющиеся ячейки, а затем удалить их сразу.

1. Примените условное форматирование, чтобы выделить повторяющиеся значения. (Нажмите, чтобы посмотреть, как)

2. Выберите столбец, из которого вы удалите повторяющиеся значения (включая первые вхождения), и нажмите Данные > Фильтр.

3. Щелкните значок фильтра в заголовке столбца указанного столбца. В раскрывающемся меню выберите Фильтр по цвету, а затем укажите цвет выделения в подменю.

Затем все повторяющиеся значения отфильтровываются.

4. Выберите все отфильтрованные ячейки, щелкните правой кнопкой мыши и выберите Удалить строку из контекстного меню. И в появившемся диалоговом окне подтверждения нажмите OK кнопку, чтобы продолжить.

5. Затем все повторяющиеся значения удаляются сразу. Не снимая выделения с отфильтрованного списка, нажмите Фильтр > Данные еще раз, чтобы отменить фильтр.

До сих пор вы увидите, что все повторяющиеся ячейки, включая первые вхождения, удаляются массово, и остаются только уникальные значения.

Заметки: Этот метод удалит строки на основе повторяющихся значений в указанном столбце.

4.2.2 Удалите все дубликаты и исходные значения с помощью вспомогательного столбца

Мы также можем применить формулу для выявления повторяющихся значений, включая первые вхождения во вспомогательном столбце, затем отфильтровать повторяющиеся значения по результатам формулы и, наконец, удалить эти отфильтрованные повторяющиеся значения сразу.

1. Добавьте вспомогательный столбец рядом с указанным столбцом, введите формулу = СЧЁТЕСЛИ ($ B $ 3: $ B $ 11; B3) в первую ячейку вспомогательного столбца, а затем перетащите дескриптор автозаполнения вниз, чтобы скопировать эту формулу в другие ячейки. Смотрите скриншот:

Внимание: В формуле выше 3 млрд долларов: 11 млрд долларов — это указанный столбец, из которого вы удалите повторяющиеся значения, и B3 — первая ячейка в указанном столбце.

2. Выберите вспомогательный столбец и щелкните Данные > Фильтр.

3. Щелкните значок фильтра в заголовке вспомогательного столбца, затем в раскрывающемся меню отметьте все значения, кроме 1, и нажмите OK кнопка. Смотрите скриншот:

4. Теперь все повторяющиеся значения отфильтрованы. Выберите отфильтрованные ячейки во вспомогательном столбце, щелкните правой кнопкой мыши и выберите Удалить строку в контекстном меню.

5. В появившемся диалоговом окне подтверждения нажмите кнопку OK кнопку, чтобы продолжить.

6. Теперь все повторяющиеся значения и их строки удаляются массово. Продолжайте нажимать Данные > Фильтр еще раз, чтобы отменить фильтр.

Затем вы увидите, что все повторяющиеся значения, включая первые вхождения, удаляются массово.

4.2.3 Удалите все дубликаты и исходные значения с помощью замечательного инструмента

Если у вас есть Kutools for Excel установлен, вы также можете применить его Выберите повторяющиеся и уникальные ячейки функция для быстрого выбора и удаления повторяющихся значений, включая или исключая первые вхождения в Excel.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Бесплатная пробная версия сейчас!

Kutools for Excel — Combines more than 300 Advanced Functions and Tools for Microsoft Excel

1. Выберите столбец, из которого вы удалите дубликаты.

2. Нажмите Кутулс > Выбрать > Выберите повторяющиеся и уникальные ячейки.

3. В диалоговом окне «Выбор повторяющихся и уникальных ячеек» установите флажок Все дубликаты (включая 1-й) и нажмите Ok кнопку.

Ноты:
(1) Чтобы выбрать и удалить повторяющиеся значения, исключая первые вхождения, установите флажок Дубликаты (кроме 1-го) опцию.
(2) Чтобы выбрать и удалить строки на основе повторяющихся значений в указанном столбце, установите флажок Выбрать целые строки опцию.
(3) Чтобы выбрать и удалить повторяющиеся значения с совпадающими регистрами, установите флажок Деликатный случай опцию.
(4) Чтобы выбрать, выделить и удалить повторяющиеся ячейки или строки, установите флажок Заполните цвет фона or Цвет заливки шрифта параметры и укажите цвета заливки или шрифта по своему усмотрению.

4. Затем появится диалоговое окно, показывающее, сколько ячеек было выбрано, щелкните значок OK чтобы закрыть его.

5. Щелкните выделенные ячейки правой кнопкой мыши и выберите Удалить из контекстного меню.

6. В появившемся диалоговом окне «Удалить» проверьте Сдвинуть ячейки вверх и нажмите OK кнопку.

Пока что все повторяющиеся значения, включая первые вхождения, были полностью удалены.

В большинстве случаев мы идентифицируем повторяющиеся значения в столбце, а затем удаляем все строки по повторяющимся значениям. Если честно, эта операция очень похожа на удаление повторяющихся значений из одного столбца. В результате мы можем использовать аналогичные решения для удаления строк на основе дубликатов в указанном столбце.

Первый способ — применить встроенный Удалить дубликаты возможность удаления строк по дубликату в указанном столбце. Просто выберите диапазон, в котором вы будете удалять строки, нажмите Данные > Удалить дубликаты чтобы включить эту функцию, отметьте только указанный столбец в диалоговом окне «Удалить дубликаты», а затем нажмите OK чтобы завершить операцию удаления.

Мы также можем применить функцию условного форматирования и фильтрации для удаления строк на основе повторяющихся значений в указанном столбце. Прежде всего, выделите строки на основе повторяющихся значений в определенном столбце с помощью правила условного формирования (нажмите, чтобы посмотреть, как). Во-вторых, отфильтруйте диапазон по цвету. В-третьих, легко удалить все отфильтрованные строки. Наконец, очистите или отмените фильтр, и вы увидите, что остались только строки с уникальными значениями в указанном столбце.

В качестве альтернативы вы можете добавить вспомогательный столбец и применить формулу = СЧЁТЕСЛИ ($ C $ 3: $ C $ 21; C3) для выявления дубликатов в указанном столбце. Затем отфильтруйте числа больше 1 во вспомогательном столбце и легко удалите все отфильтрованные строки. После очистки фильтра вы увидите, что строки с уникальными значениями остаются только в указанном столбце.

Сторонняя надстройка Kutools for Excel также имеет необычайно удобную функцию, Выберите повторяющиеся и уникальные ячейки, чтобы быстро выбрать строки на основе повторяющихся значений в указанном столбце, а затем вы можете быстро удалить эти выбранные строки, щелкнув меню правой кнопкой мыши.

Kutools для Excel Расширенные ряды комбинирования функция также может быстро удалять строки на основе повторяющихся значений в указанном столбце первичного ключа.

Иногда нам нужно сравнить два списка или столбца, а затем удалить дубликаты между ними в Excel. Здесь в этом разделе представлены два решения.

4.4.1 Удалить дубликаты в двух столбцах с помощью вспомогательного столбца

Мы можем добавить вспомогательный столбец и применить формулу для выявления повторяющихся значений между двумя столбцами, а затем легко отфильтровать и удалить повторяющиеся значения.

1. Добавьте пустой столбец рядом с указанным столбцом, из которого вы удалите повторяющиеся значения.

2. В первой ячейке вспомогательного столбца (исключая ячейку заголовка) введите формулу = IF (ISERROR (MATCH (C2; $ A $ 2: $ A $ 13,0)), «Уникальный», «Повторяющийся»), а затем перетащите маркер автозаполнения вниз, чтобы скопировать формулу в другие ячейки.

Заметки: В формуле выше
(1) C2 это первая ячейка в указанном столбце, из которой вы удалите повторяющиеся значения;
(2) $ A $ 2: $ A $ 13 это другой столбец, с которым нам нужно сравнить.
(3) Эта формула вернет Дублировать если соответствующее значение дублируется со значениями в другом столбце, и вернуть Уникальное Произведение если отличается от значений в другом столбце.

3. Выберите вспомогательный столбец и щелкните Данные > Фильтр.

4. Щелкните значок фильтра в заголовке вспомогательного столбца, затем в раскрывающемся меню отметьте только Дублировать, и нажмите OK кнопку.

5. Теперь все повторяющиеся значения отфильтрованы. Выберите отфильтрованные ячейки, щелкните правой кнопкой мыши и выберите Удалить строку из контекстного меню. Затем нажмите OK во всплывающем диалоговом окне подтверждения.

6. Затем все повторяющиеся значения удаляются из указанного столбца. Продолжайте нажимать Данные > Фильтр еще раз, чтобы отменить фильтр.

Тогда вы увидите, что в указанном столбце остались только уникальные значения. Вы можете удалить вспомогательный столбец по мере необходимости.

Заметки: Этот метод удалит все строки на основе повторяющихся значений в указанном столбце.

4.4.2 Удалите дубликаты в двух столбцах с помощью замечательного инструмента

Если у вас есть Kutools for Excel установлен, вы можете использовать его потрясающий Выберите одинаковые и разные ячейки функция для быстрого выбора повторяющихся значений между двумя столбцами, а затем их легкого удаления.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Бесплатная пробная версия сейчас!

Kutools for Excel — Combines more than 300 Advanced Functions and Tools for Microsoft Excel

1. Нажмите Кутулс > Выбрать > Выберите одинаковые и разные ячейки для включения этой функции.

2. В диалоговом окне «Выбрать одинаковые и разные ячейки» укажите оба столбца в поле Найдите значения в и Согласно информации коробки отдельно, отметьте Однокамерная и Те же значения параметры и щелкните Ok кнопка. Смотрите скриншот:

3. Затем все повторяющиеся значения в количестве двух столбцов выбираются в первом столбце (столбец, который вы указали в Найдите ценность в коробка). И нажмите кнопку OK в появившемся диалоговом окне.

4, Вы можете нажать Удалить ключ, чтобы удалить эти повторяющиеся значения напрямую, или щелкните их правой кнопкой мыши и выберите Удалить из контекстного меню.

Добавить столбец уникального идентификатора для повторяющихся строк в Excel
Предположим, что в столбце есть повторяющиеся данные, теперь вы хотите добавить уникальный идентификационный номер для этих повторяющихся строк, как показано на скриншоте ниже. Есть ли у вас какие-нибудь хорошие способы их добавления? Здесь я представляю формулу, которая поможет вам быстро справиться с этой задачей в Excel.

Автоматически удалять дубликаты из списка в Excel
В Excel мы можем использовать функцию «Удалить дубликаты» для удаления одинаковых значений из списка, но есть ли какой-нибудь трюк для автоматического удаления дубликатов из списка? В этой статье я расскажу о приемах автоматического удаления дубликатов, если они появляются в указанном столбце Excel.

Ранжируйте дубликат без пропуска чисел в Excel
В общем, когда мы ранжируем список с дубликатами, некоторые числа будут пропущены, как показано на скриншоте 1 ниже, но в некоторых случаях мы просто хотим ранжировать по уникальным номерам или ранжировать дубликаты с тем же номером, не пропуская числа, как показано на скриншоте 2. У вас есть какие-нибудь хитрости для решения этой задачи в Excel?

Используйте ярлык для удаления дубликатов в столбце или строке Excel
В Excel утилита «Удалить дубликаты» может помочь вам удалить дубликаты в столбце, но знаете ли вы, как использовать ярлык для удаления дубликатов в столбце или строке Excel? Удалите дубликаты ярлыком.

Vlookup и возврат нескольких значений без дубликатов в Excel
Иногда вам может понадобиться vlookup и сразу вернуть несколько совпадающих значений в одну ячейку. Но если в возвращенные ячейки внесены повторяющиеся значения, как можно игнорировать дубликаты и сохранять только уникальные значения при возврате всех совпадающих значений, как показано на следующем снимке экрана в Excel?

Источник

Поиск и удаление одинаковых строк таблицы по 3 столбцам

NICK31

Дата: Понедельник, 09.09.2013, 16:34 |
Сообщение № 1

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 112


Репутация:

0

±

Замечаний:
0% ±


добрый день уважаемые форумчане! вопрос такой, есть таблица, на N количество строк, как сделать макрос, чтобы он удалял одинаковые строки по совпадающим 3 столбцам D, H, I ! пример во вложении, прикрепил маленькую таблицу, но она может быть и больше, желтым выделены те строки, которые одинаковы, оставляем только ту, которая первая, все повторные удаляем! если хоть одно условие не выполняется, то строчки остаются на месте! кнопка расположена на 2 листе, код написан был на другую таблицу, но поменять как сообразить не могу

Сообщение отредактировал NICK31Понедельник, 09.09.2013, 16:35

 

Ответить

RAN

Дата: Понедельник, 09.09.2013, 21:15 |
Сообщение № 2

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

:'(
[vba]

Код

Sub qq()
     Dim i&, j&, lr&
     Application.ScreenUpdating = False
     lr = Range(«A1»).CurrentRegion.Rows.Count
     For i = 3 To lr
         For j = lr To i + 1 Step -1
             If Len(Cells(i, 1)) Then
                 If Cells(i, «D») = Cells(j, «D») Then
                     If Cells(i, «H») = Cells(j, «H») Then
                         If Cells(i, «I») = Cells(j, «I») Then
                             Rows(j).Delete
                         End If
                     End If
                 End If
             Else: Exit Sub
             End If
         Next j
     Next i
     Application.ScreenUpdating = True
End Sub

[/vba]

К сообщению приложен файл:

3340572.xls
(72.5 Kb)


Быть или не быть, вот в чем загвоздка!

 

Ответить

pioneer_90

Дата: Среда, 29.04.2015, 22:23 |
Сообщение № 3

Группа: Пользователи

Ранг: Прохожий

Сообщений: 1


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

Друг, а не подскажешь как прописать код, чтоб делал тоже самое но удалял не более одной одинаковой строки. а лучше чтоб не удалял, а ставил + в этой строке.

 

Ответить

cresh12

Дата: Среда, 07.10.2015, 08:45 |
Сообщение № 4

Группа: Пользователи

Ранг: Новичок

Сообщений: 30


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

RAN, Добрый день! Подскажите пожалуйста, как можно поменять ваш код чтобы добавить большое количество столбцов для сравнения, например диапазон А:АА, можно ли как то заменить конструкцию?)
[vba]

Код

If Cells(i, «D») = Cells(j, «D») Then
                     If Cells(i, «H») = Cells(j, «H») Then
                         If Cells(i, «I») = Cells(j, «I») Then
                             Rows(j).Delete
                         End If
                     End If
                 End If

[/vba]

 

Ответить

RAN

Дата: Среда, 07.10.2015, 09:56 |
Сообщение № 5

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Под «например» макросы не пишутся.
В лоб — добавляйте проверки
[vba]

Код

If Cells(i, «AA») = Cells(j, «AA») Then

[/vba]


Быть или не быть, вот в чем загвоздка!

 

Ответить

cresh12

Дата: Среда, 07.10.2015, 10:16 |
Сообщение № 6

Группа: Пользователи

Ранг: Новичок

Сообщений: 30


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

RAN, Так, вот диапазон A:AA, это получается 27 If’ов, может есть вариант сократить запись?

 

Ответить

Manyasha

Дата: Среда, 07.10.2015, 10:33 |
Сообщение № 7

Группа: Модераторы

Ранг: Старожил

Сообщений: 2198


Репутация:

898

±

Замечаний:
0% ±


Excel 2010, 2016

cresh12, можно, например, слепить i-ю строчку в одну, с помощью функции Join или оператора &, и сравнивать полученные строки.

Если нужны более подробные объяснения или другие варианты решения, создавайте свою тему!


ЯД: 410013299366744 WM: R193491431804

 

Ответить

Понравилась статья? Поделить с друзьями:
  • Макрос excel одинаковые значения в столбцах excel
  • Макрос excel объединяющий все листы книги в один
  • Макрос excel обращение к ячейке
  • Макрос excel нескольких таблиц в одну
  • Макрос excel неактивная кнопка