Как в Excel вывести одинаковые значения: от простых фильтров до продвинутых формул

Работа с дублирующимися данными в Microsoft Excel — одна из самых распространённых задач при анализе таблиц.hether вы сверяете списки клиентов, ищете повторяющиеся транзакции или очищаете базу от избыточных записей, умение быстро находить и выводить одинаковые значения экономит часы ручной работы. Однако не все пользователи знают, что в Excel существует как минимум 7 различных способов решения этой задачи — от элементарных инструментов вроде фильтра до сложных формул массивов и Power Query.

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

Важно: все примеры в статье актуальны для Excel 2019–2023 и Microsoft 365. Для старых версий (2010–2016) часть методов может потребовать адаптации — мы отдельно укажем такие случаи.

1. Условное форматирование: быстрый визуальный поиск дубликатов

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

Как применить:

  • 📌 Выделите диапазон ячеек, где нужно искать дубликаты (например, столбец A2:A100).
  • 🎨 Перейдите на вкладку Главная → Условное форматирование → Правила выделения ячеек → Повторяющиеся значения.
  • 🔴 В окне выберите формат (например, светло-красную заливку) и нажмите ОК.

Excel автоматически подсветит все ячейки, содержимое которых встречается в выделенном диапазоне более одного раза. Важный нюанс: метод учитывает регистр! Слова "Иванов" и "иванов" будут считаться разными значениями.

📊 Как часто вы сталкиваетесь с дубликатами в Excel?
Ежедневно
1-2 раза в неделю
Редко
Никогда

2. Фильтр данных: вывод дубликатов в отдельный список

Когда нужно не только увидеть, но и выделить дубликаты для дальнейшей работы (например, копирования или удаления), используйте встроенный фильтр. Этот способ подходит для таблиц среднего размера (до 10–15 тыс. строк).

Алгоритм действий:

  1. Выделите заголовок столбца + данные (например, A1:A100).
  2. Нажмите Данные → Фильтр (или сочетание Ctrl+Shift+L).
  3. Откройте выпадающий список в заголовке столбца и выберите Фильтр по цвету → Пользовательский фильтр.
  4. В окне фильтра установите условие: "Значение ячейки" → "равно" → [выберите ячейку с дублирующимся значением].

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

Удалите пустые строки и столбцы|Преобразуйте текст в одинаковый регистр (если нужно игнорировать регистр)|Проверьте отсутствие скрытых символов (пробелов, табуляций)|Создайте резервную копию таблицы-->

3. Формулы для поиска дубликатов: СЧЁТЕСЛИ и ЕСЛИ

Для гибкого анализа дубликатов подойдут формулы. Рассмотрим два варианта: простой (для одного столбца) и продвинутый (для поиска повторяющихся строк).

Вариант 1. Поиск дубликатов в одном столбце

Используйте функцию СЧЁТЕСЛИ:

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

Введите эту формулу в ячейку рядом с первой строкой данных (например, B2) и растяните вниз. В столбце B появятся метки "Дубликат" для всех повторяющихся значений.

Вариант 2. Поиск дублирующихся строк (по нескольким столбцам)

Здесь поможет комбинация функций СЧЁТЕСЛИМН и ТЕКСТСОЕД:

=ЕСЛИ(СЧЁТЕСЛИМН($A$2:$A$100; A2; $B$2:$B$100; B2; $C$2:$C$100; C2)>1; "Дубликат"; "")
Примечание: для больших таблиц (более 10 тыс. строк) эта формула может тормозить. В таком случае используйте метод Power Query (см. раздел 6).

Формула Применение Ограничения
СЧЁТЕСЛИ Поиск дубликатов в одном столбце Не учитывает регистр, медленная на больших данных
СЧЁТЕСЛИМН Поиск дублирующихся строк (по нескольким столбцам) Сложный синтаксис, тормозит на >10 тыс. строк
ЕУНИК (Excel 365) Вывод уникальных значений Только в новых версиях Excel

4. Удаление дубликатов встроенным инструментом

Если ваша задача — полностью удалить повторяющиеся строки, воспользуйтесь встроенной функцией Excel:

  1. Выделите диапазон данных (включая заголовки).
  2. Перейдите в Данные → Удалить дубликаты.
  3. В окне отметьте столбцы, по которым нужно искать повторения (например, "Фамилия" и "Телефон").
  4. Нажмите ОК — Excel оставит только уникальные записи.
⚠️ Внимание: этот метод безвозвратно удаляет дубликаты! Перед использованием создайте резервную копию данных (например, скопируйте лист). Также инструмент не работает с таблицами, содержащими объединённые ячейки.

Альтернативный подход — выделение дубликатов без удаления. Для этого:

  • 🔍 Используйте формулы из раздела 3, чтобы пометить повторяющиеся строки.
  • 📋 Отфильтруйте данные по метке "Дубликат" (см. раздел 2).
  • 📤 Скопируйте отфильтрованные строки в новый лист.

5. Power Query: обработка больших таблиц (100K+ строк)

Для работы с очень большими наборами данных (от 50 тыс. строк) стандартные методы Excel становятся неэффективными. Здесь на помощь приходит Power Query — инструмент для преобразования и очистки данных, встроенный в Excel 2016 и новее.

Пошаговая инструкция:

  1. Выделите вашу таблицу и нажмите Данные → Из таблицы/диапазона (в группе Получить и преобразовать данные).
  2. В открывшемся окне Power Query выберите столбец, по которому нужно искать дубликаты.
  3. Перейдите на вкладку Главная → Группировка.
  4. В окне группировки выберите:
    • 📌 Столбец: тот, по которому ищем дубликаты (например, "Email").
    • 🔢 Новое имя столбца: "Количество повторов".
    • 📊 Операция: "Количество строк".
  • Нажмите ОК, затем отфильтруйте новый столбец по значениям >1.
  • Вернитесь в Excel через Главная → Закрыть и загрузить.
  • Power Query позволяет также объединять данные из нескольких файлов, удалять дубликаты с учётом регистра и даже сравнивать таблицы по ключевым полям. Например, вы можете найти клиентов, которые есть в базе 2023 года, но отсутствуют в базе 2026.

    ⚠️ Внимание: при работе с Power Query следите за типом данных в столбцах. Если Excel воспринимает числа как текст (или наоборот), дубликаты могут не обнаружиться. Используйте кнопку Преобразовать → Формат для корректировки.

    6. Формулы массивов и динамические массивы (Excel 365)

    В последних версиях Excel (2019 и Microsoft 365) появились динамические массивы — функции, которые автоматически "проливаются" на соседние ячейки. Для поиска дубликатов полезны две из них:

    1. Функция УНИК (UNIQUE)

    Выводит список уникальных значений из диапазона:

    =УНИК(A2:A100)

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

    =УНИК(ФИЛЬТР(A2:A100; A2:A100<>""))

    2. Функция ФИЛЬТР (FILTER) для дубликатов

    Чтобы вывести только повторяющиеся значения, комбинируйте ФИЛЬТР и СЧЁТЕСЛИ:

    =ФИЛЬТР(A2:A100; СЧЁТЕСЛИ(A2:A100; A2:A100)>1)
    Примечание: эта формула вернёт каждое повторяющееся значение столько раз, сколько оно встречается в исходном диапазоне. Чтобы получить список без повторов, оберните её в УНИК:
    =УНИК(ФИЛЬТР(A2:A100; СЧЁТЕСЛИ(A2:A100; A2:A100)>1))

    Динамические массивы — самый современный способ работы с дубликатами, но они доступны только в Excel 365 и 2021. Для старых версий используйте Power Query или VBA-скрипты.

    Почему функция УНИК иногда пропускает дубликаты?

    Если в данных есть скрытые символы (например, неразрывные пробелы или символы переноса), функция УНИК может воспринимать их как уникальные значения. Чтобы это исправить, предварительно очистите данные функцией =ПЕЧСИМВ(A2) или инструментом НАЙТИ и ЗАМЕНИТЬ (ищите пробелы и заменяйте на ничего).

    7. VBA-макрос для автоматизации поиска дубликатов

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

    • 🔍 Находит повторяющиеся строки по выбранным столбцам.
    • 📋 Копирует их на новый лист.
    • 🎨 Подсвечивает дубликаты жёлтым цветом.

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

    1. Нажмите Alt + F11, чтобы открыть редактор VBA.
    2. Вставьте новый модуль (Insert → Module) и скопируйте туда код:
    Sub FindDuplicates()
    

    Dim ws As Worksheet, newWs As Worksheet

    Dim lastRow As Long, i As Long

    Dim dict As Object

    Set dict = CreateObject("Scripting.Dictionary")

    ' Настройте имя листа и столбцы для поиска дубликатов

    Set ws = ThisWorkbook.Sheets("Лист1") ' Замените на имя вашего листа

    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

    ' Создаём новый лист для результатов

    On Error Resume Next

    Set newWs = ThisWorkbook.Sheets("Дубликаты")

    On Error GoTo 0

    If newWs Is Nothing Then

    Set newWs = ThisWorkbook.Sheets.Add(After:=ws)

    newWs.Name = "Дубликаты"

    Else

    newWs.Cells.Clear

    End If

    ' Копируем заголовки

    ws.Rows(1).Copy newWs.Rows(1)

    ' Ищем дубликаты по столбцам A и B (измените при необходимости)

    For i = 2 To lastRow

    Dim key As String

    key = ws.Cells(i, 1).Value & "|" & ws.Cells(i, 2).Value ' Столбцы A и B

    If dict.exists(key) Then

    ws.Rows(i).Interior.Color = RGB(255, 255, 0) ' Жёлтый цвет

    ws.Rows(i).Copy newWs.Cells(newWs.Rows.Count, 1).End(xlUp).Offset(1, 0)

    Else

    dict.Add key, 1

    End If

    Next i

    MsgBox "Поиск дубликатов завершён! Результаты на листе 'Дубликаты'.", vbInformation

    End Sub

    Чтобы запустить макрос, вернитесь в Excel и нажмите Alt + F8, выберите FindDuplicates и кликните Выполнить.

    ⚠️ Внимание: перед первым запуском макроса включите поддержку VBA в настройках Excel: Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Настройки макросов → Включить все макросы (не рекомендуется для файлов из ненадёжных источников).

    FAQ: Частые вопросы о поиске дубликатов в Excel

    ❓ Как найти дубликаты в Excel, игнорируя регистр?

    Используйте функцию СЧЁТЕСЛИ с преобразованием текста в верхний регистр:

    =ЕСЛИ(СЧЁТЕСЛИ($A$2:$A$100; ПРОПИСН(A2))>1; "Дубликат"; "")

    Или в Power Query: перед группировкой добавьте столбец с функцией Text.Upper.

    ❓ Почему функция УНИК не находит все дубликаты?

    Вероятные причины:

    • 📌 В данных есть скрытые символы (пробелы, табуляции). Используйте =ПЕЧСИМВ(A2) для очистки.
    • 📌 Разный регистр ("Иванов" vs "иванов"). Приведите текст к одному регистру функцией ПРОПИСН.
    • 📌 В диапазоне есть ошибки (#Н/Д, #ЗНАЧ!). Исключите их функцией ЕОШИБКА.
    ❓ Как сравнить два списка и найти общие значения?

    Используйте функцию ПОИСКПОЗ:

    =ЕСЛИОШИБКА(ПОИСКПОЗ(A2; $B$2:$B$100; 0); ""; "Есть в обоих списках")

    Или в Power Query: загрузите оба списка и выполните слияние (Объединить запросы).

    ❓ Можно ли найти дубликаты по нескольким листам?

    Да, с помощью Power Query:

    1. Загрузите данные с каждого листа (Данные → Из таблицы/диапазона).
    2. Объедините запросы (Объединить → Добавить запрос как новый).
    3. Примените группировку по ключевому столбцу.

    Или используйте VBA-макрос, который обходит все листы книги.

    ❓ Как удалить дубликаты, но оставить первую встреченную запись?

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