Excel одинаковые ячейки в книге

Skip to content

Как найти повторяющиеся значения в таблице Excel

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

Работая с большими наборами данных в Excel или объединяя несколько небольших электронных таблиц в более крупные, вы можете столкнуться с большим числом одинаковых строк.

И сегодня я хотел бы поделиться несколькими быстрыми и эффективными методами выявления дубликатов в одном списке. Эти решения работают во всех версиях Excel 2016, Excel 2013, 2010 и ниже. Вот о чём мы поговорим:

  • Поиск повторяющихся значений включая первые вхождения
  • Поиск дубликатов без первых вхождений
  • Определяем дубликаты с учетом регистра
  • Как извлечь дубликаты из диапазона ячеек
  • Как обнаружить одинаковые строки в таблице данных
  • Использование встроенных фильтров Excel
  • Применение условного форматирования
  • Поиск совпадений при помощи встроенной команды «Найти»
  • Определяем дубликаты при помощи сводной таблицы
  • Duplicate Remover — быстрый и эффективный способ найти дубликаты

Самой простой в использовании и вместе с тем эффективной в данном случае будет функция СЧЁТЕСЛИ (COUNTIF). С помощью одной только неё можно определить не только неуникальные позиции, но и их первые появления в столбце. Рассмотрим разницу на примерах.

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

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

=СЧЁТЕСЛИ(A:A; A2)>1

Где А2 — первая ячейка из области для поиска.

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

Как вы могли заметить на скриншоте выше, формула возвращает ИСТИНА, если имеются совпадения.  А для встречающихся только 1 раз значений она показывает ЛОЖЬ.

Подсказка! Если вы ищите повторы в определенной области, а не во всей колонке, обозначьте нужный диапазон и “зафиксируйте” его знаками $. Это значительно ускорит вычисления. Например, если вы ищете в A2:A8, используйте

=СЧЕТЕСЛИ($A$2:$A$8, A2)>1

Если вас путает ИСТИНА и ЛОЖЬ в статусной колонке и вы не хотите держать в уме, что из них означает повторяющееся, а что — уникальное, заверните свою СЧЕТЕСЛИ в функцию ЕСЛИ и укажите любое слово, которое должно соответствовать дубликатам и уникальным:

=ЕСЛИ(СЧЁТЕСЛИ($A$2:$A$17; A2)>1;»Дубликат»;»Уникальное»)

Если же вам нужно, чтобы формула указывала только на дубли, замените «Уникальное» на пустоту («»):

=ЕСЛИ(СЧЁТЕСЛИ($A$2:$A$17; A2)>1;»Дубликат»;»»)

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

Поиск неуникальных значений без учета первых вхождений

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

Если вам нужно указать только совпадения, давайте немного изменим:

=ЕСЛИ(СЧЁТЕСЛИ($A$2:$A2; A2)>1;»Дубликат»;»»)

На скриншоте ниже вы видите эту формулу в деле.

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

Чувствительный к регистру поиск дубликатов

Хочу обратить ваше внимание на то, что хоть формулы выше и находят 100%-дубликаты, есть один тонкий момент — они не чувствительны к регистру. Быть может, для вас это не принципиально. Но если в ваших данных абв, Абв и АБВ — это три разных параметра – то этот пример для вас.

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

{=ЕСЛИ(СУММ((—СОВПАД($A$2:$A$17;A2)))<=1;»»;»Дубликат»)}

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

Если вернуться к содержанию, то здесь используется функция СОВПАД для сравнения целевой ячейки со всеми остальными ячейками с выбранной области. Результат возвращается в виде ИСТИНА (совпадение) или ЛОЖЬ (не совпадение), которые затем преобразуются в массив из 1 и 0 при помощи оператора (—).

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

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

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

Как извлечь дубликаты из диапазона.

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

Рассмотрим это на примере числовой матрицы. К сожалению, с символьными значениями этот метод не работает.

При помощи формулы массива

{=ИНДЕКС(НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($A$2:$E$11;$A$2:$E$11)>1;$A$2:$E$11);СТРОКА($1:$100)); НАИМЕНЬШИЙ(ЕСЛИОШИБКА(ЕСЛИ(ПОИСКПОЗ(НАИМЕНЬШИЙ(ЕСЛИ( СЧЁТЕСЛИ($A$2:$E$11;$A$2:$E$11)>1;$A$2:$E$11);СТРОКА($1:$100)); НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($A$2:$E$11;$A$2:$E$11)>1;$A$2:$E$11); СТРОКА($1:$100));0)=СТРОКА($1:$100);СТРОКА($1:$100));»»);СТРОКА()-1))}

вы можете получить упорядоченный по возрастанию список дубликатов. Для этого введите это выражение в нужную ячейку и нажмите Ctrl+Alt+Enter.

Затем протащите маркер заполнения вниз на сколько это необходимо.

Чтобы убрать сообщения об ошибке, когда дублирующиеся значения закончатся, можно использовать функцию ЕСЛИОШИБКА:

=ЕСЛИОШИБКА(ИНДЕКС(НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($A$2:$E$11;$A$2:$E$11)>1;$A$2:$E$11); СТРОКА($1:$100));НАИМЕНЬШИЙ(ЕСЛИОШИБКА(ЕСЛИ(ПОИСКПОЗ( НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($A$2:$E$11;$A$2:$E$11)>1;$A$2:$E$11); СТРОКА($1:$100));НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($A$2:$E$11;$A$2:$E$11)>1;$A$2:$E$11); СТРОКА($1:$100));0)=СТРОКА($1:$100);СТРОКА($1:$100));»»);СТРОКА()-1));»»)

Также обратите внимание, что приведенное выше выражение рассчитано на то, что оно будет записано во второй строке. Соответственно выше него будет одна пустая строка.

Поэтому если вам нужно разместить его, к примеру, в ячейке K4, то выражение СТРОКА()-1 в конце замените на СТРОКА()-3.

Обнаружение повторяющихся строк

Мы рассмотрели, как обнаружить одинаковые данные в отдельных ячейках. А если нужно искать дубликаты-строки?

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

Итак, имеются данные о товарах и заказчиках.

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

Предположим, что данные хранятся в столбцах А:C. Запишем в ячейку D2:

=A2&B2&C2

Добавим следующую формулу в ячейку E2. Она отобразит, сколько раз встречается значение, полученное нами в столбце D:

=СЧЁТЕСЛИ(D:D;D2)

Скопируем вниз для всех строк данных.

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

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

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

Теперь рассмотрим, как можно обойтись без формул при поиске дубликатов в таблице. Быть может, кому-то этот метод покажется более удобным, нежели написание выражений Excel.

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

В первую очередь советую отформатировать наши данные как «умную» таблицу. Напомню: Меню Главная – Форматировать как таблицу.

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

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

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

Используем условное форматирование.

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

Сейчас я покажу, как можно в Экселе найти дубли ячеек, просто их выделив цветом.

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

Но здесь мы не можем исключить первые появления – подсвечивается всё.

Но эту проблему можно решить, использовав формулу условного форматирования.

=СЧЁТЕСЛИ($B$2:$B2; B2)>1

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

Чтобы освежить память, можете руководствоваться нашим материалом «Как изменить цвет ячейки в зависимости от значения».

Поиск совпадений при помощи команды «Найти».

Еще один простой, но не слишком технологичный способ – использование встроенного поиска.

Зайдите на вкладку Главная и кликните «Найти и выделить». Откроется диалоговое окно, в котором можно ввести что угодно для поиска в таблице. Чтобы избежать опечаток, можете скопировать искомое прямо из списка данных.

Затем нажимаем «Найти все», и видим все найденные дубликаты и места их расположения, как на рисунке чуть ниже.

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

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

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

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

Для более опытных – сразу переходим к сути вопроса.

Создаем новый макет сводной таблицы. А затем в качестве строк и значений используем одно и то же поле. В нашем случае – «Товар». Поскольку название товара – это текст, то для подсчета таких значений Excel по умолчанию использует функцию СЧЕТ, то есть подсчитывает количество. А нам это и нужно. Если будет больше 1, значит, имеются дубликаты.

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

К примеру, откуда взялись 3 дубликата Sprite? Щелкаем на цифре 3, и видим такую картину:

Думаю, этот метод вполне можно использовать. Что приятно – никаких формул не требуется.

Duplicate Remover — быстрый и эффективный способ найти дубликаты в Excel

Теперь, когда вы знаете, как использовать формулы для поиска повторяющихся значений в Excel, позвольте мне продемонстрировать вам еще один быстрый, эффективный и без всяких формул способ: инструмент Duplicate Remover для Excel.

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

Как найти повторяющиеся строки в Excel за 2 быстрых шага

Сначала посмотрим в работе наиболее простой инструмент — быстрый поиск дубликатов Quick Dedupe. Используем уже знакомую нам таблицу, в которой мы выше искали дубликаты при помощи формул:

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

  1. Выберите любую ячейку в таблице и нажмите кнопку Quick Dedupe на ленте Excel. После установки пакета Ultimate Suite для Excel вы найдете её на вкладке Ablebits Data в группе Dedupe. Это наиболее простой инструмент для поиска дубликатов.

  1. Интеллектуальная надстройка возьмет всю таблицу и попросит вас указать следующие две вещи:
    • Выберите столбцы для проверки дубликатов (в данном примере это все 3 столбца – категория, товар и заказчик).
    • Выберите действие, которое нужно выполнить с дубликатами. Поскольку наша цель — выявить повторяющиеся строки, я выбрал «Выделить цветом».

Помимо выделения цветом, вам доступен ряд других опций:

  • Удалить дубликаты
  • Выбрать дубликаты
  • Указать их в столбце статуса
  • Копировать дубликаты на новый лист
  • Переместить на новый лист

Нажмите кнопку ОК и подождите несколько секунд. Готово! И никаких формул 😊.

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

Если вам нужны дополнительные возможности для работы с дубликатами и уникальными значениями, используйте мастер удаления дубликатов Duplicate Remover, который может найти дубликаты с первыми вхождениями или без них, а также уникальные значения. Подробные инструкции приведены ниже.

Мастер удаления дубликатов — больше возможностей для поиска дубликатов в Excel.

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

  1. Выберите любую ячейку в таблице и нажмите кнопку Duplicate Remover на вкладке Ablebits Data

  1. Вам предложены 4 варианта проверки дубликатов в вашем листе Excel:
    • Дубликаты без первых вхождений повторяющихся записей.
    • Дубликаты с 1-м вхождением.
    • Уникальные записи.
    • Уникальные значения и 1-е повторяющиеся вхождения.

В этом примере выберем второй вариант, т.е. Дубликаты + 1-е вхождения:

  1. Теперь выберите столбцы, в которых вы хотите проверить дубликаты. Как и в предыдущем примере, мы возьмём первые 3 столбца:

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

Поскольку цель этого примера – продемонстрировать различные способы определения дубликатов в Excel, давайте отметим параметр «Выделить цветом» (Highlight with color) и нажмите Готово.
Мастеру Duplicate Remover требуется всего лишь несколько секунд, чтобы проверить вашу таблицу и показать результат:

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

Никаких формул, никакого стресса, никаких ошибок — всегда быстрые и безупречные результаты :)

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

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

Поиск и удаление повторений

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Excel Starter 2010 Еще…Меньше

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

  1. Выберите ячейки, которые нужно проверить на наличие повторений.

    Примечание: В Excel не поддерживается выделение повторяющихся значений в области «Значения» отчета сводной таблицы.

  2. На вкладке Главная выберите Условное форматирование > Правила выделения ячеек > Повторяющиеся значения.

    Удаление дубликатов 1

  3. В поле рядом с оператором значения с выберите форматирование для применения к повторяющимся значениям и нажмите кнопку ОК.

    Удаление дубликатов 2

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

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

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

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

    Удаление дубликатов 3

    Например, на данном листе в столбце «Январь» содержатся сведения о ценах, которые нужно сохранить.

    Выделенные повторяющиеся значения

    Поэтому флажок Январь в поле Удаление дубликатов нужно снять.

    Удаление дубликатов 5

  3. Нажмите кнопку ОК.

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

Дополнительные сведения

Подключитесь к эксперту. Учитесь у живых инструкторов.

Нужна дополнительная помощь?

При совместной работе с таблицами Excel или большом числе записей накапливаются дубли строк. Ста…

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

Как выделить повторяющиеся и одинаковые значения в Excel

Поиск
одинаковых значений в Excel

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

На
рисунке – списки писателей. Алгоритм
действий следующий:

  • Выбрать
    ячейку I3
    с записью «С. А. Есенин».
  • Поставить
    задачу – выделить цветом ячейки с
    такими же записями.
  • Выделить
    область поисков.
  • Нажать
    вкладку «Главная».
  • Далее
    группа «Стили».
  • Затем
    «Условное форматирование»;
  • Нажать
    команду «Равно».

как в экселе найти одинаковые значения в столбце

  • Появится
    диалоговое окно:

excel как найти повторяющиеся значения в столбце

  • В
    левом поле указать ячейку с I2,
    в которой записано «С. А. Есенин».
  • В
    правом поле можно выбрать цвет шрифта.
  • Нажать
    «ОК».

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

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

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

Ищем в таблицах Excel
все повторяющиеся значения

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

  • Зайти
    в группу «Стили».
  • Далее
    «Условное форматирование».
  • Теперь
    в выпадающем меню выбрать «Правила
    выделения ячеек».
  • Затем
    «Повторяющиеся значения».

как в excel сравнить два столбца и найти различия

  • Появится
    диалоговое окно:

как в экселе отфильтровать повторяющиеся значения

  • Нажать
    «ОК».

Программа
ищет повторения во всех столбцах.

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

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

Удаление одинаковых значений
из таблицы Excel

Способ
удаления неуникальных записей:

  1. Зайти
    во вкладку «Данные».
  2. Выделить
    столбец, в котором следует искать
    дублирующиеся строки.
  3. Опция
    «Удалить дубликаты».

Как выделить повторяющиеся и одинаковые значения в Excel

В
результате получаем список, в котором
каждое имя фигурирует только один раз.

Как выделить повторяющиеся и одинаковые значения в Excel

Список
с уникальными значениями:

Как выделить повторяющиеся и одинаковые значения в Excel

Расширенный фильтр: оставляем
только уникальные записи

Расширенный
фильтр – это инструмент для получения
упорядоченного списка с уникальными
записями.

  • Выбрать
    вкладку «Данные».
  • Перейти
    в раздел «Сортировка и фильтр».
  • Нажать
    команду «Дополнительно»:

Как выделить повторяющиеся и одинаковые значения в Excel

  • В
    появившемся диалоговом окне ставим
    флажок «Только уникальные записи».
  • Нажать
    «OK»
    – уникальный список готов.

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

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

Вкладка
«Вставка».

Пункт
«Сводная таблица».

Как выделить повторяющиеся и одинаковые значения в Excel

В
диалоговом окне выбрать размещение
сводной таблицы на новом листе.

Как выделить повторяющиеся и одинаковые значения в Excel

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

Как выделить повторяющиеся и одинаковые значения в Excel

Получаем
упорядоченный список уникальных строк.

 

owl-ka

Пользователь

Сообщений: 165
Регистрация: 01.01.1970

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

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

макросом

Согласие есть продукт при полном непротивлении сторон.

 

owl-ka

Пользователь

Сообщений: 165
Регистрация: 01.01.1970

Вот пример. Только строк в таблице может быть до 1500  

 

gling

Пользователь

Сообщений: 4024
Регистрация: 01.01.1970

#4

09.03.2015 22:40:49

Цитата
«поиск дубликатов»

Где такое в «Стандартных средствах Excel»? Знаю «Удалить дубликаты» и в условном форматировании Выделить- «повторяющиеся значения», а поиск где? Что хотите получить после того как найдете одинаковые в книге?
Да есть еще «Найти» -Ctrl+F, но с помощью этого поиска можно найти во всей книге.

Изменено: gling09.03.2015 22:49:07

 

owl-ka

Пользователь

Сообщений: 165
Регистрация: 01.01.1970

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

 

Leanna

Пользователь

Сообщений: 816
Регистрация: 15.01.2013

owl-ka, так с дубликатами что надо сделать? просто выдать напортив каждого сколько дубликатов найдено для этого ФИО ? И всегда будет в столбце С то что дубликаты чего ищутся?

Работать надо не 12 часов, а головой.

 

owl-ka

Пользователь

Сообщений: 165
Регистрация: 01.01.1970

идеальный вариант — указать адрес второго значения. Подойдет даже просто указать цветом. Удалять нельзя, вдруг разные люди!

 

Leanna

Пользователь

Сообщений: 816
Регистрация: 15.01.2013

что значит адрес? адрес ячейки с листом? а если дубликата 4 то всё указывать?

Работать надо не 12 часов, а головой.

 

owl-ka

Пользователь

Сообщений: 165
Регистрация: 01.01.1970

Я не подумала, в моей практике больше 2-х не встречалось, думаю больше и не встретится

 

gling

Пользователь

Сообщений: 4024
Регистрация: 01.01.1970

Может тогда через «Найти» действовать, там и лист и сразу переход на лист можно использовать.

 

owl-ka

Пользователь

Сообщений: 165
Регистрация: 01.01.1970

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

 

Leanna

Пользователь

Сообщений: 816
Регистрация: 15.01.2013

Вот так можно. Смотрите вложение.

Работать надо не 12 часов, а головой.

 

owl-ka

Пользователь

Сообщений: 165
Регистрация: 01.01.1970

а можно попросить еще немного модернизировать — выделение неядовитым цветом (просто столбец D я скрою).

 

Leanna

Пользователь

Сообщений: 816
Регистрация: 15.01.2013

Можно

Изменено: Leanna09.03.2015 23:34:58
(замена файла)

Работать надо не 12 часов, а головой.

 

gling

Пользователь

Сообщений: 4024
Регистрация: 01.01.1970

Можно УФ сделать на все листы. Если на первом листе будет список всех, то на других листах можно увидеть есть ли они в списке. Наверно нужно наоборот, если на любом из листов есть, то в списке чтобы выделился. Пока такой вариант. Лучше конечно Ваш пример, чтобы видеть о чем речь.

Изменено: gling09.03.2015 23:31:34

 

owl-ka

Пользователь

Сообщений: 165
Регистрация: 01.01.1970

Leanna , спасибо, это как раз то, что нужно!!!!

gling,  предложение интересное, вот только нужно время на то, чтобы их собрать, на один лист. А информация нужна не об общем количестве людей, а именно по листам. Примерно так — общежитие 1 — 10 семей, 20 человек,
общежитие 2 — 5 семей, 15 человек,
…………………………………………….
квартиры — 100 семей, 250 человек,

Каждый лист соответствует определенному жилью. Если переносить на один лист, нужно будет делать суммарную нумерацию по людям и по семьям. По людям просто, а по семьям так не получится — только ручками.

 

Okl

Пользователь

Сообщений: 5
Регистрация: 15.09.2017

Люди спасите и помогите!!!! Все форумы облазил… везде пишут поиск дубликатов в одном или максимум в двух столбцах… мне нужно найти и ПОСЧИТАТЬ все дубликаты в целой области (около 100 строк и около 30 столбцов)
дубликаты (текстовые) заранее не известны(((
А мне нужно узнать значения эти текстовые и сколько раз они повторяются…

 

Anchoret

Пользователь

Сообщений: 1059
Регистрация: 01.01.1970

Anchoret

#18

11.03.2018 17:29:47

Код
Sub FindDuplicates()
Dim Dict As Object, aa As Range, arr()
Set Dict = CreateObject("Scripting.Dictionary")
For Each aa In Sheets(1).UsedRange
  If Len(aa.Value) > 0 Then
    If Not Dict.exists(aa.Value) Then
      Dict.Add aa.Value, 1
    Else
      Dict.Item(aa.Value) = Dict.Item(aa.Value) + 1
    End If
  End If
Next
On Error Resume Next
Set aa = Application.InputBox("Select distination cell.", , , , , , , 8)
If Err.Number > 0 Then Set aa = [AA1]
On Error GoTo 0
If aa.Cells.Count > 1 Then Set aa = Range(Left(aa.Address, InStr(":", aa.Address) - 1))
aa.Resize(Dict.Count) = Application.Transpose(Dict.keys)
aa.Offset(0, 1).Resize(Dict.Count) = Application.Transpose(Dict.items)
End Sub
 

Okl

Пользователь

Сообщений: 5
Регистрация: 15.09.2017

Anchoret, вот такая фигня вылазит(

Спасибо за быстрое реагирование!)

Изменено: Okl05.03.2019 00:50:33

 

Anchoret

Пользователь

Сообщений: 1059
Регистрация: 01.01.1970

Anchoret

Okl, перед размещением на форум код проверялся. Ошибок не было.

 

Okl

Пользователь

Сообщений: 5
Регистрация: 15.09.2017

Anchoret,А пример файла с этим макросом можно?

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#22

11.03.2018 18:08:02

Цитата
Okl написал: А пример файла с этим макросом можно?

Можно. Ознакомьтесь с Правилами и приложите файл-пример в соответствии с ними

Согласие есть продукт при полном непротивлении сторон.

 

Anchoret

Пользователь

Сообщений: 1059
Регистрация: 01.01.1970

Anchoret

 

Andr85

Пользователь

Сообщений: 133
Регистрация: 23.12.2012

#24

11.03.2018 19:31:09

Anchoret

, Ваш шикарный макрос у меня выдаёт ошибку в строке

Код
If aa.Cells.Count > 1 Then Set aa = Range(Left(aa.Address, InStr(":", aa.Address) - 1))

И вообще у меня это часто почему-то. Многие работающие примеры макросов с сайта у меня выдают ошибки. В чём может быть причина?

 

Anchoret

Пользователь

Сообщений: 1059
Регистрация: 01.01.1970

Anchoret

#25

11.03.2018 20:28:35

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

Код
set aa=sheets("....").[A1]' это только для примера и вместо точек должно быть имя листа

Также вместо «UsedRange»  в начале кода можно указать откуда макросу брать данные. Например «Selection» или «[A2:J5500]»

Изменено: Anchoret11.03.2018 20:31:09

 

Дмитрий Марков

Пользователь

Сообщений: 140
Регистрация: 24.02.2015

#26

05.03.2019 00:27:45

Уважаемые эксперты, в продолжение темы, пытаюсь настроить макрос на поиск дубликатов на всех листах книги в диапазоне H:I, кроме листа Сводная, но, видимо, совсем всё сломалось, код стал выводить ошибку в строке: aa.Resize(Dict.Count) = Application.Transpose(Dict.keys)  

Обходить лист Сводная вроде получилось, а определить диапазон нет, результат хотел бы получать на лист Сводная!C2

сам код и файл здесь:

Код
Sub FindDuplicates()

       ' Declare Current as a worksheet object variable.
         Dim Current As Worksheet


Dim Dict As Object, aa As Range, arr()
Set Dict = CreateObject("Scripting.Dictionary")
         
         ' Loop through all of the worksheets in the active workbook.
For Each Current In Worksheets
For Each aa In Sheets(1).Range("H2:I60000") '[H2:I60000]
If aa <> "Сводная" Then
  If Len(aa.Value) > 0 Then
    If Not Dict.exists(aa.Value) Then
      Dict.Add aa.Value, 1
    Else
      Dict.Item(aa.Value) = Dict.Item(aa.Value) + 1
    End If
  End If
End If
Next
Next


On Error Resume Next
Set aa = Application.InputBox("Select distination cell.", , , , , , , 8)
If aa <> "Сводная" Then
If Err.Number > 0 Then Set aa = [AA1]
On Error GoTo 0
If aa.Cells.Count > 1 Then Set aa = Range(Left(aa.Address, InStr(":", aa.Address) - 1))
aa.Resize(Dict.Count) = Application.Transpose(Dict.keys)
aa.Offset(0, 1).Resize(Dict.Count) = Application.Transpose(Dict.items)
End If

End Sub

Прикрепленные файлы

  • FindDuplDemo(2).xlsm (115.17 КБ)

 

Hugo

Пользователь

Сообщений: 23249
Регистрация: 22.12.2012

#27

05.03.2019 00:34:33

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

Код
For Each aa In Current.Range("H2:I60000")

P.S. Я бы не использовал слово Current как имя переменной…

Изменено: Hugo05.03.2019 00:35:19

 

Hugo, не удивлен, насколько быстро Вы указали на причину и на ошибку. Большое Вам спасибо! Всё отлично посчиталось, продолжаю осваивать vba      

 

Дмитрий Марков

Пользователь

Сообщений: 140
Регистрация: 24.02.2015

#29

05.03.2019 18:03:34

Цитата
Hugo написал:
P.S. Я бы не использовал слово Current как имя переменной…

За рекомендацию отдельное спасибо!

 

First_Son

Пользователь

Сообщений: 6
Регистрация: 28.07.2015

#30

07.05.2020 23:05:56

Есть похожая задача.
Книга с большим количеством листов. И надо при вводе нового значения в столбце А, отловить, есть ли уже такое же значение в книге на любом из её листов также в столбцах А.
Можно, наверное, подключить УФ с нескольких листов, но количество листов постоянно растёт и каждый раз подключать всё новые и новые листы в УФ — не самый простой вариант.
Хотел решить это с помощью макроса, попытался подключить те макросы, которые приводились здесь, но у меня ничего не заработало :(. К сожалению, я вообще не специалист в VBA
Возможно кто-то сможет мне помочь? Буду очень признателен.

Прикрепленные файлы

  • Packing log.xlsm (84.37 КБ)

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

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

Содержание

  • Метод 1: удаление дублирующихся строк вручную
  • Метод 2: удаление повторений при помощи “умной таблицы”
  • Метод 3: использование фильтра
  • Метод 4: условное форматирование
  • Метод 5: формула для удаления повторяющихся строк
  • Заключение

Метод 1: удаление дублирующихся строк вручную

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

  1. Полностью выделяем все ячейки таблицы с данными, воспользовавшись, например, зажатой левой кнопкой мыши.
  2. Во вкладке “Данные” в разделе инструментов “Работа с данными” находим кнопку “Удалить дубликаты” и кликаем на нее.Вкладка Данные в таблице Эксель
  3. Переходим к настройкам параметров удаления дубликатов:
    • Если обрабатываемая таблица содержит шапку, то проверяем пункт “Мои данные содержат заголовки” – он должен быть отмечен галочкой.
    • Ниже, в основном окне, перечислены названия столбцов, по которым будет осуществляться поиск дубликатов. Система считает совпадением ситуацию, в которой в строках повторяются значения всех выбранных в настройке столбцов.  Если убрать часть столбцов из сравнения, повышается вероятность увеличения количества похожих строк.
    • Тщательно все проверяем и нажимаем ОК.Удаление дубликатов в таблице Эксель
  4. Далее программа Эксель в автоматическом режиме найдет и удалит все дублированные строки.
  5. По окончании процедуры на экране появится соответствующее сообщение с информацией о количестве найденных и удаленных дубликатов, а также о количестве оставшихся уникальных строк. Для закрытия окна и завершения работы данной функции нажимаем кнопку OK.Результат удаления дубликатов в таблице Эксель

Метод 2: удаление повторений при помощи “умной таблицы”

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

  1. Для начала, нам нужно выделить всю таблицу, как в первом шаге предыдущего раздела.Выделение таблицы в Excel
  2. Во вкладке “Главная” находим кнопку “Форматировать как таблицу” (раздел инструментов “Стили“). Кликаем на стрелку вниз справа от названия кнопки и выбираем понравившуюся цветовую схему таблицы.Создание умной таблицы в Excel
  3. После выбора стиля откроется окно настроек, в котором указывается диапазон для создания “умной таблицы“. Так как ячейки были выделены заранее, то следует просто убедиться, что в окошке указаны верные данные. Если это не так, то вносим исправления, проверяем, чтобы пункт “Таблица с заголовками” был отмечен галочкой и нажимаем ОК. На этом процесс создания “умной таблицы” завершен.Указание координат для создания умной таблицы в Эксель
  4. Далее приступаем к основной задаче – нахождению задвоенных строк в таблице. Для этого:
    • ставим курсор на произвольную ячейку таблицы;
    • переключаемся во вкладку “Конструктор” (если после создания “умной таблицы” переход не был осуществлен автоматически);
    • в разделе “Инструменты” жмем кнопку “Удалить дубликаты“.Удаление дубликатов в умной таблице Excel
  5. Следующие шаги полностью совпадают с описанными в методе выше действиями по удалению дублированных строк.

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

Метод 3: использование фильтра

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

  1. Как обычно, выделяем все ячейки таблицы.
  2. Во вкладке “Данные” в разделе инструментов “Сортировка и фильтр” ищем кнопку “Фильтр” (иконка напоминает воронку) и кликаем на нее.Включение фильтра в таблице Эксель
  3. После этого в строке с названиями столбцов таблицы появятся значки перевернутых треугольников (это значит, что фильтр включен). Чтобы перейти к расширенным настройкам, жмем кнопку “Дополнительно“, расположенную справа от кнопки “Фильтр“.Переход в расширенные настройки фильтра в Excel
  4. В появившемся окне с расширенными настройками:
    • как и в предыдущем способе, проверяем адрес диапазон ячеек таблицы;
    • отмечаем галочкой пункт “Только уникальные записи“;
    • жмем ОК.Расширенный фильтр в Эксель
  5. После этого все задвоенные данные перестанут отображаться в таблицей. Чтобы вернуться в стандартный режим, достаточно снова нажать на кнопку “Фильтр” во вкладке “Данные”.Включение и выключение фильтра в таблице Эксель

Метод 4: условное форматирование

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

  1. Выделяем все ячейки нашей таблицы.
  2. Во вкладке “Главная” кликаем по кнопке “Условное форматирование“, которая находится в разделе инструментов “Стили“.
  3. Откроется перечень, в котором выбираем группу “Правила выделения ячеек“, а внутри нее – пункт “Повторяющиеся значения“.Условное форматирование таблицы Excel
  4. Окно настроек форматирования оставляем без изменений. Единственный его параметр, который можно поменять в соответствии с собственными цветовыми предпочтениями – это используемая для заливки выделяемых строк цветовая схема. По готовности нажимаем кнопку ОК.Выделение повторяющихся значений в таблице Excel
  5. Теперь все повторяющиеся ячейки в таблице “подсвечены”, и с ними можно работать – редактировать содержимое или удалить строки целиком любым удобным способом.Поиск повторяющихся значений в таблице Эксель

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

Метод 5: формула для удаления повторяющихся строк

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

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

=ЕСЛИОШИБКА(ИНДЕКС(адрес_столбца;ПОИСКПОЗ(0;СЧЁТЕСЛИ(адрес_шапки_столбца_дубликатов:адрес_шапки_столбца_дубликатов(абсолютный);адрес_столбца;)+ЕСЛИ(СЧЁТЕСЛИ(адрес_столбца;адрес_столбца;)>1;0;1);0));"")

Давайте посмотрим, как с ней работать на примере нашей таблицы:

  1. Добавляем в конце таблицы новый столбец, специально предназначенный для отображения повторяющихся значений (дубликаты).Поиск и удаление дубликатов в таблице Эксель
  2. В верхнюю ячейку нового столбца (не считая шапки) вводим формулу, которая для данного конкретного примера будет иметь вид ниже, и жмем Enter:
    =ЕСЛИОШИБКА(ИНДЕКС(A2:A90;ПОИСКПОЗ(0;СЧЁТЕСЛИ(E1:$E$1;A2:A90)+ЕСЛИ(СЧЁТЕСЛИ(A2:A90;A2:A90)>1;0;1);0));"").Формула для поиска и удаления дубликатов в таблице Эксель
  3. Выделяем до конца новый столбец для задвоенных данных, шапку при этом не трогаем. Далее действуем строго по инструкции:
    • ставим курсор в конец строки формул (нужно убедиться, что это, действительно, конец строки, так как в некоторых случаях длинная формула не помещается в пределах одной строки);
    • жмем служебную клавишу F2 на клавиатуре;
    • затем нажимаем сочетание клавиш Ctrl+SHIFT+Enter.
  4. Эти действия позволяют корректно заполнить формулой, содержащей ссылки на массивы, все ячейки столбца. Проверяем результат.Поиск и удаление дубликатов в таблице Эксель с помощью формулы

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

Заключение

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

Понравилась статья? Поделить с друзьями:
  • Excel одинаковая формула для нескольких
  • Excel один я на дорогу
  • Excel объединяет вставляемые ячейки
  • Excel объединить ячейку с данными
  • Excel объединить ячейки сумма