KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

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

АвторСунДата изменения

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

исходные данные стрелка вправоудалить пустые ячейки и сдвинуть данные влево

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


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

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

1. Выделите диапазон данных, содержащий пустые ячейки, которые нужно удалить. Это может быть одна строка, несколько строк или вся область. Затем нажмите Ctrl + G, чтобы открыть диалоговое окно «Перейти». В этом окне нажмите кнопку «Выделить», чтобы дополнительно уточнить выделение. См. снимок экрана:
открыть диалоговое окно «Перейти», затем нажать «Выделить»

2. В диалоговом окне «Выделить» установите флажок напротив пункта «Пустые ячейки» и нажмите кнопку «ОК». На этом этапе будут выделены все пустые ячейки в выбранном вами диапазоне. См. снимок экрана:
выбрать параметр «Пустые ячейки» в диалоговом окне

3. После выделения всех пустых ячеек щёлкните правой кнопкой мыши по любой из них и выберите в контекстном меню команду «Удалить». См. снимок экрана:
 выбрать «Удалить» в контекстном меню

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

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

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

Формула Excel — Удаление пустых ячеек и сдвиг данных влево

Когда нужно динамическое решение на основе формул — например, удаление пустых ячеек из строк или столбцов с автоматическим обновлением результатов при изменении исходных данных — функция Excel, такая как ФИЛЬТР (Excel 365 и Excel 2021), становится особенно эффективной. Такой подход идеально подходит для создания нового диапазона без пустых ячеек: он сохраняет исходные данные в неизменном виде и одновременно предоставляет их «сжатую» версию без пропусков, сдвинутую влево, в другом месте листа.

Примечание: Наличие конкретных функций зависит от вашей версии Excel. Функция ФИЛЬТР доступна только в более новых версиях — 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. После вставки кода нажмите кнопку кнопка «Выполнить»«Выполнить»или клавишу F5

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

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

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


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

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

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

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

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  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.

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