Функция excel удалить строки

При импорте и копировании таблиц в Excel могут формироваться пустые строки и ячейки. Они мешают работе, отвлекают.

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

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

Чтобы показать на примере, как удалить лишние строки, для демонстрации порядка действий возьмем таблицу с условными данными:

Таблица для примера.

Пример 1. Сортировка данных в таблице. Выделяем всю таблицу. Открываем вкладку «Данные» — инструмент «Сортировка и фильтр» — нажимаем кнопку «Сортировка». Или щелкаем правой кнопкой мыши по выделенному диапазону и делаем сортировку «от минимального к максимальному».

Пример1.

Пустые строки после сортировки по возрастанию оказываются внизу диапазона.

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

Пример 2. Фильтр. Диапазон должен быть отформатирован как таблица с заголовками. Выделяем «шапку». На вкладке «Данные» нажимаем кнопку «Фильтр» («Сортировка и фильтр»). Справа от названия каждого столбца появится стрелочка вниз. Нажимаем – открывается окно фильтрации. Снимаем выделение напротив имени «Пустые».

Пример2.

Таким же способом можно удалить пустые ячейки в строке Excel. Выбираем нужный столбец и фильтруем его данные.

Пример 3. Выделение группы ячеек. Выделяем всю таблицу. В главном меню на вкладке «Редактирование» нажимаем кнопку «Найти и выделить». Выбираем инструмент «Выделение группы ячеек».

Выделение.

В открывшемся окне выбираем пункт «Пустые ячейки».

Пустые ячейки.

Программа отмечает пустые ячейки. На главной странице находим вкладку «Ячейки», нажимаем «Удалить».

Раздел ячейки.

Результат – заполненный диапазон «без пустот».

Внимание! После удаления часть ячеек перескакивает вверх – данные могут перепутаться. Поэтому для перекрывающихся диапазонов инструмент не подходит.

Полезный совет! Сочетание клавиш для удаления выделенной строки в Excel CTRL+«-». А для ее выделения можно нажать комбинацию горячих клавиш SHIFT+ПРОБЕЛ.



Как удалить повторяющиеся строки в Excel?

Чтобы удалить одинаковые строки в Excel, выделяем всю таблицу. Переходим на вкладку «Данные» — «Работа с данными» — «Удалить дубликаты».

Дубликаты.

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

Повторяющиеся значения.

После нажатия ОК Excel формирует мини-отчет вида:

Отчет.

Как удалить каждую вторую строку в Excel?

Проредить таблицу можно с помощью макроса. Например, такого:

Макрос.

А можно ручками. Предлагаем простенький способ, доступный каждому пользователю.

  1. В конце таблицы делаем вспомогательный столбец. Заполняем чередующимися данными. Например, «о у о у о у» и т.д. Вносим значения в первые четыре ячейки. Потом выделяем их. «Цепляем» за черный крестик в правом нижнем углу и копируем буквы до конца диапазона.
  2. Диапазон.

  3. Устанавливаем «Фильтр». Отфильтровываем последний столбец по значению «у».
  4. Фильтрация.

  5. Выделяем все что осталось после фильтрации и удаляем.
  6. Пример3.

  7. Убираем фильтр – останутся только ячейки с «о».

Без пустых строк.

Вспомогательный столбец можно устранить и работать с «прореженной таблицей».

Как удалить скрытые строки в Excel?

Однажды пользователь скрыл некую информацию в строках, чтобы она не отвлекала от работы. Думал, что впоследствии данные еще понадобятся. Не понадобились – скрытые строки можно удалить: они влияют на формулы, мешают.

В тренировочной таблице скрыты ряды 5, 6, 7:

Скрыто.

Будем их удалять.

  1. Переходим на «Файл»-«Сведения»-«Поиск проблем» — инструмент «Инспектор документов».
  2. Инспектор.

  3. В отрывшемся окне ставим галочку напротив «Скрытые строки и столбцы». Нажимаем «Проверить».
  4. Скрытые.

  5. Через несколько секунд программа отображает результат проверки.
  6. Найдено.

  7. Нажимаем «Удалить все». На экране появится соответствующее уведомление.

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

Пример4.

Таким образом, убрать пустые, повторяющиеся или скрытые ячейки таблицы можно с помощью встроенного функционала программы Excel.

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

Содержание

  1. Как НЕ НАДО удалять пустые строки в Excel
  2. Формула для удаления пустых строк в Excel
  3. Как удалить пустые строки в Excel с помощью Power Query
  4. Как удалить строки, если ячейка в определенном столбце пуста
  5. Как удалить лишние строки под данными или скрыть их
  6. Как быстро удалить пустые строки в Excel с помощью VBA
  7. Макрос 1. Удалить пустые строки в выбранном диапазоне
  8. Макрос 2. Удалить все пустые строки в Excel
  9. Макрос 3. Удалить строку, если ячейка пуста
  10. Как добавить макрос в свою книгу
  11. Как удалить пустые строки в Excel с помощью сортировки
  12. Как удалить пустые строки в Excel с помощью фильтрации
  13. Как убрать пустые строки в Excel с помощью выделения группы ячеек
  14. Как удалить пустые строки в Экселе с помощью вспомогательного столбца
  15. Заключение

Как НЕ НАДО удалять пустые строки в Excel

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

  1. Выделить пустую строчку с помощью мыши.
  2. Перейти в раздел «Найти и выделить».
  3. Кликнуть по пункту «Перейти к специальному».
  4. Нажать ЛКМ по слову «Пробел». После этого пустота должна исчезнуть, и таблица преобразится.

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

Обратите внимание! В Excel нельзя удалять пустые строки, выбирая отдельные ячейки в таблице во избежание потери важной информации. Лучше воспользоваться другими методами, которые будут описаны далее.

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

Для выполнения поставленной задачи можно воспользоваться специальной формулой, которая работает во всех версиях программы: =ЕСЛИ(СЧЕТЗ(A2:E2)=0;»Пусто»;»»). А2 и Е2 — это первая и последняя ячейки строки, в которой необходимо убрать пустоты. Аналогичным образом выражение применяется для любого столбца таблицы. Пользователю необходимо поставить курсор мыши в свободную ячейку и прописать данную формулу в строке сверху главного меню. Далее эту формулу потребуется растянуть для всех строк или столбцов таблицы, зажав ЛКМ крестик в правом нижнем углу первой ячейки. После таких манипуляций пустые строчки пропадут.

Как удалить пустые строки в Excel с помощью Power Query

Power Query — это специальный инструмент, который присутствует в версиях Excel, начиная с 2013 года.

Важно! Такой инструмент изменяет форматирование таблицы, заливку ячеек, их размер, ориентацию.

Чтобы удалить пустые ячейки в таблицы, необходимо выполнить несколько простых шагов по алгоритму:

  1. Выделить манипулятором строчку или столбик, в котором есть пустоты, требующие деинсталляции.
  2. В интерфейсе Excel сверху перейти в раздел «Данные».
  3. В графе открывшихся параметров кликнуть по кнопке «Получить данные».
  4. В меню контекстного типа нажать по строке «Из других источников» и далее выбрать вариант «Из таблицы/диапазона». Теперь откроется небольшое меню, где надо поставить галочку рядом с параметром «Таблица с заголовком» и щелкнуть по «ОК».

kak-udalit-pustye-stroki-v-excel-4-varianta-udaleniya-pustyh-strok-v-tablice-excel

Загрузка таблицы в редактор Power Query
  1. Изучить интерфейс открывшегося редактора Power Query.
  2. Кликнуть ЛКМ по кнопке «Удалить строки» в верхней части раздела.
  3. В контекстном меню нажать по «Удалить пустые строки».

kak-udalit-pustye-stroki-v-excel-4-varianta-udaleniya-pustyh-strok-v-tablice-excel

Удаление пустых строчек в редакторе Power Query. Пошаговый алгоритм
  1. Щелкнуть по кнопке «Закрыть и загрузить».
  2. Проверить результат. После проделывания вышеизложенных манипуляций окно редактора должно закрыться, и в таблице пропадут пустые ячейки.

kak-udalit-pustye-stroki-v-excel-4-varianta-udaleniya-pustyh-strok-v-tablice-excel

Финальный результат. Внешний вид таблицы после реализации способа

Дополнительная информация! После реализации рассмотренного способа формат отображения дат и чисел в таблице изменится.

Как удалить строки, если ячейка в определенном столбце пуста

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

  1. Нажать ПКМ по названию столбика, в котором есть пустоты.
  2. В контекстном меню нажать на «Выделить» и в следующем окне указать «Пустые ячейки». После закрытия окошка в выбранном столбце выделятся только пустоты, а ячейки с информацией останутся незатронутыми.
  3. Щелкнуть ПКМ по любой выделенной ячейки и нажать по строчке «Удалить». Откроется небольшое окно, в котором надо поставить тумблер напротив поля «Строки», а затем кликнуть «ОК».
  4. Проверить результат. Строчки, в которых присутствовали пустые ячейки, должны полностью деинсталлироваться из таблицы. Как и говорилось выше, минус метода в том, что ячейки с информацией также удалятся.

Как удалить лишние строки под данными или скрыть их

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

  1. Выделить пустую ячейку ЛКМ и зажать одновременно кнопки «Ctrl+Shift+End». Данная команда выделит оставшиеся ячейки, в которых на самом деле что-то написано.
  2. Кликнуть ПКМ по ячейке и в окошке контекстного типа выбрать вариант «Удалить».
  3. Проверить удалились ли лишние пустоты. Выбранные ячейки со скрытыми данными должны деинсталлироваться, как и в предыдущем методе.

Иногда пользователю не хочется удалять информацию из скрытых ячеек таблицы. В таком случае их можно скрыть. Скрытие строчек в Microsoft Office Excel осуществляется по следующей инструкции:

  1. Выделить ячейку под последней строкой с данными и зажать «Ctrl+Shift+End» для выделения оставшихся лишних пустот.
  2. После выделения всех пустот по любой из них надо кликнуть ПКМ и щелкнуть по варианту «Скрыть».
  3. Можно зажать кнопки «Ctrl+9» для скрытия лишних ячеек.
  4. Зажать «Ctrl+Shift+9», если пустоты нужно будет опять сделать видимыми.

Как быстро удалить пустые строки в Excel с помощью VBA

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

Макрос 1. Удалить пустые строки в выбранном диапазоне

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

kak-udalit-pustye-stroki-v-excel-4-varianta-udaleniya-pustyh-strok-v-tablice-excel

Код программы для деинсталляции пустых строчек в заданном диапазоне

Чтобы ввести макрос в Excel на языке программирования VBA и запустить его, необходимо:

  1. Переключиться в раздел «Разработчик», находящийся в списке параметров сверху главного меню.
  2. Кликнуть по кнопке «Запись макроса».
  3. Скопировать код с изображения выше и ввести его в соответствующее поле.
  4. Сохранить изменения нажатием на «ОК».
  5. Для запуска программы необходимо перейти во вкладку «Макросы», выбрать нужный код по названию созданных, выделить диапазон, в котором предстоит удалить пустоты, и кликнуть «ОК».

Важно! Созданный макрос сохранится в Excel, и его не нужно будет вводить каждый раз для выполнения конкретного действия.

Макрос 2. Удалить все пустые строки в Excel

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

kak-udalit-pustye-stroki-v-excel-4-varianta-udaleniya-pustyh-strok-v-tablice-excel

Макрос для удаления всех пустот на рабочем поле листа Excel

Макрос 3. Удалить строку, если ячейка пуста

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

kak-udalit-pustye-stroki-v-excel-4-varianta-udaleniya-pustyh-strok-v-tablice-excel

Макрос для деинсталляции лишних строк с пустотами со всего рабочего листа

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

Как добавить макрос в свою книгу

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

  1. Открыть лист, в котором нужно удалить какие-либо ячейки.
  2. Зажать клавиши «Alt+F11», чтобы запустить встроенный редактор «Visual Basic».
  3. В графе параметров слева открывшегося окошка нажать по слову «Insert», а затем перейти во вкладку «Module».
  4. Вставить нужный код программы в отобразившееся окошко.
  5. Щелкнуть по F5, чтобы проверить код на работоспособность.
  6. Кликнуть по кнопке «Сохранить» для добавления макроса в свою книгу.

Дополнительная информация! Чтобы активировать созданный макрос в следующий раз, необходимо зайти в книгу, выбрать соответствующую таблицу, зажать «Alt+F8» с клавиатуры, выбрать нужный код и щелкнуть по кнопке «Выполнить».

Как удалить пустые строки в Excel с помощью сортировки

Сортировка данных в таблице помогает удалить пустоты. Данная операция выполняется по алгоритму:

  1. Выделить нужный диапазон ячеек ЛКМ.
  2. Перейти в раздел «Данные» сверху главного меню программы и кликнуть по кнопке «Сортировка».

kak-udalit-pustye-stroki-v-excel-4-varianta-udaleniya-pustyh-strok-v-tablice-excel

Сортировка таблицы значений в Excel
  1. В следующем меню выбрать столбец для отсортировки информации в нем и нажать «ОК».

kak-udalit-pustye-stroki-v-excel-4-varianta-udaleniya-pustyh-strok-v-tablice-excel

Выбор столбца для отсортировки данных
  1. Убедиться, что таблица отсортирована. Пустые строки расположатся под таблицей. Их при необходимости можно будет удалить.

kak-udalit-pustye-stroki-v-excel-4-varianta-udaleniya-pustyh-strok-v-tablice-excel

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

Как удалить пустые строки в Excel с помощью фильтрации

Процесс выполнения поставленной задачи подразделяется на следующие этапы:

  1. Аналогичным образом выделить таблицу и переключиться в раздел «Данные» сверху окна программы.
  2. Теперь вместо сортировки нажать на кнопку «Фильтр».

kak-udalit-pustye-stroki-v-excel-4-varianta-udaleniya-pustyh-strok-v-tablice-excel

Путь к фильтрации данных таблицы в Эксель
  1. В появившемся окошке надо поставить галочку напротив значения «(Пустые)».

kak-udalit-pustye-stroki-v-excel-4-varianta-udaleniya-pustyh-strok-v-tablice-excel

Выбор пустых строк для фильтрации
  1. Проверить, что все пустые ячейки в табличке выделились и удалить их стандартным методом, рассмотренным выше.

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

Обратите внимание! Для деинсталляции пустых ячеек рассмотренным выше способом пользователю потребуется аккуратно отфильтровать каждый столбец в таблице, чтобы не удалить нужную информацию.

Как убрать пустые строки в Excel с помощью выделения группы ячеек

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

  1. Выделить всю таблицу ЛКМ.
  2. Кликнуть по значку лупы графе вкладок сверху окна программы. Это меню «Найти и выделить».
  3. В контекстном меню щелкнуть по строчке «Выделить группу ячеек…».

kak-udalit-pustye-stroki-v-excel-4-varianta-udaleniya-pustyh-strok-v-tablice-excel

Выделение группы ячеек в Эксель
  1. В отобразившемся окне поставить тумблер в поле «Пустые ячейки» и щелкнуть по «ОК». В таблице выделятся все пустоты.

kak-udalit-pustye-stroki-v-excel-4-varianta-udaleniya-pustyh-strok-v-tablice-excel

Выбор пустых ячеек в появившемся окошке
  1. Удалить строку методом пробелов и проверить результат.

kak-udalit-pustye-stroki-v-excel-4-varianta-udaleniya-pustyh-strok-v-tablice-excel

Автоматическое выделение пустот таблицы

Как удалить пустые строки в Экселе с помощью вспомогательного столбца

Для деинсталляции пустот рядом с таблицей можно создать столбец, который будет выступать в роли вспомогательного элемента. Это один из самых быстрых и надежных способов удаления. Чтобы реализовать данный метод, требуется выполнить несколько простых манипуляций по пошаговой инструкции:

  1. Создать справа от исходной таблицы еще один столбик и назвать его, к примеру, «Пустая строка», чтобы не путаться в дальнейшем.
  2. Записать формулу «Считать пустоты», указав соответствующий диапазон, в котором программа выполнит проверку на наличие пустых строк.
  3. Когда пустые строчки будут обнаружены, их останется только выделить и деинсталлировать.

kak-udalit-pustye-stroki-v-excel-4-varianta-udaleniya-pustyh-strok-v-tablice-excel

Подсчет пустот во вспомогательном столбце

Важно! Данная формула выглядит следующим образом: «=СЧИТАТЬПУСТОТЫ(А6:D6)». Вместо букв в скобках указывается диапазон ячеек.

Заключение

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

Оцените качество статьи. Нам важно ваше мнение:

Хитрости »

28 Май 2011              645004 просмотров


Как удалить строки по условию?

Предположу, что почти каждый сталкивался с ситуацией, когда необходимо удалить только определенные строки: имеется большая таблица и необходимо удалить из неё только те строки, которые содержат какое-то слово (цифру, фразу). Для выполнения подобной задачи можно воспользоваться несколькими способами.

Способ первый:
Использовать встроенное средство Excel — фильтр. Сначала его необходимо «установить» на листе:

  • Выделяем таблицу с данными, включая заголовки. Если их нет — то выделяем с самой первой строки таблицы, в которой необходимо удалить данные
  • устанавливаем фильтр:
    • для Excel 2003: ДанныеФильтрАвтофильтр
    • для Excel 2007-2010: вкладка Данные(Data)Фильтр(Filter)(или вкладка Главная(Home)Сортировка и фильтр(Sort&Filter)Фильтр(Filter))

Теперь выбираем условие для фильтра:

  • в Excel 2003 надо выбрать Условие и в появившейся форме выбрать непосредственно условие(«равно», «содержит», «начинается с» и т.д.), а напротив значение в соответствии с условием.
  • Для 2007-2010 Excel нужно выбрать Текстовые фильтры(Text Filters) и либо сразу выбрать одно из предлагаемых условий, либо нажать Настраиваемый фильтр(Custom Filter) и ввести значения для отбора в форме

После этого удалить отфильтрованные строки. В 2007 Excel могут возникнуть проблемы с удалением отфильтрованных строк, поэтому рекомендую сначала так же прочитать статью: Excel удаляет вместо отфильтрованных строк — все?! Как избежать.


 
Способ второй:

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

Sub Del_SubStr()
    Dim sSubStr As String 'искомое слово или фраза(может быть указанием на ячейку)
    Dim lCol As Long      'номер столбца с просматриваемыми значениями
    Dim lLastRow As Long, li As Long
    Dim lMet As Long
    Dim arr
 
    sSubStr = InputBox("Укажите значение, которое необходимо найти в строке", "www.excel-vba.ru", "")
    If sSubStr = "" Then lMet = 0 Else lMet = 1
    lCol = Val(InputBox("Укажите номер столбца, в котором искать указанное значение", "www.excel-vba.ru", 1))
    If lCol = 0 Then Exit Sub
 
    lLastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
    arr = Cells(1, lCol).Resize(lLastRow).Value
    Application.ScreenUpdating = 0
    Dim rr As Range
    For li = 1 To lLastRow 'цикл с первой строки до конца
        If -(InStr(arr(li, 1), sSubStr) > 0) = lMet Then
            If rr Is Nothing Then
                Set rr = Cells(li, 1)
            Else
                Set rr = Union(rr, Cells(li, 1))
            End If
        End If
    Next li
    If Not rr Is Nothing Then rr.EntireRow.Delete
    Application.ScreenUpdating = 1
End Sub

Если значение sSubStr не будет указано, то будут удалены строки, ячейки указанного столбца которых, пустые.
Данный код необходимо поместить в стандартный модуль. Вызвать с листа его можно нажатием клавиш Alt+F8, после чего выбрать Del_SubStr и нажать Выполнить. Если в данном коде в строке
If -(InStr(Cells(li, 1), sSubStr) > 0) = lMet Then
вместо = lMet указать <> lMet, то удаляться будут строки, не содержащие указанное для поиска значение. Иногда тоже удобно.
Но. Данный код просматривает строки на предмет частичного совпадения указанного значения. Например, если Вы укажете текст для поиска «отчет», то будут удалены все строки, в которых встречается это слово(«квартальный отчет», «отчет за месяц» и т.д.). Это не всегда нужно. Поэтому ниже приведен код, который будет удалять только строки, указанные ячейки которых равны конкретно указанному значению:

Sub Del_SubStr()
    Dim sSubStr As String 'искомое слово или фраза(может быть указанием на ячейку)
    Dim lCol As Long 'номер столбца с просматриваемыми значениями
    Dim lLastRow As Long, li As Long
    Dim arr
 
    sSubStr = InputBox("Укажите значение, которое необходимо найти в строке", "www.excel-vba.ru", "")
    lCol = Val(InputBox("Укажите номер столбца, в котором искать указанное значение", "www.excel-vba.ru", 1))
    If lCol = 0 Then Exit Sub
 
    lLastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
    arr = Cells(1, lCol).Resize(lLastRow).Value
 
    Application.ScreenUpdating = 0
    Dim rr As Range
    For li = 1 To lLastRow 'цикл с первой строки до конца
        If CStr(arr(li, 1)) = sSubStr Then
            If rr Is Nothing Then
                Set rr = Cells(li, 1)
            Else
                Set rr = Union(rr, Cells(li, 1))
            End If
        End If
    Next li
    If Not rr Is Nothing Then rr.EntireRow.Delete
    Application.ScreenUpdating = 1
End Sub

Здесь так же, как и в случае с предыдущим кодом можно заменить оператор сравнения(Cells(li, lCol) = sSubStr) с равно на неравенство(Cells(li, lCol) <> sSubStr) и тогда удаляться будут строки, значения ячеек которых не равно указанному.


УДАЛЕНИЕ СТРОК НА ОСНОВАНИИ СПИСКА ЗНАЧЕНИЙ(МНОЖЕСТВЕННЫЕ КРИТЕРИИ)
Иногда бывают ситуации, когда необходимо удалить строки не по одному значению, а по нескольким. Например, если строка содержит или Итог или Отчет. Ниже приведен код, при помощи которого можно удалить строки, указав в качестве критерия диапазон значений.
Значения, которые необходимо найти и удалить перечисляются на листе с именем «Лист2». Т.е. указав на «Лист2» в столбце А(начиная с первой строки) несколько значений — они все будут удалены. Если лист называется иначе(скажем «Соответствия») в коде необходимо будет «Лист2» заменить на «Соответствия». Удаление строк происходит на активном в момент запуска кода листе. Это значит, что перед запуском кода надо перейти на тот лист, строки в котором необходимо удалить.

Sub Del_Array_SubStr()
    Dim sSubStr As String    'искомое слово или фраза
    Dim lCol As Long    'номер столбца с просматриваемыми значениями
    Dim lLastRow As Long, li As Long
    Dim avArr, lr As Long
    Dim arr
 
    lCol = Val(InputBox("Укажите номер столбца, в котором искать указанное значение", "www.excel-vba.ru", 1))
    If lCol = 0 Then Exit Sub
    Application.ScreenUpdating = 0
    lLastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
    'заносим в массив значения листа, в котором необходимо удалить строки
    arr = Cells(1, lCol).Resize(lLastRow).Value
    'Получаем с Лист2 значения, которые надо удалить в активном листе
    With Sheets("Лист2") 'Имя листа с диапазоном значений на удаление
        avArr = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
    End With
    'удаляем
    Dim rr As Range
    For lr = 1 To UBound(avArr, 1)
        sSubStr = avArr(lr, 1)
        For li = 1 To lLastRow 'цикл с первой строки до конца
            If CStr(arr(li, 1)) = sSubStr Then
                If rr Is Nothing Then
                    Set rr = Cells(li, 1)
                Else
                    Set rr = Union(rr, Cells(li, 1))
                End If
            End If
            DoEvents
        Next li
        DoEvents
    Next lr
    If Not rr Is Nothing Then rr.EntireRow.Delete
    Application.ScreenUpdating = 1
End Sub

Чтобы код выше удалял строки не по точному совпадению слов, а по частичному(например, в ячейке записано «Привет, как дела?», а в списке есть слово «привет» — надо удалить, т.к. есть слово «привет»), то надо строку:

If CStr(arr(li, 1)) = sSubStr Then

заменить на такую:

If InStr(1, arr(li, 1), sSubStr, 1) > 0 Then

УДАЛЕНИЕ ИЗ ЛИСТА СТРОК, КОТОРЫХ НЕТ В СПИСКЕ ЗНАЧЕНИЙ(МНОЖЕСТВЕННЫЕ КРИТЕРИИ)

Т.к. в последнее время стало поступать все больше и больше вопросов как не удалять значения по списку, а наоборот — оставить в таблице только те значения, которые перечислены в списке — решил дополнить статью и таким кодом.
Значения, которые необходимо оставить перечисляются на листе с именем «Лист2». Т.е. указав на «Лист2» в столбце А(начиная с первой строки) несколько значений — после работы кода на листе будут оставлены только те строки, в которых присутствует хоть одно из перечисленных в списке значений. Если лист называется иначе(скажем «Соответствия») в коде необходимо будет «Лист2» заменить на «Соответствия». Удаление строк происходит на активном в момент запуска кода листе. Это значит, что перед запуском кода надо перейти на тот лист, строки в котором необходимо удалить.
В отличие от приведенных выше кодов, данный код ориентирован на то, что значения в списке указаны не полностью. Т.е. если необходимо оставить только те ячейки, в которых встречается слово «активы», то в списке надо указать только это слово. В этом случае если в ячейке будет записана фраза «Нематериальные активы» или «Активы сторонние» — эти ячейки не будут удалены, т.к. в них встречается слово «активы». Регистр букв при этом неважен.

'процедура оставляет в листе только те значения, которые перечислены в списке
Sub LeaveOnlyFoundInArray()
    Dim sSubStr As String   'искомое слово или фраза
    Dim lCol As Long        'номер столбца с просматриваемыми значениями
    Dim lLastRow As Long, li As Long
    Dim avArr, lr As Long
    Dim arr
    Dim IsFind As Boolean
 
    lCol = Val(InputBox("Укажите номер столбца, в котором искать указанное значение", "www.excel-vba.ru", 1))
    If lCol = 0 Then Exit Sub
    Application.ScreenUpdating = 0
    lLastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
    'заносим в массив значения листа, в котором необходимо удалить строки
    arr = Cells(1, lCol).Resize(lLastRow).Value
    'Получаем с Лист2 значения, которые надо удалить в активном листе
    With Sheets("Лист2") 'Имя листа с диапазоном значений на удаление
        avArr = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
    End With
    'удаляем
    Dim rr As Range
    For li = 1 To lLastRow 'цикл с первой строки таблицы до конца
        IsFind = False
        For lr = 1 To UBound(avArr, 1) 'цикл по списку значений на удаление
            sSubStr = avArr(lr, 1)
            If InStr(1, arr(li, 1), sSubStr, 1) > 0 Then
                IsFind = True
            End If
            DoEvents
        Next lr
        'если значение таблицы не найдено в списке - удаляем строку
        If Not IsFind Then
            If rr Is Nothing Then
                Set rr = Cells(li, 1)
            Else
                Set rr = Union(rr, Cells(li, 1))
            End If
        End If
        DoEvents
    Next li
    If Not rr Is Nothing Then rr.EntireRow.Delete
    Application.ScreenUpdating = 1
End Sub

Чтобы код выше сравнивал значения таблицы со значениями списка по точному совпадению слов, а не по частичному, то надо строку:

If InStr(1, arr(li, 1), sSubStr, 1) > 0 Then

заменить на такую:

If CStr(arr(li, 1)) = sSubStr Then

Для всех приведенных кодов можно строки не удалять, а скрывать. Для этого надо строку:

If Not rr Is Nothing Then rr.EntireRow.Delete

заменить на такую:

If Not rr Is Nothing Then rr.EntireRow.Hidden = True

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

For li = 1 To lLastRow 'цикл с первой строки до конца

1 — это первая строка; lLastRow — определяется автоматически кодом и равна номеру последней заполненной строки на листе. Если надо начать удалять строки только с 7-ой строки(например, в первых 6-ти шапка), то код будет выглядеть так:

For li = 7 To lLastRow 'цикл с седьмой строки до конца

А если надо удалять только с 3-ей по 300-ю, то код будет выглядеть так:

For li = 3 To 300 'цикл с третьей строки до трехсотой

Так же см.:
Что такое макрос и где его искать?
Что такое модуль? Какие бывают модули?
Как создать кнопку для вызова макроса на листе
Удаление всех пустых строк в таблице
Удаление пустых столбцов на листе
Установить Быстрый фильтр
Фильтр


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Содержание

  • Процесс удаления строк
    • Способ 1: одиночное удаление через контекстное меню
    • Способ 2: одиночное удаление с помощью инструментов на ленте
    • Способ 3: групповое удаление
    • Способ 4: удаление пустых элементов
    • Способ 5: использование сортировки
    • Способ 6: использование фильтрации
    • Способ 7: условное форматирование
  • Вопросы и ответы

Удаление строк в Microsoft Excel

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

Процесс удаления строк

Удаление строчек можно произвести совершенно разными способами. Выбор конкретного решения зависит от того, какие задачи ставит перед собой пользователь. Рассмотрим различные варианты, начиная от простейших и заканчивая относительно сложными методами.

Способ 1: одиночное удаление через контекстное меню

Наиболее простой способ удаления строчек – это одиночный вариант данной процедуры. Выполнить его можно, воспользовавшись контекстным меню.

  1. Кликаем правой кнопкой мыши по любой из ячеек той строки, которую нужно удалить. В появившемся контекстном меню выбираем пункт «Удалить…».
  2. Переход к процедуре удаления через контекстное меню в Microsoft Excel

  3. Открывается небольшое окошко, в котором нужно указать, что именно нужно удалить. Переставляем переключатель в позицию «Строку».
    Выбор объекта удаления в Microsoft Excel

    После этого указанный элемент будет удален.

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

    Удаление строки через панель координат в Microsoft Excel

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

Способ 2: одиночное удаление с помощью инструментов на ленте

Кроме того, эту процедуру можно выполнить с помощью инструментов на ленте, которые размещены во вкладке «Главная».

  1. Производим выделение в любом месте строчки, которую требуется убрать. Переходим во вкладку «Главная». Кликаем по пиктограмме в виде небольшого треугольника, которая расположена справа от значка «Удалить» в блоке инструментов «Ячейки». Выпадает список, в котором нужно выбрать пункт «Удалить строки с листа».
  2. Удаление строки через кнопку на ленте в Microsoft Excel

  3. Строчка будет тут же удалена.

Также можно выделить строку в целом, щелкнув левой кнопки мыши по её номеру на вертикальной панели координат. После этого, находясь во вкладке «Главная», жмем на значок «Удалить», размещенный в блоке инструментов «Ячейки».

Удаление строки с помощью кнопки на ленте в Microsoft Excel

Способ 3: групповое удаление

Для выполнения группового удаления строчек, прежде всего, нужно произвести выделение необходимых элементов.

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

    Lumpics.ru

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

    Выделение диапазона ячееек с помощью клавиши Shift в Microsoft Excel

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

  2. Выделение розрозненных ячеек в Microsoft Excel

  3. Чтобы провести непосредственную процедуру удаления строчек вызываем контекстное меню или же переходим к инструментам на ленте, а далее следуем тем рекомендациям, которые были даны во время описания первого и второго способа данного руководства.

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

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

    Можно также воспользоваться и вариантом с использованием клавиши Shift. Кликаем левой кнопкой мышки по первому номеру строки диапазона, который следует удалить. Затем зажимаем клавишу Shift и выполняем щелчок по последнему номеру указанной области. Весь диапазон строчек, лежащий между этими номерами, будет выделен.

    Выделение диапазона строк с помощью клавиши Shift в Microsoft Excel

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

  2. Выделение розрозненных строк в Microsoft Excel

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

    Операция удаления всех выбранных элементов будет произведена.

Выбранные строки удалены в Microsoft Excel

Урок: Как выполнить выделение в Excel

Способ 4: удаление пустых элементов

Иногда в таблице могут встречаться пустые строчки, данные из которых были ранее удалены. Такие элементы лучше убрать с листа вовсе. Если они расположены рядом друг с другом, то вполне можно воспользоваться одним из способов, который был описан выше. Но что делать, если пустых строк много и они разбросаны по всему пространству большой таблицы? Ведь процедура их поиска и удаления может занять значительное время. Для ускорения решения данной задачи можно применить нижеописанный алгоритм.

  1. Переходим во вкладку «Главная». На ленте инструментов жмем на значок «Найти и выделить». Он расположен в группе «Редактирование». В открывшемся списке жмем на пункт «Выделение группы ячеек».
  2. Переход к выделентю группы ячеек в Microsoft Excel

  3. Запускается небольшое окошко выделения группы ячеек. Ставим в нем переключатель в позицию «Пустые ячейки». После этого жмем на кнопку «OK».
  4. Окно выделения ячеек в Microsoft Excel

  5. Как видим, после того, как мы применили данное действие, все пустые элементы выделены. Теперь можно использовать для их удаления любой из способов, о которых шла речь выше. Например, можно нажать на кнопку «Удалить», которая расположена на ленте в той же вкладке «Главная», где мы сейчас работаем.
    Удаление пустых ячеек в Microsoft Excel

    Как видим, все незаполненные элементы таблицы были удалены.

Пустые строки удалены в Microsoft Excel

Обратите внимание! При использовании данного метода строчка должна быть абсолютно пустая. Если в таблице имеются пустые элементы, расположенные в строке, которая содержит какие-то данные, как на изображении ниже, этот способ применять нельзя. Его использование может повлечь сдвиг элементов и нарушение структуры таблицы.

Нельзя применять удаление пустых строк в Microsoft Excel

Урок: Как удалить пустые строки в Экселе

Способ 5: использование сортировки

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

  1. Выделяем всю область таблицы, в которой следует провести сортировку, или одну из её ячеек. Переходим во вкладку «Главная» и кликаем по значку «Сортировка и фильтр», которая расположена в группе «Редактирование». В открывшемся списке вариантов действий выбираем пункт «Настраиваемая сортировка».
    Переход к настраиваемой сортировке в Microsoft Excel

    Можно также совершить альтернативные действия, которые тоже приведут к открытию окна настраиваемой сортировки. После выделения любого элемента таблицы переходим во вкладку «Данные». Там в группе настроек «Сортировка и фильтр» жмем на кнопку «Сортировка».

  2. Переход к сортировке в Microsoft Excel

  3. Запускается окно настраиваемой сортировки. Обязательно установите галочку, в случае её отсутствия, около пункта «Мои данные содержат заголовки», если у вашей таблицы имеется шапка. В поле «Сортировать по» нужно выбрать наименование столбца, по которому будет происходить отбор значений для удаления. В поле «Сортировка» нужно указать, по какому именно параметру будет происходить отбор:
    • Значения;
    • Цвет ячейки;
    • Цвет шрифта;
    • Значок ячейки.

    Тут уже все зависит от конкретных обстоятельств, но в большинстве случаев подходит критерий «Значения». Хотя в дальнейшем мы поговорим и об использовании другой позиции.

    В поле «Порядок» нужно указать, в каком порядке будут сортироваться данные. Выбор критериев в этом поле зависит от формата данных выделенного столбца. Например, для текстовых данных порядок будет «От А до Я» или «От Я до А», а для даты «От старых к новым» или «От новых к старым». Собственно сам порядок большого значения не имеет, так как в любом случае интересующие нас значения будут располагаться вместе.
    После того, как настройка в данном окне выполнена, жмем на кнопку «OK».

  4. Окно сортировки в Microsoft Excel

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

Удаление ячеек после сортировки в Microsoft Excel

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

Удаление пустых строк при помощи сотировки в Microsoft Excel

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

Урок: Сортировка данных в Экселе

Способ 6: использование фильтрации

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

  1. Выделяем всю таблицу или шапку курсором с зажатой левой кнопкой мыши. Кликаем по уже знакомой нам кнопке «Сортировка и фильтр», которая расположена во вкладке «Главная». Но на этот раз из открывшегося списка выбираем позицию «Фильтр».
    Включение фильтра через вкладку Главная в Microsoft Excel

    Как и в предыдущем способе, задачу можно также решить через вкладку «Данные». Для этого, находясь в ней, нужно щелкнуть по кнопке «Фильтр», которая расположена в блоке инструментов «Сортировка и фильтр».

  2. Включение фильтра в Microsoft Excel

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

  5. Открывается меню фильтрования. Снимаем галочки с тех значений в строчках, которые хотим убрать. После этого следует нажать на кнопку «OK».

Фильтрация в Microsoft Excel

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

Фильтрация выполнена в Microsoft Excel

Урок: Применение фильтра в Excel

Способ 7: условное форматирование

Ещё более точно можно задать параметры выбора строк, если вместе с сортировкой или фильтрацией использовать инструменты условного форматирования. Вариантов ввода условий в этом случае очень много, поэтому мы рассмотрим конкретный пример, чтобы вы поняли сам механизм использования этой возможности. Нам нужно удалить строчки в таблице, по которым сумма выручки менее 11000 рублей.

  1. Выделяем столбец «Сумма выручки», к которому хотим применить условное форматирование. Находясь во вкладке «Главная», производим щелчок по значку «Условное форматирование», который расположен на ленте в блоке «Стили». После этого открывается список действий. Выбираем там позицию «Правила выделения ячеек». Далее запускается ещё одно меню. В нем нужно конкретнее выбрать суть правила. Тут уже следует производить выбор, основываясь на фактической задаче. В нашем отдельном случае нужно выбрать позицию «Меньше…».
  2. Переход в окно условного форматирования в Microsoft Excel

  3. Запускается окно условного форматирования. В левом поле устанавливаем значение 11000. Все значения, которые меньше него, будут отформатированы. В правом поле есть возможность выбрать любой цвет форматирования, хотя можно также оставить там значение по умолчанию. После того, как настройки выполнены, щелкаем по кнопке «OK».
  4. Окно форматирования в Microsoft Excel

  5. Как видим, все ячейки, в которых имеются значения выручки менее 11000 рублей, были окрашены в выбранный цвет. Если нам нужно сохранить изначальный порядок, после удаления строк делаем дополнительную нумерацию в соседнем с таблицей столбце. Запускаем уже знакомое нам окно сортировки по столбцу «Сумма выручки» любым из способов, о которых шла речь выше.
  6. Запуск окна сортировки в Microsoft Excel

  7. Открывается окно сортировки. Как всегда, обращаем внимание, чтобы около пункта «Мои данные содержат заголовки» стояла галочка. В поле «Сортировать по» выбираем столбец «Сумма выручки». В поле «Сортировка» устанавливаем значение «Цвет ячейки». В следующем поле выбираем тот цвет, строчки с которым нужно удалить, согласно условному форматированию. В нашем случае это розовый цвет. В поле «Порядок» выбираем, где будут размещаться отмеченные фрагменты: сверху или снизу. Впрочем, это не имеет принципиального значения. Стоит также отметить, что наименование «Порядок» может быть смещено влево от самого поля. После того, как все вышеуказанные настройки выполнены, жмем на кнопку «OK».
  8. Сортировка данных в Microsoft Excel

  9. Как видим, все строчки, в которых имеются выделенные по условию ячейки, сгруппированы вместе. Они будут располагаться вверху или внизу таблицы, в зависимости от того, какие параметры пользователь задал в окне сортировки. Теперь просто выделяем эти строчки тем методом, который предпочитаем, и проводим их удаление с помощью контекстного меню или кнопки на ленте.
  10. Удаление строк по условному форматированию в Microsoft Excel

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

Удаление столбца с номерами в Microsoft Excel

Поставленная задача по заданному условию решена.

Удаление с помощью условного форматирование прошло усипешно в Microsoft Excel

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

  1. Итак, применяем условное форматирование к столбцу «Сумма выручки» по полностью аналогичному сценарию. Включаем фильтрацию в таблице одним из тех способов, которые были уже озвучены выше.
  2. Включение фильтрации для отформатированной таблицы в Microsoft Excel

  3. После того, как в шапке появились значки, символизирующие фильтр, кликаем по тому из них, который расположен в столбце «Сумма выручки». В открывшемся меню выбираем пункт «Фильтр по цвету». В блоке параметров «Фильтр по цвету ячейки» выбираем значение «Нет заливки».
  4. Включение фильтра по цвету в Microsoft Excel

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

Фильтрация произведена в Microsoft Excel

Урок: Условное форматирование в Экселе

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

Skip to content

6 способов — как безопасно удалить лишние пустые строки в Excel

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

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

В этой статье вы узнаете несколько простых и надежных методов удаления “белых пятен” на листах Excel.

  • Как НЕ НАДО удалять пустые строки в Excel
  • Как удалить пустые строки при помощи формул
  • Использование Power Query
  • Удаляем строки с определенными пустыми ячейками
  • Как убрать или скрыть лишние строки под данными
  • Как быстро удалить пустые строки при помощи VBA
  • Макрос 1. Удаление в выбранном диапазоне
  • Макрос 2. Удаляем все пустые строки
  • Макрос 3. Критерий удаления — пустая ячейка
  • Самый быстрый способ удалить пустые строки в Excel

Как НЕ НАДО удалять пустые строки в Excel

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

Пожалуй, самый популярный совет – использовать инструмент «Найти и выделить» > «Перейти к специальному» > «Пробелы» .

Что плохого в этой технике? Она выбирает все пустоты в диапазоне данных. Но ведь в строке может быть, к примеру, только одна пустая ячейка, а в остальных будет записаны какие-то данные. И, следовательно, вы в итоге удалите множество строчек, которые содержат хотя бы одну пустую ячейку. Некоторые нужные данные, естественно, будут утеряны.

Специально не буду подробно описывать последовательность действий в этом методе, чтобы вы случайно его не повторили.

И ключевым в данном случае является вопрос: «Вы уверены, что все ячейки в вашей строке пустые? У вас точно нет таких, в которых по какой-то причине не заполнены одна или несколько ячеек, а остальные содержат данные?»

Просто запомните: «Не следует использовать метод поиска пустых ячеек, чтобы выделить и удалить пустые строки».

В качестве иллюстрации на изображении ниже слева показана исходная таблица, а справа — итоговая таблица. И в результирующей таблице все неполные строки пропали, даже 4,6 и 10, которые были частично заполнены:

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

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

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

С фильтрацией примерно та же история. Вы можете установить фильтр по пустым ячейкам в каком-то конкретном столбце. Далее все может произойти так же, как в истории с сортировкой. Какие-то из ячеек могут оказаться заполнены нужной информацией. Чтобы обезопасить себя от случайной её потери, такой фильтр по пустым ячейкам нужно установить в каждом столбце. Хорошо, если их в вашей таблице штук 5. А если 20? А 30? Вряд ли у вас есть желание устанавливать, а затем снимать даже 10 фильтров.

Поэтому эти методы – это также не наш выбор.

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

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

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

У нас имеется таблица с заказами от различных покупателей. В ней имеются пропуски. Часть ячеек не заполнена. Давайте избавимся от пустых строк, но при этом сохраним все прочие данные.

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

=ЕСЛИ(СЧЁТЗ(A2:E2)=0;»Пусто»;»»)

Где A2 — первая, а E2 — последняя использованная ячейка первой строки данных.

Введите эту формулу в F2 или любой другой свободный столбец в строке 2 и перетащите маркер заполнения, чтобы скопировать формулу вниз.

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

Логика формулы очевидна: вы подсчитываете заполненные ячейки с помощью функции СЧЁТЗ и используете оператор ЕСЛИ для возврата «Пусто» для нулевого результата. Если же найдена хоть какая-то информация в нужном диапазоне, то не возвращаем ничего.

Фактически, вы можете обойтись без ЕСЛИ:

=СЧЁТЗ(A2:Е2)=0

В этом случае формула вернет ИСТИНА для пустых и ЛОЖЬ для заполненных строк.

Встречаются также аналогичные решения с использованием функции СЧИТАТЬПУСТОТЫ. В ней указываем диапазон ячеек и затем сравниваем с количеством столбцов.

=ЕСЛИ(СЧИТАТЬПУСТОТЫ(A2:E2)=ЧИСЛСТОЛБ(A2:E2);»Пусто»;»»)

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

Как мы это удаление сделаем?

Разберем пошагово действия, как быстро удалить пустые строки:

  1. Выберите любую ячейку в заголовке и нажмите «Фильтр» на вкладке «Данные». Это добавит стрелки раскрывающегося списка фильтрации ко всем ячейкам заголовка.
  2. Щелкните стрелку в заголовке столбца формулы, снимите флажок (Выбрать все), выберите «Пусто» и нажмите ОК:

  1. Выделите всё отфильтрованное. Для этого щелкните самую верхнюю ячейку и нажмите Ctrl + Shift + End, чтобы расширить выделение до последней ячейки отфильтрованной области.

Или же щелкните по номеру первой незаполненной строки на вертикальной шкале координат. При этом вся она должна подсветиться. Затем наберите на клавиатуре комбинацию Ctrl + Shift +  

(стрелка вниз). При этом будет выделена вся область до конца таблицы. Поле этого кликните по выделению правой кнопкой мыши и выберите из контекстного меню пункт «Удалить». Все выделенные строки будут удалены.

Можно не вызывать контекстное меню, а просто набрать на клавиатуре сочетание клавиш Ctrl и - .

  1. Снимите фильтр, нажав Ctrl + Shift + L. Или же поставьте курсор в самую верхнюю позицию и вновь нажмите на иконку фильтра в меню «Данные».
  2. Удалите столбец с формулой проверки, поскольку он вам больше не нужен.

В результате мы имеем чистую таблицу без пробелов, но с сохранением всей информации. Частично заполненные строки остались в таблице, мы их не потеряли.

Совет. Вместо удаления, вы можете скопировать непустые строки в другое место. Для этого отфильтруйте всё, кроме «Пусто», выделите и нажмите Ctrl + C. Затем переключитесь на другой лист, выберите верхнюю левую ячейку целевого диапазона и нажмите Ctrl + V.

Как удалить пустые строки в Excel с помощью Power Query

В Excel 2016 и Excel 2019 есть еще один способ удалить незаполненные строки — с помощью инструмента Power Query. В Excel 2010 и 2013 его можно загрузить как надстройку.

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

Итак, давайте по порядку.

  1. Выберите диапазон, в котором вы хотите заняться удалением.
  2. Перейдите на   вкладку «Данные»  и нажмите Получить данные — Из других источников —  Из таблицы/диапазона . Это загрузит вашу таблицу в редактор Power Query.

  1. На вкладке Главная в редакторе Power Query щелкните  Удалить строки > Удалить пустые …. (как на рисунке).

  1. Нажмите кнопку «Закрыть и загрузить». Полученная таблица загрузится на новый лист и закроется редактор запросов.

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

Как удалить строки, если ячейка в определенном столбце пуста

В начале этого урока мы предостерегали вас от удаления пустых строк путем выбора пробелов. Однако этот метод пригодится, если вы хотите удалить строки на основе пробелов в определенном столбце.

В качестве примера удалим все строки, в которых ячейка в столбце A не содержит никакой информации:

  1. Выберите ключевой столбец, в нашем случае столбец A.
  2. На вкладке «Главная» нажмите Найти и выделить > Перейти… > Выделить. Или просто нажмите F5 и затем — Выделить… .

  1. В диалоговом окне выберите «Пробелы» и затем — «ОК». Это выделит все пустоты в столбце A.
  2. Щелкните правой кнопкой мыши любую выделенную ячейку и выберите «Удалить…» из контекстного меню.
  3. В диалоговом окне «Удалить» кликните «Строку» и нажмите «ОК».

Готово! Строки, которые не имеют данных в столбце A, больше не существуют.

Такого же результата можно добиться, отфильтровав пробелы в ключевом столбце.

Как удалить лишние строки под данными или скрыть их.

Иногда строки, которые выглядят совершенно пустыми, на самом деле могут содержать пробелы, перевод строки или непечатаемые символы. Чтобы проверить, действительно ли последняя ячейка с данными является последней использованной ячейкой на листе, нажмите Ctrl + End. Если это привело вас к визуально свободной от данных строке под вашими данными, то с точки зрения Excel, в ней на самом деле что-то записано. Чтобы удалить эти лишние строки под таблицей, сделайте следующее:

  1. Щелкните заголовок первой свободной строки под данными, чтобы выбрать ее целиком.
  2. Нажмите Ctrl + Shift + End. Это выберет все строчки ниже, которые содержат что-либо, включая пробелы и непечатаемые символы.
  3. Щелкните выделение правой кнопкой мыши, как это мы уже делали ранее, и выберите «Удалить…».

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

  1. Выберите строку под последней строкой с данными, щелкнув ее заголовок.
  2. Нажмите Ctrl + Shift + , чтобы расширить выделение до конца вниз.
  3. Нажмите Ctrl + 9 чтобы скрыть выбранные строки. Или щелкните выделение правой кнопкой мыши и выберите «Скрыть».

Чтобы вновь показать ранее скрытое, нажмите Ctrl + A , чтобы выделить весь лист, а затем нажмите Ctrl + Shift + 9, чтобы снова сделать все видимым.

Аналогичным образом вы можете скрыть неиспользуемые столбцы справа от ваших данных. 

Как быстро удалить пустые строки в Excel с помощью VBA

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

Макрос 1. Удалить пустые строки в выбранном диапазоне.

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

Макрос удаляет строку, только если вся она пуста . Он определяет количество ячеек с данными в каждой строке, а затем удаляет строки с нулевым результатом.

Public Sub DeleteBlankRows()
Dim SourceRange As Range
Dim EntireRow As Range
Set SourceRange = Application.Selection
If Not (SourceRange Is Nothing) Then
Application.ScreenUpdating = False
For I = SourceRange.Rows.Count To 1 Step -1
Set EntireRow = SourceRange.Cells(I, 1).EntireRow
If Application.WorksheetFunction.CountA(EntireRow) = 0 Then
EntireRow.Delete
End If
Next
Application.ScreenUpdating = True
End If
End Sub

Чтобы дать пользователю возможность выбрать целевой диапазон после запуска макроса, используйте этот код:

Public Sub RemoveBlankLines()
Dim SourceRange As Range
Dim EntireRow As Range
On Error Resume Next
Set SourceRange = Application.InputBox( _
"Выберите диапазон:", "Удалить пустые строки", _
Application.Selection.Address, Type:=8)
If Not (SourceRange Is Nothing) Then
Application.ScreenUpdating = False
For I = SourceRange.Rows.Count To 1 Step -1
Set EntireRow = SourceRange.Cells(I, 1).EntireRow
If Application.WorksheetFunction.CountA(EntireRow) = 0 Then
EntireRow.Delete
End If
Next
Application.ScreenUpdating = True
End If
End Sub

После запуска макрос показывает вам поле ввода, вы указываете целевой диапазон и нажимаете OK:

Через мгновение все лишние строки в выбранном диапазоне будут удалены, а оставшиеся сдвинутся вверх.

Макрос 2. Удалить все пустые строки в Excel

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

Sub DeleteAllEmptyRows()
Dim LastRowIndex As Integer
Dim RowIndex As Integer
Dim UsedRng As Range
Set UsedRng = ActiveSheet.UsedRange
LastRowIndex = UsedRng.Row - 1 + UsedRng.Rows.Count
Application.ScreenUpdating = False
For RowIndex = LastRowIndex To 1 Step -1
If Application.CountA(Rows(RowIndex)) = 0 Then
Rows(RowIndex).Delete
End If
Next RowIndex
Application.ScreenUpdating = True
End Sub

Макрос 3. Удалить строку, если ячейка пуста.

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

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

Sub DeleteRowIfCellBlank()
On Error Resume Next
Columns("A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

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

Чтобы удалить незаполненные строки в Excel с помощью макроса, вам нужно вставить код VBA в свою книгу.

Как добавить макрос в свою книгу?

Чтобы вставить макрос в книгу, выполните следующие действия:

  1. Откройте лист, на котором вы хотите произвести удаление.
  2. Нажмите Alt + F11 , чтобы открыть редактор Visual Basic.
  3. На левой панели щелкните правой кнопкой мыши и выберите Insert  >  Module. Те же пункты можно выбрать вверху через главное меню.
  4. Вставьте код в появившееся окно кода.
  5. Нажмите F5 для запуска макроса (но вы можете сделать это и позже прямо из вашей книги).
  6. Нажмите кнопку «Сохранить». При этом вам будет предложено изменить формат вашей книги. Впрочем, запустить макрос на выполнение можно и без сохранения. Просто закройте окно Visual Basic и вернитесь к вашей таблице. Переходите сразу к пункту 3 ниже.

Чтобы выполнить макрос в рабочей книге Excel, сделайте следующее:

  1. Откройте свою собственную книгу и включите макросы, если будет предложено.
  2. Перейдите к нужной таблице.
  3. На листе нажмите Alt + F8, выберите макрос и нажмите «Выполнить».

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

DeleteBlankRows — удаляет строки без данных в текущем выбранном диапазоне.

RemoveBlankLines — удаляет чистые строки и перемещается вверх в диапазоне, выбранном вами после запуска макроса.

DeleteAllEmptyRows — удаляет все незаполненные строки на активном листе.

DeleteRowIfCellBlank — удаляет строку, если ячейка в определенном столбце пуста.

Имейте в виду, что отменить удаление при помощи меню или же комбинации клавиш Ctrl+Z в данном случае будет невозможно. Поэтому рекомендую перед использованием макросов позаботиться о сохранении резервной копии ваших данных.

Самый быстрый способ удалить пустые строки в Excel

Читая предыдущие примеры, разве не казалось, что мы используем кувалду, чтобы расколоть орех? Существует способ буквально в два клика мышки удалить пустые строки в Excel.

При помощи надстройки Ultimate Suite вы можете  удалить все пустые строки на листе:

  1. На вкладке Ablebits Tools в группе Преобразование (Transform)  нажмите Удалить пробелы (Delete Blanks) > Пустые строки (Empty Rows) :

  1. Надстройка сообщит вам, что все пустые строки будут удалены из активного листа, и попросит подтвердить. Нажмите ОК, и через мгновение все строки без данных будут удалены.

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

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

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

Благодарю вас за чтение.

Формат времени в Excel Вы узнаете об особенностях формата времени Excel, как записать его в часах, минутах или секундах, как перевести в число или текст, а также о том, как добавить время с помощью…
Как сделать диаграмму Ганта Думаю, каждый пользователь Excel знает, что такое диаграмма и как ее создать. Однако один вид графиков остается достаточно сложным для многих — это диаграмма Ганта.  В этом кратком руководстве я постараюсь показать…
Как сделать автозаполнение в Excel В этой статье рассматривается функция автозаполнения Excel. Вы узнаете, как заполнять ряды чисел, дат и других данных, создавать и использовать настраиваемые списки в Excel. Эта статья также позволяет вам убедиться, что вы…
Быстрое удаление пустых столбцов в Excel В этом руководстве вы узнаете, как можно легко удалить пустые столбцы в Excel с помощью макроса, формулы и даже простым нажатием кнопки. Как бы банально это ни звучало, удаление пустых…
Как быстро объединить несколько файлов Excel Мы рассмотрим три способа объединения файлов Excel в один: путем копирования листов, запуска макроса VBA и использования инструмента «Копировать рабочие листы» из надстройки Ultimate Suite. Намного проще обрабатывать данные в…

Понравилась статья? Поделить с друзьями:
  • Функция excel удалить лишние пробелы
  • Функция excel удалить данные
  • Функция excel убрать символ
  • Функция excel точность как на экране в excel
  • Функция excel пстр по английскому