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

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

Как удалить пустые ячейки и переместить данные влево в Excel?

Author Sun Last modified

Работа с наборами данных в Excel часто приводит к появлению нежелательных пустых ячеек, разбросанных среди ваших данных. Эти пустые места могут нарушать вычисления, сортировку или анализ, особенно если вы хотите, чтобы ваши записи были аккуратно выровнены без пробелов. Удаление каждой пустой ячейки вручную и смещение оставшегося содержимого влево может быть крайне трудоемким и подверженным ошибкам при работе с большим объемом информации. В этом руководстве представлены несколько быстрых и эффективных методов для удаления пустых ячеек в диапазоне данных и перемещения оставшихся ячеек влево, гарантируя, что ваш рабочий лист останется аккуратным и более подходящим для дальнейшей обработки или анализа. Представленные ниже решения учитывают разные потребности — будь то ручной, формула-ориентированный или программируемый подход. Понимание преимуществ и компромиссов каждого метода поможет вам выбрать наиболее подходящий для вашей ситуации.

original data  arrow right delete blank cells and move data left

Функция Перейти - Удаление пустых ячеек и перемещение влево
Формула Excel - Удаление пустых значений и сдвиг данных влево
Код VBA - Автоматическое удаление пустых ячеек и сдвиг данных влево


Функция Перейти - Удаление пустых ячеек и перемещение влево

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

1. Выберите диапазон данных, содержащий пустые ячейки, которые вы хотите удалить. Это может быть одна строка, несколько строк или целая область. Затем нажмите Ctrl + G чтобы отобразить окно Перейти В этом окне нажмите кнопку Специальное для более точного уточнения вашего выбора. См. скриншот:
enable Go To dialog, and click Special

2. В окне Перейти к специальному диалоговое окно, выберите опцию Пустые и нажмите OKЭтот шаг выделит все пустые ячейки в выбранном диапазоне. См. скриншот:
check Blanks option in the dialog box

3. Когда все пустые ячейки выделены, щелкните правой кнопкой мыши на любой из выбранных пустых ячеек и выберите Удалить в контекстном меню. См. скриншот:
 select Delete from the context menu

4. В открывшемся диалоговом окне Удалить выберите опцию Сдвинуть ячейки влево и нажмите OKЭто действие приведет к тому, что все данные будут смещены влево, заполняя пробелы, созданные пустыми ячейками. См. скриншот:
check Shift cells left option in the dialog box

После завершения этих шагов пустые ячейки будут удалены, а оставшиеся данные будут сдвинуты влево, как показано ниже:

original data arrow right delete blank cells and move data left
Этот метод ручного выбора и удаления идеально подходит для быстрого редактирования умеренно больших наборов данных с немедленными видимыми результатами. Однако имейте в виду следующие моменты: если ваш диапазон включает объединенные ячейки, этот метод может вызвать ошибку, а если у вас есть формулы, связанные с ячейками, удаление ячеек может повлиять на ссылки расчетов. Всегда проверяйте структуру данных перед внесением изменений.

Формула Excel - Удаление пустых значений и сдвиг данных влево

Для ситуаций, когда вам нужна динамическая, управляемая формулами система — например, исключение пустых значений из строк или столбцов с автоматическим обновлением результатов при изменении исходных данных — формула FILTER (Excel 365 и Excel 2021) может быть очень эффективной. Этот подход особенно полезен для создания нового диапазона без пустых ячеек, позволяя сохранить исходные данные нетронутыми, получая при этом версию без пробелов в другом месте вашего листа.

Примечание: Конкретные доступные формулы зависят от версии Excel. Функция FILTER доступна только в новых версиях (Excel 365, Excel 2021 и выше).

1. Предположим, что ваши данные находятся в A1:E10 (горизонтально). Чтобы создать новую строку без пробелов, выберите пустую ячейку, где вы хотите получить выходные данные, например F1, и введите следующую формулу:

=FILTER(A1:E1, A1:E1 <> "")

Эта формула собирает только непустые ячейки из A1:E1 и перечисляет их слева направо, начиная с F1.

2. Нажмите Enter, и непустые данные автоматически заполнят новый диапазон слева. Затем протяните или скопируйте формулу вниз.

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

Практический совет: Если вы хотите сохранить только значения в новом диапазоне, после применения формулы скопируйте результаты и используйте Специальная вставка > Значения, чтобы перезаписать исходный диапазон при необходимости. Всегда убедитесь, что ссылки на ячейки скорректированы, если вы копируете формулы в другие области.


Код VBA - Автоматическое удаление пустых ячеек и сдвиг данных влево

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

1. Откройте редактор VBA, нажав Разработчик > Visual Basic. В открывшемся окне Microsoft Visual Basic for Applications нажмите Вставить > Модуль и вставьте код ниже в область модуля:

Sub DeleteBlanksShiftLeft()
    Dim WorkRng As Range
    Dim RowRng As Range
    Dim xTitleId As String
    Dim i As Long, c As Long
    Dim TempList As Collection
    Dim Cell As Range
    xTitleId = "KutoolsforExcel"
    On Error Resume Next
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Select range to process (rows will be processed individually):", xTitleId, WorkRng.Address, Type:=8)
    On Error GoTo 0
    If WorkRng Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    ' Process each row individually
    For Each RowRng In WorkRng.Rows
        Set TempList = New Collection
        ' Collect non-empty values in the row
        For Each Cell In RowRng.Cells
            If Trim(Cell.Value) <> "" Then
                TempList.Add Cell.Value
            End If
        Next Cell
        ' Clear entire row first
        RowRng.ClearContents
        ' Refill row with collected values from left to right
        For i = 1 To TempList.Count
            RowRng.Cells(1, i).Value = TempList(i)
        Next i
    Next RowRng
    Application.ScreenUpdating = True
    MsgBox "All blank cells in rows have been removed and values shifted left.", vbInformation
End Sub 

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

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

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

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


Пакетная вставка пустых строк или столбцов через определенный интервал в диапазоне Excel

Если вы хотите вставлять пустые строки через каждую другую строку, вам, возможно, придется делать это по одной, но функция Вставить пустые строки и столбцы из Kutools для Excel может решить эту задачу за считанные секунды. Нажмите для 30 дней бесплатной пробной версии!
Kutools для Excel: более 300 удобных надстроек для Excel, доступных для бесплатного тестирования без ограничений в течение 30 дней.

Связанные статьи

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

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP по нескольким значениям | Многолистовой поиск | Распознавание нечетких соответствий ...
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ...
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгой и листами | Библиотека автотекста | Выбор даты | Объединить данные | Зашифровать/расшифровать ячейки | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр жирный/курсив/зачеркнутый...) ...
Топ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% и уменьшите количество щелчков мышью на сотни ежедневно!

Все надстройки Kutools. Один установщик

Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.

Excel Word Outlook Tabs PowerPoint
  • Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
  • Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
  • Совместная работа — максимальная эффективность между приложениями Office
  • 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
  • Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек