Удаление одинаковых фамилий в Excel: 7 рабочих методов

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

В 80% случаев достаточно применить комбинацию условного форматирования и фильтра по цвету, чтобы выявить и удалить точные копии. Но для баз данных свыше 10 000 строк потребуются Power Query или формулы массива. Ниже разберём все методы — от простых до продвинутых, с учётом особенностей Excel 2010–2023 и Excel Online.

1. Быстрое удаление дубликатов через встроенную функцию

Самый очевидный способ — инструмент Удалить дубликаты, доступный в меню Данные → Работа с данными. Он подходит для таблиц до 5 000 строк, где фамилии расположены в одном столбце без дополнительных символов (пробелов, тире, точек).

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

  • 📌 Выделите столбец с фамилиями (включая заголовок).
  • 🔍 Перейдите на вкладку ДанныеУдалить дубликаты.
  • ✅ В окне подтверждения снимите все галочки, кроме столбца с фамилиями.
  • 🗑️ Нажмите ОК — Excel оставит только уникальные значения.

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

📊 Какой версии Excel вы пользуетесь?
2010–2016
2019–2023
Excel Online
MacOS

2. Удаление дубликатов с сохранением первой записи

Если нужно оставить первое вхождение каждой фамилии и удалить все последующие копии, используйте фильтр по цвету:

  1. Выделите столбец с фамилиями.
  2. Перейдите на вкладку ГлавнаяУсловное форматированиеПравила выделения ячеекПовторяющиеся значения.
  3. Выберите формат (например, красный текст) и нажмите ОК.
  4. Вернитесь на вкладку ДанныеФильтр → отфильтруйте по красному цвету.
  5. Выделите отфильтрованные строки (кроме первой) и удалите их.

Этот метод работает даже если фамилии записаны в разном регистре (например, "Петров" и "петров"). Для чувствительности к регистру используйте формулу из раздела 4.

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

-->

3. Удаление дубликатов с помощью Power Query (для больших таблиц)

Power QueryExcel 2016+ называется Получить и преобразовать данные) позволяет обработать миллионы строк без зависаний. Метод подходит для баз данных с 50 000+ записей.

Инструкция:

  1. Выделите таблицу → ДанныеИз таблицы/диапазонаExcel 2016–2019 или Получить данныеИз таблицы/диапазона в Excel 2021+).
  2. В открывшемся окне Power Query выделите столбец с фамилиями → ГлавнаяУдалить строкиУдалить дубликаты.
  3. Нажмите Закрыть и загрузить → выберите Новый лист.

⚠️ Внимание: Power Query создаёт новую таблицу, не изменяя исходные данные. Если нужно заменить оригинал, скопируйте результаты обратно.

Метод Макс. строк Сохраняет ли первую запись Чувствительность к регистру
Встроенная функция Удалить дубликаты ~5 000 Да Нет
Условное форматирование + фильтр ~20 000 Да Нет
Power Query 1 000 000+ Да Да (настраивается)
Формулы массива ~100 000 Да Да

4. Формулы для выборочного удаления дубликатов

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

Пример формулы для столбца B (фамилии) с выводом уникальных значений в столбец D:

=ЕСЛИОШИБКА(ИНДЕКС($B$2:$B$100; ПОИСКПОЗ(0; СЧЁТЕСЛИ($D$1:D1; $B$2:$B$100) + ЕСЛИ($B$2:$B$100=""; 1; 0); 0)); "")

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

  • 🔢 СЧЁТЕСЛИ подсчитывает вхождения каждой фамилии в столбце D.
  • 📍 ПОИСКПОЗ находит первую фамилию, которая ещё не записана в D.
  • 📋 ИНДЕКС извлекает это значение.

⚠️ Внимание: Формулу нужно вводить как формулу массиваExcel 2019+ просто нажмите Enter, в Excel 2010–2016 — Ctrl+Shift+Enter).

Как адаптировать формулу для чувствительности к регистру

Замените СЧЁТЕСЛИ на СУММПРОИЗВ с условием:

=СУММПРОИЗВ(--(ТОЧНО($B$2:$B$100; D1)))

Это сравнит фамилии с учётом регистра (например, "Сидоров" ≠ "сидоров").

5. Удаление дубликатов с учётом дополнительных столбцов

Если фамилии дублируются, но связаны с разными данными (например, омонимы с разными телефонами), используйте сводные таблицы или функцию УНИКExcel 365 и Excel 2021).

Способ 1: Сводная таблица

  1. Выделите исходную таблицу → ВставкаСводная таблица.
  2. Перетащите столбец с фамилиями в область Строки.
  3. Добавьте другие столбцы (например, "Телефон") в область Значения и выберите операцию Количество.
  4. Скопируйте уникальные фамилии из сводной таблицы обратно в исходный лист.

Способ 2: Функция УНИК (Excel 365)

=УНИК(B2:B100)

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

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

-->

6. Автоматизация через VBA-скрипт

Для регулярного удаления дубликатов (например, при еженедельном обновлении базы) напишите макрос:

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

Dim rng As Range

Set rng = Range("B2:B" & Cells(Rows.Count, "B").End(xlUp).Row)

rng.RemoveDuplicates Columns:=1, Header:=xlNo

End Sub

Замените "B" на букву вашего столбца. Для запуска макроса нажмите F5.

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

7. Особенности работы с фамилиями на кириллице

При удалении кириллических фамилий Excel может ошибочно воспринимать как дубликаты слова с ё и е (например, "Фёдоров" и "Федоров"). Чтобы этого избежать:

  • 🔤 Замените все "ё" на "е" перед обработкой (используйте НАЙТИ/ЗАМЕНИТЬ).
  • 📏 Настройте чувствительность к регистру в Power Query:
    1. В окне Power Query выделите столбец → ПреобразоватьФорматТекст в нижнем регистре.
    2. Удалите дубликаты, затем верните оригинальный регистр.

FAQ: Частые вопросы

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

Да, используйте сводную таблицу (раздел 5) или функцию УНИКExcel 365). Эти методы позволяют группировать данные по фамилиям без потери информации.

Почему после удаления дубликатов остаются пустые строки?

Это происходит, если в исходных данных были скрытые символы (пробелы, переносы строк). Перед удалением дубликатов примените функцию СЖПРОБЕЛЫ ко всему столбцу или используйте НАЙТИ/ЗАМЕНИТЬ для удаления непечатаемых символов.

Как удалить дубликаты фамилий в Excel Online?

В Excel Online доступна только встроенная функция Удалить дубликаты (меню Данные). Для продвинутых методов (например, Power Query) экспортируйте файл в настольную версию Excel.

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

Нет, после удаления данные восстановить невозможно. Всегда сохраняйте резервную копию файла (Файл → Сохранить как) или используйте методы, которые не изменяют исходную таблицу (например, Power Query или формулы в отдельном столбце).

Почему Excel не видит дубликаты фамилий с одинаковым написанием?

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

  • 🔹 Скрытые символы (пробелы, неразрывные пробелы, символы табуляции). Используйте =КОДСИМВОЛ(ПРАВСИМВ(A1)) для проверки.
  • 🔹 Разный регистр букв (например, "Иванов" и "иванов"). Примените =НИЖНИЙРЕГ(А1) для приведения к нижнему регистру.
  • 🔹 Разные шрифты или форматирование ячеек. Удалите всё форматирование (Главная → Очистить → Очистить форматы).