Достаточно часто при импорте таблиц Excel образуются пустые строки. В маленьких таблицах их очень просто удалить вручную, так как их видно на странице. Но в случае с большими чистые ячейки могут затеряться на фоне другой информации. В любом случае их необходимо удалить и сделать это можно в автоматическом режиме. Само приложение имеет специальные функции, которые облегчают пользователю рутинную работу.
Выборка ячеек
Самый простой способ удалить пустые строки в Excel — это сделать выборку. Но ее не стоит делать в очень больших таблицах на несколько листов. Дело в том, что при удалении незаполненных ячеек таким способом, при ее наличии в строке с информацией, удалится вся строчка. И, таким образом, потеряется важная информация, которую пользователь не сразу заметит в большом объеме.
Делается выборка по ячейкам следующим образом:
- Выделить курсором всю таблицу.
- Нажать на кнопку F5.
- Откроется диалоговое окно, в котором необходимо нажать на “Выделить”.
- Отметить пункт “Пустые ячейки”.
- Найти незаполненное звено в любом месте и нажать “Удалить” на клавиатуре. В появившемся окне выбрать пункт “Строку”.
После этого все строчки с чистыми ячейками будут удалены автоматически. В приведенном примере видно, что от всей таблицы осталась только одна строчка, так как именно в ней все было заполнено. Удалить пустые столбцы можно таким же способом.
Использование ключевого столбца
Ключевой столбец помогает определить, чистая строка или нет. Также важно сохранять порядок строчек, именно поэтому простая сортировка не поможет. Стирание происходит по следующей схеме:
- Сначала нужно определить, какой столбец будем считать ключевым.
- При помощи мышки выделить всю таблицу.
- Задать к выделению фильтр, расположенный на верхней панели программы.
- Задать параметры для столбца, где присутствует нумерация (кликнуть «Выделить все», опуститься в самый низ списка и выбрать «пустые»).
- Выделить все ненужные строки. Теперь это намного проще, так как остались только они.
- Стереть кликом по правой кнопке мышки и выбором пункта “Удалить строки” (тут же можно выбрать «Удалить столбцы»).
- Очистить таблицу от фильтра, чтобы показались скрытые данные.
Этот способ хорош тем, что не устраняет строчки только из-за наличия не заполненной группы. Вся информация остается на своих местах.
Без ключевого столбца
Такой метод удаления чистых ячеек поможет в том случае, если в таблице много строк, не заполненных информацией и расположенных по разным столбцам. Без ключевого столбца удалятся как раз строчки, которые вообще не были заполнены. Все делается следующим образом:
- В самом конце таблицы добавить новый чистый столбик и назвать его “Счетчик” или по-другому.
- В первое звено вставить формулу =СЧИТАТЬПУСТОТЫ(A2:C2). В скобках устанавливаем диапазон поиска. Она посчитает количество незаполненных ячеек. В нашем случае всего 3 столбца, поэтому 3 будет считаться полностью незаполненной строкой.
- Добавить формулу во весь новый столбик.
- Применить фильтр к ключевому столбцу со следующими данными. Стоит отметить, что цифра 3 как раз и означает строку без информации.
- Удалить все ненужное простым выделением, затем вспомогательный столбец и фильтр.
Использование сортировки
Сортировка помогает сместить все ненужное вниз, после чего его можно легко удалить. Для этого необходимо выделить всю таблицу и кликнуть по ней правой кнопкой мышки. Из выпадающего меню выбрать пункт “Сортировка”.
После чего отсортировать от большего к меньшему или по алфавиту. В итоге все ненужное сместиться вниз. Далее достаточно выделить требуемое и удалить строки в таблице Excel.
Использование макроса
Макрос позволяет выделить и удалить пустые строчки автоматически. Чтобы его использовать, необходимо сделать следующее:
- Открыть разработчик комбинацией клавиш Alt+F11.
- Создать новый модуль для используемой книги таблиц.
- Вставить макрос:
Sub SelectLine() Dim i As Long Dim diapaz1 As Range Dim diapaz2 As Range Set diapaz1 = Application.Range(ActiveSheet.Range("A1"), _ ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell)) For i = 1 To diapaz1.Rows.Count If WorksheetFunction.CountA(diapaz1.Rows(i).EntireRow) = 0 Then If diapaz2 Is Nothing Then Set diapaz2 = diapaz1.Rows(i).EntireRow Else Set diapaz2 = Application.Union(diapaz2, diapaz1.Rows(i).EntireRow) End If End If Next If diapaz2 Is Nothing Then MsgBox "Не найдено ни одной не заполненной строки!" Else diapaz2.Select End If End Sub
Теперь, чтобы выделить пустые ячейки, достаточно зайти в разработчик, перейти в макросы и запустить созданный. Для переменной диапазон1 необходимо присвоить значения ячеек между первой и последней в таблице.
Этот макрос только выделяет пустые ячейки. Но можно таким же образом массово их удалить. Для этого требуется использовать тот же макрос, но заменить сроку diapaz2.Select на diapaz2.[Delete]. После внесенных изменений все будет выделяться и удаляться автоматически.
Формула массива
Формула массива действует следующим образом:
- Берётся два диапазона. Первый это исходная таблица, второй новый столбец, в котором после действия формулы переместятся все данные.
- Для примера требуется дать столбцам имена следующим образом.
- В чистый столбец в первую строчку вставить формулу:
=ЕСЛИ(СТРОКА() — СТРОКА (БезПустых) +1> ЧСТРОК( Пустые) — СЧИТАТЬПУСТОТЫ (Пустые);"«; ДВССЫЛ ( АДРЕС (НАИМЕНЬШИЙ ((ЕСЛИ (Пустые <>»"; СТРОКА (Пустые); СТРОКА()+ ЧСТРОК( Пустые))); СТРОКА() — СТРОКА (БезПустых)+1); СТОЛБЕЦ( Пустые);4))
- Активировать ее сочетанием клавиш Ctrl+Shift+Enter.
- Растянуть формулу по всему столбцу.
- После чего, он автоматически заполнится данными.