Перейти к содержимому

Как удалить дубликаты, но сохранить пустые строки в Excel?

Author: Sun Last Modified: 2025-08-07

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

Если ваша цель — удалить повторяющиеся записи, но сохранить все пустые строки такими, какие они естьсуществует несколько эффективных подходов. Эти методы помогут вам очистить список, не затрагивая пустые строки, обеспечивая более профессиональное управление данными и сохраняя визуальную структуру вашего рабочего листа. Ниже приведены несколько решений для достижения этого в Excel в различных сценариях.
A screenshot showing data in Excel with duplicates and blank rows

Удаление дубликатов с сохранением пустых строк с помощью формулы и функции «Удалить дубликаты»

Выбор и выделение дубликатов с помощью инструмента «Выбрать дублирующиеся и уникальные ячейки»good idea3

Макрос VBA: Удаление дубликатов с автоматическим сохранением пустых строк

Формула Excel/расширенный фильтр: Извлечение уникальных значений с сохранением пустых строк


Удаление дубликатов с сохранением пустых строк с помощью формулы и функции «Удалить дубликаты»

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

Шаг 1. В соседнем столбце (например, если ваши данные начинаются в A1, начните в B1) введите следующую формулу для отметки пустых строк:

=IF(LEN(TRIM(A1))=0,ROW(),"")

Эта формула проверяет, является ли ячейка A1 пустой или содержит только пробелы. Если да, она отображает номер строки; в противном случае оставляет ячейку пустой. Перетащите формулу вниз по всем записям в вашем списке, чтобы отметить каждую пустую строку.
A screenshot of the formula used to identify blank rows in Excel

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

Шаг 2. Выберите оба столбца — исходные данные и новый вспомогательный столбец. Затем перейдите к Данные > Удалить дубликаты. В появившемся диалоговом окне отметьте только поле для вашего исходного столбца (не вспомогательного), чтобы дубликаты были идентифицированы на основе целевых данных.
A screenshot showing the Remove Duplicates button on the Data tab in Excel
A screenshot showing the Remove Duplicates dialog

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

Шаг 3. Появится уведомление, показывающее, сколько дублирующихся значений было удалено. Нажмите ОК для подтверждения и закрытия сообщения.
A screenshot of the Remove Duplicates notification dialog in Excel

На этом этапе список будет отображать все уникальные значения, а также все ранее существующие пустые строки. Вы можете удалить вспомогательный столбец, если он больше не нужен.
A screenshot of the Excel sheet after removing duplicates but keeping blank rows

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

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


Выбор и выделение дубликатов с помощью инструмента «Выбрать дублирующиеся и уникальные ячейки»

Инструмент «Выбрать дублирующиеся и уникальные ячейки» из Kutools for Excel особенно полезен для визуальной идентификации дублирующих записей перед их удалением, при этом пустые строки сохраняются по умолчанию. Это решение отлично подходит, если вы предпочитаете вручную проверять дубликаты перед удалением или просто хотите выделить их для дальнейших действий.

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

1. Выберите диапазон, содержащий ваши данные (включая пустые строки), затем нажмите Kutools > Выбрать > Выбрать дублирующиеся и уникальные ячейки.
A screenshot of the Kutools Select Duplicate & Unique Cells menu in Excel

2. В Выбрать дублирующиеся и уникальные ячейки диалоговое окно выберите Дубликаты (кроме первого) в разделе «Правило». Вы также можете отметить Заливка цветом фона и Цвет шрифта заливки чтобы автоматически выделить дубликаты выбранными вами цветами.
A screenshot of the Select Duplicate & Unique Cells dialog

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

3. Нажмите ОК. Диалоговое окно сообщит, сколько дублирующихся ячеек или строк было найдено и выбрано. Нажмите ОК для закрытия.
A screenshot of the notification dialog in Kutools for Excel after selecting duplicate rows

Теперь дубликаты в вашем списке выделены, что позволяет легко находить и удалять их вручную по мере необходимости, не затрагивая пустые строки.
A screenshot of highlighted duplicate cells in Excel using Kutools

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

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

Kutools для Excel - Усильте Excel более чем 300 необходимыми инструментами. Наслаждайтесь постоянно бесплатными функциями ИИ! Получите прямо сейчас

Демонстрация: Выбор дубликатов и уникальных ячеек с помощью Kutools for Excel

 
Kutools для Excel: Более 300 удобных инструментов у вас под рукой! Наслаждайтесь постоянно бесплатными функциями ИИ! Скачать сейчас!

Макрос VBA: Удаление дубликатов с автоматическим сохранением пустых строк

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

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

1. Перейдите в Разработчик > Visual Basic. В редакторе VBA нажмите Вставить > Модуль. Затем вставьте код ниже в новое окно модуля:

Sub RemoveDuplicatesKeepBlankRows()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim dict As Object
    Dim cell As Range
    Dim checkRange As Range
    Dim i As Long
    
    Set ws = ActiveSheet
    Set dict = CreateObject("Scripting.Dictionary")
    
    lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
    Set checkRange = ws.Range("A1:A" & lastRow)
    
    Application.ScreenUpdating = False
    
    For i = lastRow To 1 Step -1
        Set cell = ws.Cells(i, 1)
        
        If Trim(cell.Value) = "" Then
            ' Blank row, do nothing and keep row
        Else
            If dict.Exists(cell.Value) Then
                cell.EntireRow.Delete
            Else
                dict.Add cell.Value, True
            End If
        End If
    Next i
    
    Application.ScreenUpdating = True
End Sub

2. Чтобы запустить код, нажмите Run button кнопку, или нажмите F5 с выбранным модулем. Макрос немедленно просканирует ваш первый столбец (A), удаляя дублирующиеся значения, оставляя все ранее пустые строки на своих местах.

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

Параметры и советы:

  • Если ваши данные находятся в другом столбце, измените Cells(i,1) на соответствующий номер столбца (например, 2 для B, 3 для C).
  • Макрос начинается с последней строки вверх, предотвращая сдвиг строк, мешающий процессу удаления.
  • Любая ячейка, содержащая только пробелы, также будет считаться пустой. Если вы хотите идентифицировать только действительно пустые ячейки, замените Trim(cell.Value) = "" на cell.Value = "".

Устранение неполадок: Если макрос не работает должным образом, проверьте наличие объединенных ячеек, скрытых строк или неожиданных типов данных в целевом столбце.

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


Формула Excel/расширенный фильтр: Извлечение уникальных значений с сохранением пустых строк

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

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

1. В новом столбце (например, B1) используйте эту формулу (предполагая, что ваши исходные данные находятся в A1:A100):

=IF(TRIM(A1)="","",IF(COUNTIF(A$1:A1,A1)=1,A1,""))

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

Меры предосторожности: Убедитесь, что нет скрытых значений или начальных/конечных пробелов, которые могут повлиять на уникальность. TRIM помогает защититься от этого. Для старых версий Excel методы могут потребовать корректировки или использование вспомогательных столбцов с ручной фильтрацией.

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


Лучшие инструменты для повышения продуктивности в Office

🤖 Kutools AI Aide: Переворот в анализе данных на основе: Интеллектуальное выполнение   |  Сгенерировать код  |  Создать Пользовательские Формулы  |  Анализ данных и генерация диаграмм  |  Вызов Kutools Functions
Популярные функции: Найти, выделить или отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячейки без потери данных   |   Округлить...
Супер ПОИСК: VLookup с несколькими критериями    VLookup с несколькими значениями  |   Многолистовой поиск   |   Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскр. список   |  Зависимый раскрывающийся список   |  Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки   |  Дизайн листа   |   Улучшенная строка формулы    Управление книгой и листами   |  Библиотека автотекста (Auto Text)   |  Выбор даты   |  Объединить данные   |  Шифрование/Расшифровка ячеек    Отправить письмо по списку   |  Супер фильтр   |   Специальный фильтр (фильтр по жирному/курсиву/зачеркиванию...) ...
Топ–15 наборов инструментов: 12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...)   |   50+ типов диаграмм (Диаграмма Ганта, ...)   |   40+ практических формул (Расчет возраста на основе даты рождения, ...)   |   19 инструментов вставки (Вставить QR-код, Вставить изображение из пути, ...)   |  12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...)   |  7 инструментов объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...)   |   ... и многое другое
Используйте Kutools на вашем предпочитаемом языке – поддерживаются английский, испанский, немецкий, французский, китайский и более40 других языков!

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


Office Tab добавляет вкладочный интерфейс в Office, делая вашу работу значительно проще

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна, а не в новых окнах.
  • Увеличьте свою продуктивность на50% и сократите сотни кликов мышью ежедневно!