5 вариантов, как удалить пустые строки в Excel

Форматирование

Доброго времени суток друзья!

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

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

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

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

  1. С помощью сортировки информации;
  2. С помощью наложения фильтра;
  3. С помощью меню выделения группы ячеек;
  4. С помощью формулы массива;
  5. С помощью макроса (VBA).

Сортировка

Это самый простой способ убрать с вашей рабочей области или вычисляемого диапазона чистые строки. Вам нужно выделить диапазон, выбрать на вкладке «Данные» кнопку «Сортировка» и в предоставленном диалоговом окне выбираем вариант сортировки. Программа всё отсортирует по полочкам, и вы можете удалить пустые строки. Будьте внимательны! При использовании сортировки в таблице, которая имеет в своем составе несколько столбцов, вы можете нарушить целостность информации, ваши данные могут сместиться на другие ряды. Для избегания этой проблемы при выборе сортировки, нужно выделить всю таблицу и применить сортировку для всего выделенного объема.


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

Фильтрация

Этот способ также является простым и доступным абсолютно любому пользователю. Для применения фильтра на таблицу вам необходимо на вкладке «Главная» в разделе «Редактирование» нажимать кнопку «Сортировка и фильтр» и в открывшемся пункте меню выбираете «Фильтр». После включения фильтра, вам нужно выбрать столбец и в выпадающем меню указать отображение пустых ячеек. Дольше вы выделяете полученные пустые строки и просто-напросто удаляете их.

Выделение группы ячеек

Я бы и этот способ причислил к достаточно простым и лёгким. Для применения этого варианта вам нужен инструмент «Выделение группы ячеек». Удалить незаполненые строки возможно в несколько этапов:

  • выделение нужного диапазона;
  • выбираем вкладку «Главная», в блоке «Редактирование», кликаем «Найти и выделить» и в выпадающем меню выбираете «Выделение группы ячеек»;

Pustie stroki 4 5 вариантов, как удалить пустые строки в Excel

  • в диалоговом окне, в разделе «Выделить» отмечаем пункт «пустые ячейки»;
  • переходим во вкладку «Главная» и нажимаем кнопку «Ячейки» и выбираем пункт «Удалить»;
  • в диалоговом окне выбираете пункт «удалить ячейки со сдвигом вверх» и все незаполненые строки будут удалены.

Формула массива

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

Итак, в чём же состоит этот способ по удалению пустых строк в Excel и как его применять:

  • для большей простоты дадим имена нашим диапазонам, для этого на вкладке «Формулы» нажимаете «Диспетчер имен» и присваиваете для двух диапазонов имена, например для изначальных данных с пустыми ячейками – «Пустые», а для обработанных – «БезПустых». Обязательное условие в том, что диапазоны должны иметь одинаковый результат, но вот размещение этих диапазонов могут и отличатся, это не критично;
  • следующим шагом это введение в первую ячейку второго диапазона формулу:

=ЕСЛИ( СТРОКА()— СТРОКА (БезПустых) +1> ЧСТРОК( Пустые)— СЧИТАТЬПУСТОТЫ (Пустые);»«; ДВССЫЛ ( АДРЕС (НАИМЕНЬШИЙ ((ЕСЛИ (Пустые <>»»; СТРОКА (Пустые); СТРОКА()+ ЧСТРОК( Пустые))); СТРОКА()— СТРОКА (БезПустых)+1); СТОЛБЕЦ( Пустые);4))). Да я сам знаю, что формула страшная, сам, когда ее увидел, обалдел, тем не менее, она рабочая и исправно выполняет возложенные на нее обязанности;

  • после прописания формулы, вам нужно окончить введение формулы «гарячей» комбинацией клавиш Ctrl+Shift+Enter, это необходимо для того, что бы формула была введена как формула массива. Теперь используя возможность в Excel как авто заполнение (копирование формулы, протягивая за крестик в углу) вы получили исходный диапазон, но уже без пустых ячеек.

Макрос

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

Перейдите во вкладку «Сервис», выберите раздел «Макрос» и нажмите кнопку «Редактор Visual Basic» или нажав ALT+F11 и в появившемся диалоговом окне редактора нажимаем «Insert»«Module». В открывшимся, пустом модуле ставим код:

  • для удаления всех незаполненых рядов в таблице:

1

2

3

4

5

6

7

Sub DeleteEmptyRows()

LastRow=ActiveSheet.UsedRange.Row1+ActiveSheet.UsedRange.Rows.Count

Application.ScreenUpdating=False

Forr=LastRow To1Step1

IfApplication.CountA(Rows(r))=0ThenRows(r).Delete

Next

EndSub

  • для удаления незаполненых клеточек из диапазонов:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

FunctionNoBlanks(DataRange AsRange)AsVariant()

DimNAsLong

Dim N2 AsLong

Dim Rng AsRange

Dim MaxCells AsLong

Dim Result()AsVariant

DimRAsLong

DimCAsLong

MaxCells=Application.WorksheetFunction.Max(_

Application.Caller.Cells.Count,DataRange.Cells.Count)

ReDim Result(1ToMaxCells,1To1)

ForEachRng InDataRange.Cells

IfRng.Value&lt;&gt;vbNullString Then

N=N+1

Result(N,1)=Rng.Value

EndIf

Next Rng

ForN2=N+1ToMaxCells

Result(N2,1)=vbNullString

Next N2

IfApplication.Caller.Rows.Count=1Then

NoBlanks=Application.Transpose(Result)

Else

NoBlanks=Result

EndIf

EndFunction

Вставив код вы можете закрыть редактор и вернутся в Excel. Теперь выбрав «Сервис»— «Макрос»— «Макросы» или просто нажав ALT+F8, в открывшемся диалоговом окне будет перечень всех доступных макросов для использования, включая и тот, что вы создали. Ставите на него курсор, кликаете на кнопку «Выполнить» и задача прописана в макросе будет исполнена. А на этом у меня всё! Я очень надеюсь, что способы удалить пустые строки в Excel, ячейки и столбцы вам понятны. Буду очень благодарен за оставленные комментарии, так как это показатель читаемости и вдохновляет на написание новых статей! Делитесь с друзьями прочитанным и ставьте лайк!

Не забудьте поблагодарить автора!

Оцените статью
Добавить комментарий

  1. Андрей

    Правильная формула будет, исправьте пжлст. Если массив начинался с пустой строки, то первый ставился 0 в отсортированном массиве. Да и с ковычками и тире напутали…
    =ЕСЛИ(СТРОКА() -СТРОКА(БезПустых)+1>ЧСТРОК(Пустые) -СЧИТАТЬПУСТОТЫ(Пустые);»«;ДВССЫЛ(АДРЕС(НАИМЕНЬШИЙ((ЕСЛИ(Пустые<>»»;СТРОКА(Пустые);СТРОКА()+ЧСТРОК(Пустые)+1));СТРОКА() -СТРОКА(БезПустых)+1);СТОЛБЕЦ(Пустые);4)))

    Ответить
    1. Нагаев Артём

      Спасибо ))

      Ответить