Как удалить повторяющиеся значения в Excel по нескольким столбцам: полное руководство

Почему стандартное удаление дублей в Excel не работает с несколькими столбцами?

Вы когда-нибудь сталкивались с ситуацией, когда в таблице Excel есть строки с одинаковыми данными в нескольких столбцах, но стандартная функция Удалить дубликаты из меню Данные не даёт нужного результата? Например, у вас есть список заказов с полями "ФИО клиента", "Дата" и "Сумма", и нужно оставить только уникальные комбинации ФИО+Дата, игнорируя сумму. Или база товаров, где дубли определяются по Артикул+Цвет+Размер, а остальные столбцы (цена, остаток) могут отличаться.

Проблема в том, что Excel по умолчанию ищет полные дубли строк — то есть совпадения во всех выделенных столбцах одновременно. Если же вам нужно удалить повторяющиеся значения только по части столбцов, сохраняя уникальные комбинации, стандартный инструмент бесполезен. В этой статье разберём 5 рабочих методов: от простых формул до автоматизации через Power Query и VBA, которые работают в Excel 2013–2026 и Office 365.

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

📊 Какие дубли вам нужно удалить?
Полные копии строк
Дубли по 2-3 столбцам (остальные игнорировать)
Дубли с учётом регистра
Дубли в одном столбце, но с проверкой по другому

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

Если вам нужно сохранить первое вхождение дублирующейся комбинации и удалить все последующие, этот способ подойдёт лучше всего. Мы будем использовать комбинацию функций СЦЕПИТЬ (или CONCAT в новых версиях) и ЕСЛИОШИБКА + ПОИСКПОЗ.

Допустим, у вас есть таблица с данными в столбцах A:D, и дубли нужно искать по столбцам A (ФИО) и B (Дата). Действуйте так:

  1. Добавьте вспомогательный столбец E и введите в E2 формулу:

    =СЦЕПИТЬ($A2; "|"; $B2)

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

  2. Растяните формулу на все строки данных.

  3. Добавьте ещё один столбец F с формулой для поиска дублей:

    =ЕСЛИОШИБКА(ПОИСКПОЗ(E2;$E$2:E2;0);"Уникальный")

    Эта формула вернёт номер строки первого вхождения комбинации или слово "Уникальный", если комбинация встречается впервые.

  4. Отфильтруйте таблицу по столбцу F, оставив только строки со значением "Уникальный".

  5. Скопируйте отфильтрованные данные в новое место и удалите вспомогательные столбцы.

⚠️ Внимание: Если в ваших данных есть пустые ячейки, функция СЦЕПИТЬ может работать некорректно. В этом случае замените её на:

=СЦЕПИТЬ(ЕСЛИ($A2="";"";$A2); "|"; ЕСЛИ($B2="";"";$B2))

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

Проверьте регистр текста (Excel различает "Иванов" и "иванов")

Сохраните резервную копию файла

Удалите ненужные пробелы функцией СЖПРОБЕЛЫ

-->

Метод 2: Удаление дублей с помощью условного форматирования

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

Инструкция:

  1. Выделите диапазон данных (например, A2:D100).

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

  3. В выпадающем списке выберите формат для дублей (например, светло-красную заливку).

  4. Excel выделит все строки, где все ячейки в строке полностью совпадают. Но нам нужно выделение по части столбцов, поэтому:

  5. Создайте вспомогательный столбец (как в Методе 1) и примените условное форматирование только к нему, используя формулу:

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

Теперь все дублирующиеся комбинации будут подсвечены. Вы можете отсортировать данные по цвету (вкладка Данные → Сортировка) и удалить ненужные строки.

=И(СЧЁТЕСЛИ($A$2:$A$100;$A2)>1; $B2="нужный_домен")
-->

Сравнение методов: какой выбрать для вашей задачи?

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

Критерий Формулы (Метод 1) Условное форматирование Power Query VBA Сводная таблица
Скорость обработки Средняя (зависит от объёма) Медленная (только визуализация) Быстрая (оптимизировано) Мгновенная Быстрая
Сохранение первого/последнего вхождения Первого Нет Настраивается Настраивается Нет
Работа с большими данными (100к+ строк) Тормозит Не подходит Идеально Хорошо Хорошо
Требует знаний Базовые навыки Минимальные Средние Продвинутые Базовые
Сохранение исходных данных Да (копирование) Да Да (новый лист) Да (по коду) Нет

Из таблицы видно, что для одноразовой обработки небольших таблиц (до 10 000 строк) подойдут формулы или сводная таблица. Если же вам нужно регулярно очищать большие базы данных, лучше освоить Power Query или VBA — эти инструменты справляются с миллионами строк за секунды.

Метод 3: Удаление дублей через Power Query (самый мощный способ)

Power Query (в новых версиях Excel называется Получить и преобразовать данные) — это инструмент для продвинутой обработки данных, который позволяет удалять дубли по нескольким столбцам буквально в два клика. Главное преимущество: он не тормозит даже с таблицами на миллион строк.

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

  1. Выделите вашу таблицу и нажмите Данные → Получить данные → Из таблицы/диапазонаExcel 2016+).

  2. Откроется редактор Power Query. Выделите столбцы, по которым нужно искать дубли (зажмите Ctrl для множественного выбора).

  3. На вкладке Главная нажмите Удалить строки → Удалить дубликаты.

  4. Нажмите Закрыть и загрузить — Excel создаст новый лист с очищенными данными.

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

Как сохранить результат обратно в исходную таблицу?

Чтобы заменить исходные данные очищенными, в окне Импорт данных выберите Таблица и укажите диапазон исходной таблицы. Excel предложит её заменить. Подтвердите действие — но помните, что это неотменимая операция!

Преимущества Power Query:

  • 🔹 Работает с любым количеством строк (тестировано на 5 млн записей).
  • 🔹 Можно настроить несколько правил очистки (например, сначала удалить пустые строки, потом дубли).
  • 🔹 Сохраняет историю преобразований — можно повторно применить те же действия к новым данным.
  • 🔹 Поддерживает объединение данных из нескольких файлов перед удалением дублей.

Метод 4: Автоматизация через VBA (для опытных пользователей)

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

Sub УдалитьДублиПоСтолбцам()

Dim rng As Range, cell As Range

Dim dict As Object

Set dict = CreateObject("Scripting.Dictionary")

Dim lastRow As Long, key As String

' Определяем последний ряд с данными в столбце A

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

' Проходим по данным с конца (чтобы не сбивались номера строк при удалении)

For i = lastRow To 2 Step -1

' Формируем уникальный ключ из значений столбцов A и B

key = Cells(i, 1).Value & "|" & Cells(i, 2).Value

' Если ключ уже есть в словаре, удаляем строку

If dict.exists(key) Then

Rows(i).Delete

Else

dict.Add key, 1

End If

Next i

MsgBox "Дубли удалены!", vbInformation

End Sub

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

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.

  2. Вставьте код в новый модуль (Insert → Module).

  3. Настройте столбцы в строке key = Cells(i, 1).Value & "|" & Cells(i, 2).Value (цифры 1 и 2 — номера столбцов).

  4. Запустите макрос нажатием F5.

⚠️ Внимание: Макрос удаляет строки без возможности отмены (Ctrl+Z не работает). Всегда делайте резервную копию данных перед запуском!

Метод 5: Удаление дублей с помощью сводной таблицы (альтернативный способ)

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

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

  1. Выделите исходные данные (включая заголовки).

  2. Нажмите Вставка → Сводная таблица.

  3. В настройках сводной таблицы перетащите все столбцы, по которым ищутся дубли, в область Строки.

  4. Добавьте любой столбец в область Значения (например, Сумма или Количество).

  5. Excel автоматически сгруппирует данные по уникальным комбинациям. Скопируйте полученные строки в новый лист.

Преимущества метода:

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

Недостатки:

  • 🔸 Не сохраняет исходный порядок строк.
  • 🔸 Не подходит, если нужно оставить конкретное вхождение (первое/последнее).

Частые ошибки и как их избежать

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

  1. Excel не находит дубли, хотя они есть.

    Причина: в данных есть скрытые символы (пробелы, неразрывные пробелы, переносы строк). Решение: примените функцию СЖПРОБЕЛЫ и замените все непечатаемые символы:

    =ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);СИМВОЛ(160);" ");СИМВОЛ(10);"")

  2. Удаляются не те строки.

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

  3. Excel тормозит или вылетает.

    Причина: слишком большой объём данных для формул. Решение: используйте Power Query или VBA — они оптимизированы для работы с миллионами строк.

  4. Дубли удаляются с учётом регистра.

    Причина: Excel по умолчанию различает "Иванов" и "иванов". Решение: приведите все данные к одному регистру функцией ПРОПИСН или СТРОЧН перед поиском дублей.

=ЕСЛИ(И(НЕ(ПОИСК("Иванов";A2)=0); НЕ(ПОИСК("И.А.";A2)=0));"Дубль";"Уникальный")
-->

FAQ: Ответы на частые вопросы

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

Да, это можно сделать через Power Query или сводную таблицу. В Power Query:

  1. Загрузите данные в редактор.
  2. Отсортируйте таблицу по столбцу с значениями (по убыванию).
  3. Удалите дубли по нужным столбцам — останется строка с максимальным значением.

В сводной таблице добавьте столбец с значениями в область Значения и выберите агрегацию Максимум.

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

Соберите данные на один лист с помощью Power Query:

  1. Создайте новый запрос Из таблицы/диапазона для каждого листа.
  2. В редакторе Power Query нажмите Добавить запрос → Объединить → Добавление.
  3. Объедините все запросы в один, затем удалите дубли.
Почему после удаления дублей остаются пустые строки?

Это происходит, если в исходных данных были пустые ячейки, а вы удаляли дубли по формуле, которая их игнорировала. Решение:

  1. Перед удалением дублей заполните пустые ячейки нулями или текстовым значением (например, "N/A").
  2. Используйте функцию ЕПУСТО для проверки:
    =ЕСЛИ(ЕПУСТО(A2);"N/A";A2)
Как удалить дубли в Google Таблицах?

В Google Sheets алгоритм аналогичен:

  1. Выделите данные.
  2. Нажмите Данные → Очистить данные → Удалить дубликаты.
  3. Отметьте галочками столбцы для проверки.

Для удаления дублей по части столбцов используйте формулу:

=UNIQUE({A2:A100&"|"&B2:B100})

Можно ли вернуть удалённые дубли?

Если вы удалили дубли без резервной копии:

  • 🔹 В Excel нажмите Ctrl+Z (отмена) сразу после операции.
  • 🔹 Если файл сохранён, попробуйте восстановить предыдущую версию через Файл → Сведения → Управление версиейOneDrive/SharePoint).
  • 🔹 Для Google Sheets откройте Файл → История версий.

⚠️ После закрытия файла отмена (Ctrl+Z) перестаёт работать!