Выделение повторяющихся значений на разных листах. |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Как найти повторяющиеся или уникальные значения в двух столбцах на двух листах?
Может быть, сравнить два диапазона на одном листе и выяснить, что повторяющиеся или уникальные значения легко для большинства из вас, но если два диапазона находятся на двух разных листах, как вы можете быстро найти повторяющиеся и уникальные значения в этих двух диапазонах ? В этом уроке вы найдете несколько быстрых решений.
Сравните два одинаковых столбца заголовка в двух электронных таблицах с формулой в Excel
Сравните два диапазона в двух электронных таблицах с VBA
Сравните два диапазона в двух электронных таблицах с Kutools for Excel
Сравните два одинаковых столбца заголовка в двух электронных таблицах с формулой в Excel
С помощью формулы в Excel вы можете сравнить два одинаковых столбца заголовка, как показано ниже на разных листах, и найти повторяющиеся и уникальные значения:
1. Набрав эту формулу = СЧЁТЕСЛИ (Лист1! $ A: $ A; A1) в пустой ячейке, которая находится рядом с диапазоном на листе 3. См. снимок экрана:
2. Нажмите Enter на клавиатуре, а затем перетащите маркер заполнения, чтобы заполнить диапазон, который вы хотите сравнить с диапазоном на Листе 1. (Номер Ноль означает повторяющиеся значения в двух диапазонах, а Номер 1 означает уникальные значения в Листе 3, но не в Листе 1)
Советы:
1. Эта формула может сравнивать только два столбца с одинаковым заголовком в двух электронных таблицах.
2. Если вы хотите найти уникальные значения в Sheet1, но не в Sheet3, вам необходимо ввести приведенную выше формулу =СЧЁТЕСЛИ (Лист3! $ A: $ A; A1) в Sheet1.
Сравните два диапазона в двух электронных таблицах с VBA
1. Держать ALT и нажмите F11 на клавиатуре, чтобы открыть Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модули, и скопируйте VBA в модуль.
VBA: сравнить два диапазона в двух таблицах
Sub CompareRanges () 'Обновление 20130815 Dim WorkRng1 как диапазон, WorkRng2 как диапазон, Rng1 как диапазон, Rng2 как диапазон xTitleId = "KutoolsforExcel" Установить WorkRng1 = Application.InputBox ("Range A:", xTitleId, "", Type: = 8 ) Установите WorkRng2 = Application.InputBox ("Range B:", xTitleId, Type: = 8) Для каждого Rng1 в WorkRng1 rng1Value = Rng1.Value для каждого Rng2 в WorkRng2 Если rng1Value = Rng2.Value Тогда Rng1.Interior.Color = VBA .RGB (255, 0, 0) Выйти за конец, если следующий следующий конец Sub
3. Нажмите Run или нажмите F5 для запуска VBA.
4. На экране отображается диалоговое окно, и вы должны выбрать один диапазон, с которым хотите сравнить. Смотрите скриншот:
5. Нажмите Ok и другое диалоговое окно отображается для выбора второго диапазона. Смотрите скриншот:
6. Нажмите Ok, а повторяющиеся значения как в диапазоне A, так и в диапазоне B выделяются красным фоном в диапазоне A. См. снимок экрана:
Советы: с помощью этого VBA вы можете сравнивать два диапазона как на одном, так и на разных листах.
Сравните два диапазона в двух электронных таблицах с Kutools for Excel
Если формула вам не удобна, а VBA вам сложно, вы можете попробовать Kutools for Excel‘s Сравнить диапазоны функции.
Kutools for Excel включает более 300 удобных инструментов Excel. Бесплатная пробная версия без ограничений в течение 30 дней. Получить сейчас
Пожалуйста, примените Сравнить диапазоны функция, нажав Кутулс > Сравнить диапазоны. Смотрите скриншот:
Сравните с двумя столбцами на разных листах:
1. Нажмите Кутулс > Сравнить диапазоны, на экране отобразится диалоговое окно. Смотрите скриншот:
2. Укажите диапазоны и правила, сделайте следующее:
Оставьте Сравнить в том же диапазоне снимите флажок и выберите два диапазона, нажав Диапазон А и Диапазон B, см. снимок экрана:
Укажите те же значения или разные значения, которые вы хотите найти, в раскрывающемся списке в разделе «Правила»;
3. Нажмите Ok. Всплывающее диалоговое окно сообщает вам, что выбраны те же значения.
4. Нажмите Ok во всплывающем диалоговом окне. В диапазоне A выбираются одинаковые значения между двумя диапазонами.
Сравните два диапазона в электронных таблицах
Если у вас есть два диапазона в двух таблицах, как показано ниже, и вы хотите сравнить их и узнать разные значения, вы можете сделать следующее:
1. Нажмите Кутулс > Сравнить диапазоны, на экране отобразится диалоговое окно.
2. Укажите диапазоны и правила, сделайте следующее:
Оставлять Сравнить в том же диапазоне снимите флажок и выберите два диапазона, нажав Диапазон А и Диапазон B;
Укажите различные значения, которые вы хотите найти, в раскрывающемся списке в разделе «Правила»;
Проверить, что у моих данных есть заголовки in Опции раздел;
3. Нажмите Ok. Всплывающее диалоговое окно сообщает вам, что выбраны те же значения.
4. Нажмите Ok во всплывающем диалоговом окне. Выбираются разные значения в диапазоне А. Смотрите скриншот:
Если вы хотите узнать разные значения в диапазоне B листа Sheet2, вам нужно поменять местами два диапазона.
Сравнить диапазоны функция также может сравнивать диапазоны на одном листе. Щелкните здесь, чтобы узнать больше о сравнительных диапазонах.
Относительные статьи:
- Найдите уникальные значения между двумя столбцами
- Найдите повторяющиеся значения в двух столбцах
- Удалите дубликаты и замените пустыми ячейками
- Отфильтровать уникальные записи из выбранного столбца
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Skip to content
В этом руководстве вы узнаете, как отображать дубликаты в Excel. Мы рассмотрим различные методы затенения дублирующих ячеек, целых строк или последовательных повторений с использованием условного форматирования.
Ранее мы исследовали различные способы как найти дубликаты в Excel. Несомненно, эти формулы очень полезны, но выделение повторяющихся записей определенным цветом может сделать анализ данных еще проще.
Самый быстрый способ найти и подсветить повторы в Excel — это использовать условное форматирование. Самое большое преимущество этого метода в том, что он не только показывает существующие совпадения, но и обнаруживает и сразу же окрашивает новые повторы при вводе, редактировании или перезаписи ваших данных.
- Как подсветить дубликаты, используя встроенный инструмент
- Как выделить дубликаты без учета 1-го вхождения
- Как показать 3-й, 4-й и все последующие дубликаты?
- Выделяем повторяющиеся значения в диапазоне
- Выделение строки целиком на основе дубликатов в определённой колонке
- Выделение дублирующихся строк
- Подсветка последовательных дубликатов ячеек
- Как выделить дубликаты в Excel с помощью специального инструмента и без формул
Далее в этом руководстве вы найдете несколько способов выделения дубликатов записей в зависимости от конкретной задачи. Эти методы работают во всех версиях Excel 2016, Excel 2013, Excel 2010 и ниже.
Как подсветить дубликаты, используя встроенный инструмент (с 1-м появлением)
Для начала, во всех версиях Excel есть заготовка для выделения дублирующих ячеек. Чтобы использовать это её в своих таблицах, выполните следующие действия:
- Выберите данные, которые вы хотите проверить. Это может быть колонка, строка или диапазон ячеек.
- На вкладке « Главная » выберите « Условное форматирование» > «Правила выделения ячеек» > «Повторяющиеся значения».
Откроется диалоговое окно с форматом «Светло-красная заливка» и «Темно-красный текст», выбранными по умолчанию. Чтобы применить формат по умолчанию, просто нажмите ОК.
Помимо красной заливки и форматирования текста, в выпадающем списке доступно несколько других предопределенных форматов. Чтобы покрасить повторяющиеся ячейки другим цветом, нажмите «Пользовательский формат» (последний элемент в раскрывающемся списке) и выберите цвет заливки и/или шрифта по своему вкусу.
Подсказка. Чтобы указать цветом на уникальные значения, выберите «Уникальные» в левом поле.
И вот что мы получили в итоге:
Как видим, повторов оказалось очень много. Применяя встроенное правило дублирования к двум или более столбцам, Excel не сравнивает значения в них, а просто выделяет все дублирующиеся экземпляры. Для работы со всей таблицей или для сравнения столбцов вряд ли этот метод вам подойдет. А вот для поиска в одной колонке или строке – вполне хорош.
При использовании этого инструмента имейте в виду следующие две вещи:
- Работает только для отдельных клеток. Чтобы отметить дублирующиеся строки, вам необходимо создать свои собственные правила.
- Он закрашивает дубликаты ячеек, включая их первые появления. Чтобы отметить все из них, кроме первых экземпляров , создайте правило условного форматирования на основе формулы из этого руководства по нахождению дубликатов.
Как выделить повторы без 1-го вхождения
Чтобы отметить второе и все последующие повторяющиеся вхождения, выберите ячейки, которые вы хотите закрасить, и действуйте следующим образом:
- Выберите «Условное форматирование» > « Новое правило»> «Использовать формулу», чтобы определить ячейки для форматирования .
- В поле « Форматировать значения», где эта формула возвращает ИСТИНА , введите:
=СЧЕТЕСЛИ($B$2:$B2;$B2)>1
Где B2 — самая верхняя ячейка выбранного диапазона.
- Нажмите кнопку «Формат» выберите нужный цвет заливки и/или шрифта.
- Наконец, нажмите кнопку ОК, чтобы сохранить и применить созданное.
Если у вас нет большого опыта работы с условным форматированием Excel, вы найдете подробные инструкции по созданию правила на основе формул в следующем руководстве: Как изменить цвет ячейки в зависимости от значения?
В результате дубликаты ячеек, исключая первые экземпляры, будут выделены цветом по вашему выбору.
Как показать третий, четвертый и все последующие дубликаты?
Чтобы просмотреть повторяющиеся значения, начинающиеся с N-го вхождения, действуйте как в предыдущем примере. С той лишь разницей, что вы заменяете > 1 в конце формулы на требуемое число. Например:
Чтобы раскрасить третий и все последующие повторы, примените это:
=СЧЕТЕСЛИ($B$2:$B2;$B2)>=3
Чтобы указать на 4-е и все последующие повторяющиеся записи, используйте выражение:
=СЧЕТЕСЛИ($B$2:$B2;$B2)>=4
Чтобы выделить только определенные вхождения, используйте оператор равенства (=).
Например, чтобы изменить фон только 2-х экземпляров, вы должны использовать следующую формулу:
=СЧЕТЕСЛИ($B$2:$B2;$B2)=2
Как выделить дубликаты в диапазоне
Если вы хотите проверить наличие повторяющихся данных в какой-то области данных, обнаружив все экземпляры одного и того же элемента, используйте одно из следующих решений.
Выделите дубликаты в таблице, включая 1-е вхождение.
Если первый экземпляр элемента, который появляется в наборе данных более одного раза, считается дубликатом, проще всего воспользоваться встроенным правилом Excel для дубликатов, о котором мы говорили выше.
Или создайте своё условное форматирование:
=СЧЕТЕСЛИ(диапазон, первая_ячейка)> 1
Например, чтобы отметить цветом совпадения в диапазоне A2: C8, сделайте это следующим образом:
=СЧЕТЕСЛИ($A$2:$C$8, A2)>1
Обратите внимание на использование абсолютных ссылок на ячейки для диапазона ($A$2:$C$8) и относительных ссылок для верхней ячейки (A2).
Выделите повторы в таблице без 1-го вхождения.
Решение для этого сценария намного сложнее. Не удивительно, что в Excel нет для него готового решения
Чтобы выделить повторяющиеся значения в нескольких колонках, игнорируя первое появление, вам нужно будет создать 2 правила со следующими формулами:
Правило 1. Относится к первому столбцу.
Здесь вы используете точно такую же формулу, как мы использовали для выделения дубликатов без первого вхождения в одном столбце (подробные шаги можно найти здесь ).
В этом примере мы применяем для A2: A11 условие:
=СЧЁТЕСЛИ($A$2:$A2;A2)>1
В результате дублирующие элементы без 1- го вхождения выделяются в крайнем левом столбике диапазона (в нашем случае есть только два таких элемента):
Правило 2. Относится ко всем последующим колонкам
Чтобы выделить дубликаты в оставшихся данных (B2: C11), используйте следующую формулу:
=СЧЁТЕСЛИ(A$2:$A$11;B2)+СЧЁТЕСЛИ(B$2:B2;B2)>1
В приведенной выше формуле первая функция СЧЕТЕСЛИ подсчитывает вхождения данного элемента в первом столбце, а второй СЧЕТЕСЛИ делает то же самое для всех последующих. Затем вы складываете эти числа и проверяете, больше ли сумма, чем 1.
В результате все дублированные элементы, за исключением их 1- го вхождения, будут найдены и выделены:
Выделение целых строк на основе повторяющихся значений в одной колонке.
Если ваша таблица содержит несколько колонок, вы можете выделить целые строки на основе повторяющихся записей в одной из них.
Как вы уже знаете, встроенное правило Excel для дубликатов работает только на уровне ячеек. Но при использовании собственных формул нет проблем с закраской строк целиком. Ключевым моментом является выделение целых строк, а затем создание правила с одной из следующих формул:
- Чтобы выделить дублирующиеся строки, исключая первые вхождения:
=СЧЁТЕСЛИ($B$2:$B2;$B2)>1
Выделяем строки с одинаковыми наименованиями товаров (столбец B)
- Чтобы выделить повторяющиеся строки, включая все вхождения:
= СЧЁТЕСЛИ ($B$2:$B$17;$B2)>1
Здесь B2 — первая ячейка, а B17 — последняя, которую вы хотите проверить на наличие дублей.
Как видите, разумное использование абсолютных и относительных ссылок имеет значение.
Как выделить дублирующиеся строки.
В предыдущем примере демонстрировалось, как окрашивать целые строки при появлении повторяющихся значений в определенной колонке. Но что, если вы хотите просмотреть строки с одинаковыми значениями в нескольких колонках? Или как выделить из них абсолютно одинаковые, которые имеют совершенно одинаковые значения?
Для этого используйте функцию СЧЁТЕСЛИМН, которая позволяет сравнивать по нескольким критериям. Например, чтобы выделить строки с одинаковыми значениями в B и C, то есть найти заказы одного и того же товара одним заказчиком, используйте одну из следующих формул:
- Чтобы выделить совпадающие, кроме 1-го вхождения :
=COUNTIFS($A$2:$A2, $A2, $B$2:$B2, $B2)>1
Обратите внимание, что форматирование мы применяем ко всей таблице.
- Чтобы выделить все неуникальные:
=СЧЁТЕСЛИМН($B$2:$B$17; $B2; $C$2:$C$17; $C2)>1
Как вы понимаете, приведенный выше пример только для демонстрационных целей. При выделении дублирующихся строк в ваших реальных таблицах вы, естественно, не ограничены сравнением значений только в 2 столбцах. Функция СЧЁТЕСЛИМН может обрабатывать до 127 пар диапазон / критерий.
Подсветка последовательных дубликатов ячеек.
Иногда вам может не потребоваться выделять все дубликаты в таблице, а отображать только последовательные, то есть те, которые расположены рядом друг с другом.
Для этого выберите область с данными (не включая заголовок) и создайте условное форматирование с одной из следующих формул:
- Чтобы выделить два идущих друг за другом заказа одного и того же менеджера:
=ИЛИ($G1=$G2;$G2=$G3)
- Чтобы выделить второй заказ менеджера, если у него 2 заказа идут подряд:
=$G1=$G2
Здесь мы показали выделение последовательных повторяющихся текстов, но это также будет работать для последовательных повторяющихся чисел и дат.
Если на вашем листе Excel могут быть пустые строки и вы не хотите, чтобы следующие друг за другом пустые ячейки выделялись цветом, внесите следующие улучшения в формулы:
- при выделении только второго повтора
=И($G2<>»»; $G1=$G2)
- при выделении обоих дублей:
=И($G2<>»»; ИЛИ($G1=$G2;$G2=$G3))
Как видите, нет ничего сложного в том, чтобы выделить цветом дубликаты в Excel с помощью условного форматирования.
Как выделить дубликаты в Excel с помощью инструмента Duplicate Remover.
Эта надстройка включает множество возможностей для работы с повторяющимися записями в Excel. Она может находить, выделять, выбирать, копировать или перемещать повторяющиеся ячейки или целые повторяющиеся строки.
Несмотря на своё название, программа умеет быстро выделять дубликаты разными цветами, не удаляя их.
Средство удаления дубликатов добавляет к вашей ленте Excel три новых функции:
- Quick Dedupe (быстрое удаление дубликатов) – быстро в пару кликов найти и выделить дубликаты в таблице.
- Duplicate Remover (удаление дубликатов) – пошаговый мастер с расширенными параметрами для выявления и выделения дубликатов или уникальных значений в таблице.
- Compare Two Sheets (сравнить таблицы) – найти и выделить дубликаты, сравнивая два столбца или две отдельные таблицы.
После установки Ultimate Suite for Excel вы найдете эти инструменты на вкладке Ablebits Data.
Как выделить дубликаты в Excel за пару кликов
Для этого примера я создал простую таблицу с тремя колонками. И наша цель — выделить повторяющиеся строки, которые имеют одинаковые значения во всех трех столбцах:
Вы не поверите, но желаемый результат можно получить всего за 2 клика мыши
- Выделив любую ячейку в таблице, используйте кнопку Quick Dedupe на ленте Excel.
- Откроется диалоговое окно, в котором все столбцы для поиска дублей будут выбраны автоматически.
В правом нижнем углу в выпадающем списке нужно выбрать Выделить цветом (Highlight with color). Теперь все, что вам нужно сделать, это нажать ОК Готово!
Совет. Если вы хотите искать повторяющиеся строки по одному или нескольким столбцам, а не по всем, то снимите отметки со всех нерелевантных столбцов и оставьте выбранными только ключевые столбцы.
Результат будет примерно таким:
Как вы видите на изображении выше, инструмент выделил повторяющиеся строки без первых экземпляров.
Если вы хотите выделить дубликаты, включая первые вхождения этих записей, или если вы хотите раскрасить уникальные записи, а не дубликаты, или если вам не нравится красный цвет по умолчанию, используйте мастер Duplicate Remover, который имеет все эти функции и многое другое.
Как выделить дубликаты в Excel с помощью расширенного пошагового мастера.
По сравнению с быстрым инструментом, который мы только что рассмотрели, мастеру Duplicate Remover требуется несколько дополнительных щелчков мыши. Но он компенсирует это рядом дополнительных опций. Посмотрим это в действии:
- Выберите любую ячейку в таблице, в которой вы хотите выделить дубликаты, и нажмите кнопку «Удаление дубликатов» на ленте. Мастер запустится, и будет выделена вся таблица. Также на всякий случай надстройка предложит создать резервную копию вашей таблицы. Если он вам не нужен, снимите этот флажок.
Убедитесь, что таблица выбрана правильно, и нажмите Далее .
- Выберите один из следующих типов данных, которые вы хотите найти:
- Дубликаты без первых вхождений повторяющихся записей.
- Дубликаты вместе с первым вхождением.
- Уникальные значения.
- Уникальные записи и первые повторяющиеся вхождения.
В этом примере давайте найдем Дубликаты + 1-е вхождение :
- Теперь выберите столбцы, чтобы проверить наличие дубликатов. Поскольку мы хотим выделить полные повторяющиеся строки, я выбрал все 3 столбца.
Кроме того, надстройка позволяет указать, есть ли в таблице заголовки, нужно ли пропускать пустые ячейки, игнорировать ли лишние пробелы. Все варианты выбраны по умолчанию.
- Наконец, выберите действие, которое нужно выполнить с дубликатами. У вас есть несколько вариантов – выбор , удаление , копирование, перемещение дубликатов или добавление столбца статуса для идентификации дубликатов .
Поскольку сегодня мы изучаем различные способы выделения дубликатов в Excel, наш выбор очевиден Итак, выберите «Заливка цветом» (Fill with color) и укажите один из стандартных цветов или нажмите « Другие цвета» и выберите любой собственный цвет RGB.
Нажимаем кнопку Finish и наслаждаемся результатом
Вот как вы можно выделить дубликаты в Excel с помощью надстройки Duplicate Remover. Если вам интересно попробовать этот инструмент на своих рабочих таблицах, вы можете загрузить полнофункциональную пробную версию Ultimate Suite, которая включает в себя более 60 инструментов для экономии времени при работе в Excel. Будем очень благодарны за ваши отзывы в комментариях!
Рекомендуем также:
Повторяющиеся значения на разных листах.
Автор arti8181, 26.08.2019, 15:12
« назад — далее »
Ребята подскажите пожалуйста. Имеются числовые значения на листе 1. Имеются также числовые значения на листе 2. Как сделать так, чтобы на листе 1 подсвечивались значения, которые дублируются со значениями на листе 2
Для нужного диапазона добавьте условное_форматирование с формулой
=IFERROR(MATCH(A3;Лист2!$A:$A;0);0)<>0
поясните пожалуйста как сделать, что то я не понял. как мне добавить диапозон?
Измените диапазон поиска(например: Лист2!$A:$C) в функции match(ПОИСКПОЗ)
Извените но я совсем запутался. Скачал Ваш пример, там все нормально но стоит формула =ЕСЛИОШИБКА(ПОИСКПОЗ(A1;Лист2!$A:$A;0);0)<>0
А если набрать формулу =IFERROR(MATCH(A3;Лист2!$A:$A;0);0)<>0 то ничего не работает.
Какую мне все таки написать формулу, чтобы я ставил значения в любые ячейки и в любой столбец листа2, а на листе 1 окрашивались значения, если дублируются с листом 2.
Помогите плиз очень нужно
Нужно показывать в файле, что там не работает.
Цитироватьчтобы я ставил значения в любые ячейки и в любой столбец листа2…
условное_форматирование, заданное для большого диапазона, может тормозить расчеты.
ЦитироватьИзмените диапазон поиска(например: Лист2!$A:$C)
Не учите плохому )
Не нужно задавать для диапазона весь столбец, тем более — для условного форматирования! Если функция не найдет нужного, она будет молотить ВСЕ ячейки. Если нельзя определить диапазон заранее, задать его размер с запасом.
Так все же. в итоге ничего не получилось. 314
-570 не закрасился, хотя дублируется
Так Вы же ищете ТОЛЬКО в столбце А. Если снять закрепление диапазона (
Лист2!$A:$A
Лист2!A:A), то значения будут сравниваться в столбцах, но Вам нужно не это. Вы хотите искать дубли на всем листе. А ПОИСКПОЗ работает только с одним вектором.
И еще раз — не грузите вычисления целыми столбцами в диапазонах.
=СЧЁТЕСЛИ(Лист2!$A$1:$S$100;A1)
СЧЕТЕСЛИ умеет определять пользовательский диапазон, но как это работает в УФ, не знаю. Не рискуйте.
Большое спасибо, очень выручили
Цитата: vikttur от 26.08.2019, 21:50
Не учите плохому )
виноват, каюсь, )
сегодня был напряженный день и некогда было «разжовывать» и «наставлять»…
я когда заглянул в исходник…, вообще был в шоке, поэтому и дал ответ в стиле автора…
- Профессиональные приемы работы в Microsoft Excel
-
►
Обмен опытом -
►
Microsoft Excel -
►
Повторяющиеся значения на разных листах.
Довольно часто перед пользователями Excel стоит задача сравнения двух таблиц или списков для выявления в них отличий или недостающих элементов. Каждый юзер справляется с этой задачей по своему, но чаще всего на решение указанного вопроса тратится довольно большое количество времени, так как далеко не все подходы к данной проблеме являются рациональными. В то же время, существует несколько проверенных алгоритмов действий, которые позволят сравнить списки или табличные массивы в довольно сжатые сроки с минимальной затратой усилий. Давайте подробно рассмотрим данные варианты.
Читайте также: Сравнение двух документов в MS Word
Содержание
Способы сравнения
Существует довольно много способов сравнения табличных областей в Excel, но все их можно разделить на три большие группы:
Именно исходя из этой классификации, прежде всего, подбираются методы сравнения, а также определяются конкретные действия и алгоритмы для выполнения задачи. Например, при проведении сравнения в разных книгах требуется одновременно открыть два файла Excel.
Кроме того, следует сказать, что сравнивать табличные области имеет смысл только тогда, когда они имеют похожую структуру.
Способ 1: простая формула
Самый простой способ сравнения данных в двух таблицах – это использование простой формулы равенства. Если данные совпадают, то она выдает показатель ИСТИНА, а если нет, то – ЛОЖЬ. Сравнивать можно, как числовые данные, так и текстовые. Недостаток данного способа состоит в том, что ним можно пользоваться только в том случае, если данные в таблице упорядочены или отсортированы одинаково, синхронизированы и имеют равное количество строчек. Давайте посмотрим, как использовать данный способ на практике на примере двух таблиц, размещенных на одном листе.
Итак, имеем две простые таблицы со списками работников предприятия и их окладами. Нужно сравнить списки сотрудников и выявить несоответствия между столбцами, в которых размещены фамилии.
- Для этого нам понадобится дополнительный столбец на листе. Вписываем туда знак «=». Затем кликаем по первому наименованию, которое нужно сравнить в первом списке. Опять ставим символ «=» с клавиатуры. Далее кликаем по первой ячейке колонки, которую мы сравниваем, во второй таблице. Получилось выражение следующего типа:
=A2=D2
Хотя, конечно, в каждом конкретном случае координаты будут отличаться, но суть останется одинаковой.
- Щелкаем по клавише Enter, чтобы получить результаты сравнения. Как видим, при сравнении первых ячеек обоих списков программа указала показатель «ИСТИНА», что означает совпадение данных.
- Теперь нам нужно провести аналогичную операцию и с остальными ячейками обеих таблиц в тех колонках, которые мы сравниваем. Но можно просто провести копирование формулы, что позволит существенно сэкономить время. Особенно данный фактор важен при сравнивании списков с большим количеством строк.
Процедуру копирования легче всего выполнить при помощи маркера заполнения. Наводим курсор на правый нижний угол ячейки, где мы получили показатель «ИСТИНА». При этом он должен преобразоваться в черный крестик. Это и есть маркер заполнения. Жмем левую кнопку мыши и тянем курсор вниз на количество строчек в сравниваемых табличных массивах.
- Как видим, теперь в дополнительном столбце отобразились все результаты сравнения данных в двух колонках табличных массивов. В нашем случае не совпали данные только в одной строке. При их сравнении формула выдала результат «ЛОЖЬ». По всем остальным строчкам, как видим, формула сравнения выдала показатель «ИСТИНА».
- Кроме того, существует возможность с помощью специальной формулы подсчитать количество несовпадений. Для этого выделяем тот элемент листа, куда оно будет выводиться. Затем щелкаем по значку «Вставить функцию».
- В окне Мастера функций в группе операторов «Математические» выделяем наименование СУММПРОИЗВ. Щелкаем по кнопке «OK».
- Активируется окно аргументов функции СУММПРОИЗВ, главной задачей которой является вычисление суммы произведений выделенного диапазона. Но данную функцию можно использовать и для наших целей. Синтаксис у неё довольно простой:
=СУММПРОИЗВ(массив1;массив2;…)
Всего в качестве аргументов можно использовать адреса до 255 массивов. Но в нашем случае мы будем использовать всего два массива, к тому же, как один аргумент.
Ставим курсор в поле «Массив1» и выделяем на листе сравниваемый диапазон данных в первой области. После этого в поле ставим знак «не равно» (<>) и выделяем сравниваемый диапазон второй области. Далее обворачиваем полученное выражение скобками, перед которыми ставим два знака «-». В нашем случае получилось такое выражение:
--(A2:A7<>D2:D7)
Щелкаем по кнопке «OK».
- Оператор производит расчет и выводит результат. Как видим, в нашем случае результат равен числу «1», то есть, это означает, что в сравниваемых списках было найдено одно несовпадение. Если бы списки были полностью идентичными, то результат бы был равен числу «0».
Таким же образом можно производить сравнение данных в таблицах, которые расположены на разных листах. Но в этом случае желательно, чтобы строки в них были пронумерованы. В остальном процедура сравнения практически точно такая, как была описана выше, кроме того факта, что при внесении формулы придется переключаться между листами. В нашем случае выражение будет иметь следующий вид:
=B2=Лист2!B2
То есть, как видим, перед координатами данных, которые расположены на других листах, отличных от того, где выводится результат сравнения, указывается номер листа и восклицательный знак.
Способ 2: выделение групп ячеек
Сравнение можно произвести при помощи инструмента выделения групп ячеек. С его помощью также можно сравнивать только синхронизированные и упорядоченные списки. Кроме того, в этом случае списки должны располагаться рядом друг с другом на одном листе.
- Выделяем сравниваемые массивы. Переходим во вкладку «Главная». Далее щелкаем по значку «Найти и выделить», который располагается на ленте в блоке инструментов «Редактирование». Открывается список, в котором следует выбрать позицию «Выделение группы ячеек…».
Кроме того, в нужное нам окно выделения группы ячеек можно попасть и другим способом. Данный вариант особенно будет полезен тем пользователям, у которых установлена версия программы ранее Excel 2007, так как метод через кнопку «Найти и выделить» эти приложения не поддерживают. Выделяем массивы, которые желаем сравнить, и жмем на клавишу F5.
- Активируется небольшое окошко перехода. Щелкаем по кнопке «Выделить…» в его нижнем левом углу.
- После этого, какой бы из двух вышеперечисленных вариантов вы не избрали, запускается окно выделения групп ячеек. Устанавливаем переключатель в позицию «Выделить по строкам». Жмем по кнопке «OK».
- Как видим, после этого несовпадающие значения строк будут подсвечены отличающимся оттенком. Кроме того, как можно судить из содержимого строки формул, программа сделает активной одну из ячеек, находящуюся в указанных не совпавших строках.
Способ 3: условное форматирование
Произвести сравнение можно, применив метод условного форматирования. Как и в предыдущем способе, сравниваемые области должны находиться на одном рабочем листе Excel и быть синхронизированными между собой.
- Прежде всего, выбираем, какую табличную область будем считать основной, а в какой искать отличия. Последнее давайте будем делать во второй таблице. Поэтому выделяем список работников, находящийся в ней. Переместившись на вкладку «Главная», щелкаем по кнопке «Условное форматирование», которая имеет месторасположение на ленте в блоке «Стили». Из выпадающего списка переходим по пункту «Управление правилами».
- Активируется окошко диспетчера правил. Жмем в нем на кнопку «Создать правило».
- В запустившемся окне производим выбор позиции «Использовать формулу». В поле «Форматировать ячейки» записываем формулу, содержащую адреса первых ячеек диапазонов сравниваемых столбцов, разделенные знаком «не равно» (<>). Только перед данным выражением на этот раз будет стоять знак «=». Кроме того, ко всем к координатам столбцов в данной формуле нужно применить абсолютную адресацию. Для этого выделяем формулу курсором и трижды жмем на клавишу F4. Как видим, около всех адресов столбцов появился знак доллара, что и означает превращение ссылок в абсолютные. Для нашего конкретного случая формула примет следующий вид:
=$A2<>$D2
Данное выражение мы и записываем в вышеуказанное поле. После этого щёлкаем по кнопке «Формат…».
- Активируется окно «Формат ячеек». Идем во вкладку «Заливка». Тут в перечне цветов останавливаем выбор на цвете, которым хотим окрашивать те элементы, где данные не будут совпадать. Жмем на кнопку «OK».
- Вернувшись в окно создания правила форматирования, жмем на кнопку «OK».
- После автоматического перемещения в окно «Диспетчера правил» щелкаем по кнопке «OK» и в нем.
- Теперь во второй таблице элементы, которые имеют данные, несовпадающие с соответствующими значениями первой табличной области, будут выделены выбранным цветом.
Существует ещё один способ применения условного форматирования для выполнения поставленной задачи. Как и предыдущие варианты, он требует расположения обоих сравниваемых областей на одном листе, но в отличие от ранее описанных способов, условие синхронизации или сортировки данных не будет являться обязательным, что выгодно отличает данный вариант от ранее описанных.
- Производим выделение областей, которые нужно сравнить.
- Выполняем переход во вкладку под названием «Главная». Делаем щелчок по кнопке «Условное форматирование». В активировавшемся списке выбираем позицию «Правила выделения ячеек». В следующем меню делаем выбор позиции «Повторяющиеся значения».
- Запускается окно настройки выделения повторяющихся значений. Если вы все сделали правильно, то в данном окне остается только нажать на кнопку «OK». Хотя при желании в соответствующем поле данного окошка можно выбрать другой цвет выделения.
- После того, как мы произведем указанное действие, все повторяющиеся элементы будут выделены выбранным цветом. Те элементы, которые не совпадают, останутся окрашенными в свой изначальный цвет (по умолчанию белый). Таким образом, можно сразу визуально увидеть, в чем отличие между массивами.
При желании можно, наоборот, окрасить несовпадающие элементы, а те показатели, которые совпадают, оставить с заливкой прежним цветом. При этом алгоритм действий практически тот же, но в окне настройки выделения повторяющихся значений в первом поле вместо параметра «Повторяющиеся» следует выбрать параметр «Уникальные». После этого нажать на кнопку «OK».
Таким образом, будут выделены именно те показатели, которые не совпадают.
Урок: Условное форматирование в Экселе
Способ 4: комплексная формула
Также сравнить данные можно при помощи сложной формулы, основой которой является функция СЧЁТЕСЛИ. С помощью данного инструмента можно произвести подсчет того, сколько каждый элемент из выбранного столбца второй таблицы повторяется в первой.
Оператор СЧЁТЕСЛИ относится к статистической группе функций. Его задачей является подсчет количества ячеек, значения в которых удовлетворяют заданному условию. Синтаксис данного оператора имеет такой вид:
=СЧЁТЕСЛИ(диапазон;критерий)
Аргумент «Диапазон» представляет собой адрес массива, в котором производится подсчет совпадающих значений.
Аргумент «Критерий» задает условие совпадения. В нашем случае он будет представлять собой координаты конкретных ячеек первой табличной области.
- Выделяем первый элемент дополнительного столбца, в котором будет производиться подсчет количества совпадений. Далее щелкаем по пиктограмме «Вставить функцию».
- Происходит запуск Мастера функций. Переходим в категорию «Статистические». Находим в перечне наименование «СЧЁТЕСЛИ». После его выделения щелкаем по кнопке «OK».
- Происходит запуск окна аргументов оператора СЧЁТЕСЛИ. Как видим, наименования полей в этом окне соответствуют названиям аргументов.
Устанавливаем курсор в поле «Диапазон». После этого, зажав левую кнопку мыши, выделяем все значения столбца с фамилиями второй таблицы. Как видим, координаты тут же попадают в указанное поле. Но для наших целей следует сделать данный адрес абсолютным. Для этого выделяем данные координаты в поле и жмем на клавишу F4.
Как видим, ссылка приняла абсолютную форму, что характеризуется наличием знаков доллара.
Затем переходим к полю «Критерий», установив туда курсор. Щелкаем по первому элементу с фамилиями в первом табличном диапазоне. В данном случае оставляем ссылку относительной. После того, как она отобразилась в поле, можно щелкать по кнопке «OK».
- В элемент листа выводится результат. Он равен числу «1». Это означает, что в перечне имен второй таблицы фамилия «Гринев В. П.», которая является первой в списке первого табличного массива, встречается один раз.
- Теперь нам нужно создать подобное выражение и для всех других элементов первой таблицы. Для этого выполним копирование, воспользовавшись маркером заполнения, как это мы уже делали прежде. Ставим курсор в нижнюю правую часть элемента листа, который содержит функцию СЧЁТЕСЛИ, и после преобразования его в маркер заполнения зажимаем левую кнопку мыши и тянем курсор вниз.
- Как видим, программа произвела вычисление совпадений, сравнив каждую ячейку первой таблицы с данными, которые расположены во втором табличном диапазоне. В четырех случаях результат вышел «1», а в двух случаях – «0». То есть, программа не смогла отыскать во второй таблице два значения, которые имеются в первом табличном массиве.
Конечно, данное выражение для того, чтобы сравнить табличные показатели, можно применять и в существующем виде, но есть возможность его усовершенствовать.
Сделаем так, чтобы те значения, которые имеются во второй таблице, но отсутствуют в первой, выводились отдельным списком.
- Прежде всего, немного переработаем нашу формулу СЧЁТЕСЛИ, а именно сделаем её одним из аргументов оператора ЕСЛИ. Для этого выделяем первую ячейку, в которой расположен оператор СЧЁТЕСЛИ. В строке формул перед ней дописываем выражение «ЕСЛИ» без кавычек и открываем скобку. Далее, чтобы нам легче было работать, выделяем в строке формул значение «ЕСЛИ» и жмем по иконке «Вставить функцию».
- Открывается окно аргументов функции ЕСЛИ. Как видим, первое поле окна уже заполнено значением оператора СЧЁТЕСЛИ. Но нам нужно дописать кое-что ещё в это поле. Устанавливаем туда курсор и к уже существующему выражению дописываем «=0» без кавычек.
После этого переходим к полю «Значение если истина». Тут мы воспользуемся ещё одной вложенной функцией – СТРОКА. Вписываем слово «СТРОКА» без кавычек, далее открываем скобки и указываем координаты первой ячейки с фамилией во второй таблице, после чего закрываем скобки. Конкретно в нашем случае в поле «Значение если истина» получилось следующее выражение:
СТРОКА(D2)
Теперь оператор СТРОКА будет сообщать функции ЕСЛИ номер строки, в которой расположена конкретная фамилия, и в случае, когда условие, заданное в первом поле, будет выполняться, функция ЕСЛИ будет выводить этот номер в ячейку. Жмем на кнопку «OK».
- Как видим, первый результат отображается, как «ЛОЖЬ». Это означает, что значение не удовлетворяет условиям оператора ЕСЛИ. То есть, первая фамилия присутствует в обоих списках.
- С помощью маркера заполнения, уже привычным способом копируем выражение оператора ЕСЛИ на весь столбец. Как видим, по двум позициям, которые присутствуют во второй таблице, но отсутствуют в первой, формула выдает номера строк.
- Отступаем от табличной области вправо и заполняем колонку номерами по порядку, начиная от 1. Количество номеров должно совпадать с количеством строк во второй сравниваемой таблице. Чтобы ускорить процедуру нумерации, можно также воспользоваться маркером заполнения.
- После этого выделяем первую ячейку справа от колонки с номерами и щелкаем по значку «Вставить функцию».
- Открывается Мастер функций. Переходим в категорию «Статистические» и производим выбор наименования «НАИМЕНЬШИЙ». Щелкаем по кнопке «OK».
- Функция НАИМЕНЬШИЙ, окно аргументов которой было раскрыто, предназначена для вывода указанного по счету наименьшего значения.
В поле «Массив» следует указать координаты диапазона дополнительного столбца «Количество совпадений», который мы ранее преобразовали с помощью функции ЕСЛИ. Делаем все ссылки абсолютными.
В поле «K» указывается, какое по счету наименьшее значение нужно вывести. Тут указываем координаты первой ячейки столбца с нумерацией, который мы недавно добавили. Адрес оставляем относительным. Щелкаем по кнопке «OK».
- Оператор выводит результат – число 3. Именно оно наименьшее из нумерации несовпадающих строк табличных массивов. С помощью маркера заполнения копируем формулу до самого низа.
- Теперь, зная номера строк несовпадающих элементов, мы можем вставить в ячейку и их значения с помощью функции ИНДЕКС. Выделяем первый элемент листа, содержащий формулу НАИМЕНЬШИЙ. После этого переходим в строку формул и перед наименованием «НАИМЕНЬШИЙ» дописываем название «ИНДЕКС» без кавычек, тут же открываем скобку и ставим точку с запятой (;). Затем выделяем в строке формул наименование «ИНДЕКС» и кликаем по пиктограмме «Вставить функцию».
- После этого открывается небольшое окошко, в котором нужно определить, ссылочный вид должна иметь функция ИНДЕКС или предназначенный для работы с массивами. Нам нужен второй вариант. Он установлен по умолчанию, так что в данном окошке просто щелкаем по кнопке «OK».
- Запускается окно аргументов функции ИНДЕКС. Данный оператор предназначен для вывода значения, которое расположено в определенном массиве в указанной строке.
Как видим, поле «Номер строки» уже заполнено значениями функции НАИМЕНЬШИЙ. От уже существующего там значения следует отнять разность между нумерацией листа Excel и внутренней нумерацией табличной области. Как видим, над табличными значениями у нас только шапка. Это значит, что разница составляет одну строку. Поэтому дописываем в поле «Номер строки» значение «-1» без кавычек.
В поле «Массив» указываем адрес диапазона значений второй таблицы. При этом все координаты делаем абсолютными, то есть, ставим перед ними знак доллара уже ранее описанным нами способом.
Жмем на кнопку «OK».
- После вывода результат на экран протягиваем функцию с помощью маркера заполнения до конца столбца вниз. Как видим, обе фамилии, которые присутствуют во второй таблице, но отсутствуют в первой, выведены в отдельный диапазон.
Способ 5: сравнение массивов в разных книгах
При сравнении диапазонов в разных книгах можно использовать перечисленные выше способы, исключая те варианты, где требуется размещение обоих табличных областей на одном листе. Главное условие для проведения процедуры сравнения в этом случае – это открытие окон обоих файлов одновременно. Для версий Excel 2013 и позже, а также для версий до Excel 2007 с выполнением этого условия нет никаких проблем. Но в Excel 2007 и Excel 2010 для того, чтобы открыть оба окна одновременно, требуется провести дополнительные манипуляции. Как это сделать рассказывается в отдельном уроке.
Урок: Как открыть Эксель в разных окнах
Как видим, существует целый ряд возможностей сравнить таблицы между собой. Какой именно вариант использовать зависит от того, где именно расположены табличные данные относительно друг друга (на одном листе, в разных книгах, на разных листах), а также от того, как именно пользователь желает, чтобы это сравнение выводилось на экран.