Удалить строки и столбцы по условию в Excel
Возможности !SEMTools
↑ Навигация по задачам в Excel и возможностям надстройки !SEMTools ↑
удалить диапазоны по условию в Excel - меню !SEMTools
Меню "Удалить диапазоны" в надстройке !SEMTools

Удалить строки по условию в Excel проще всего через вспомогательный столбец: формула помечает ненужные строки (например, =ЕЧИСЛО(ПОИСК("аренда";A2)) или =СЧЁТЗ(A2:C2)=0 для пустых), затем фильтр показывает только ИСТИНА, и видимые строки удаляются одним действием. В Excel 365 можно сразу получить таблицу без лишних строк формулой =ФИЛЬТР(A2:B100;НЕ(ЕЧИСЛО(ПОИСК("аренда";A2:A100)))). Ниже — формула для каждого условия.

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

Что такое паттерны? Это признаки, по которым вы делаете выборку строк или столбцов, которые будете удалять.

Примеры таких паттернов:

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

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

Формулы для удаления строк и столбцов

Порядок для всех формул один: введите формулу в свободный столбец, протяните вниз, включите фильтр (Ctrl+Shift+L), оставьте ИСТИНА, выделите видимые строки и удалите их, затем снимите фильтр.

Пустые строки и строки с пропусками

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

Пустые строки и строки с пропусками
E4=СЧИТАТЬПУСТОТЫ(A4:C4)>0
ABCDE
1ФИОГородСуммаПустая?Есть пропуск?
2ИвановМосква100ЛОЖЬ=СЧЁТЗ(A2:C2)=0ЛОЖЬ=СЧИТАТЬПУСТОТЫ(A2:C2)>0
3ИСТИНА=СЧЁТЗ(A3:C3)=0ИСТИНА=СЧИТАТЬПУСТОТЫ(A3:C3)>0
4Петров250ЛОЖЬ=СЧЁТЗ(A4:C4)=0ИСТИНА=СЧИТАТЬПУСТОТЫ(A4:C4)>0

Строка 4 не пустая, но в ней нет города — её найдёт только вторая формула.

В английском Excel: =COUNTBLANK(A2:C2)>0

Строки по содержимому и длине текста

Каждый столбец — отдельное условие: слово, наличие цифр, длина текста. Отфильтруйте нужный столбец по ИСТИНА. Подробнее — удалить строки по условию и по длине текста.

Пометить строки по условию
B2=ЕЧИСЛО(ПОИСК("аренда";A2))
ABCD
1ОбъявлениеАренда?Есть цифры?Длиннее 20?
2аренда квартирыИСТИНА=ЕЧИСЛО(ПОИСК("аренда";A2))ЛОЖЬ=СЧЁТ(ПОИСК({0;1;2;3;4;5;6;7;8;9};A2))>0ЛОЖЬ=ДЛСТР(A2)>20
3продажа дома 120 м²ЛОЖЬ=ЕЧИСЛО(ПОИСК("аренда";A3))ИСТИНА=СЧЁТ(ПОИСК({0;1;2;3;4;5;6;7;8;9};A3))>0ЛОЖЬ=ДЛСТР(A3)>20
4квартира посуточно у метроЛОЖЬ=ЕЧИСЛО(ПОИСК("аренда";A4))ЛОЖЬ=СЧЁТ(ПОИСК({0;1;2;3;4;5;6;7;8;9};A4))>0ИСТИНА=ДЛСТР(A4)>20

ПОИСК не различает регистр. Чтобы удалить строки, где условия нет, фильтруйте по ЛОЖЬ.

В английском Excel: =ISNUMBER(SEARCH("аренда",A2))

Таблица без лишних строк одной формулой

В Excel 365 и 2021 ФИЛЬТР выводит копию таблицы только с нужными строками, исходник не меняется.

ФИЛЬТР с условием «не содержит»
D2=ФИЛЬТР(A2:B5;НЕ(ЕЧИСЛО(ПОИСК("аренда";A2:A5))))
ABCDE
1ОбъявлениеЦенаБез арендыЦена
2аренда квартиры30000продажа дома=ФИЛЬТР(A2:B5;НЕ(ЕЧИСЛО(ПОИСК("аренда";A2:A5))))9000000
3продажа дома9000000продажа гаража400000
4аренда офиса55000
5продажа гаража400000

НЕ переворачивает условие: остаются строки, где «аренда» не найдена.

В английском Excel: =FILTER(A2:B5,NOT(ISNUMBER(SEARCH("аренда",A2:A5))))

Пустые столбцы

Та же проверка СЧЁТЗ, только по столбцу: формулу ставят под таблицей и протягивают вправо. Столбцы B и D пусты, хотя у них есть заголовки, — строка заголовков в проверку не входит. Подробнее — удалить пустые столбцы.

Найти пустые столбцы
B4=СЧЁТЗ(B2:B3)=0
ABCD
1ИмяФамилияГородТелефон
2АннаМосква
3ОлегКазань
4ЛОЖЬ=СЧЁТЗ(A2:A3)=0ИСТИНА=СЧЁТЗ(B2:B3)=0ЛОЖЬ=СЧЁТЗ(C2:C3)=0ИСТИНА=СЧЁТЗ(D2:D3)=0

Фильтр по строкам здесь не поможет: выделите столбцы с ИСТИНА, удерживая Ctrl, и удалите их.

В английском Excel: =COUNTA(A2:A3)=0

Смотрите также: удаление строк и столбцов

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

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

Пометьте их формулой во вспомогательном столбце, отфильтруйте ИСТИНА и удалите видимые строки.

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

Формулой =СЧЁТЗ(A2:C2)=0 и фильтром или процедурой !SEMTools — подробно в статье удалить пустые строки.

Как удалить строки, содержащие слово?

Условие — =ЕЧИСЛО(ПОИСК("слово";A2)); в Excel 365 нужные строки сразу оставит ФИЛЬТР.

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

Проверьте каждый столбец формулой =СЧЁТЗ(A2:A100)=0 и удалите отмеченные — подробнее удалить пустые столбцы.

Удалить пустые строки и столбцы — в том числе на всех листах книги — и строки по десяткам условий без фильтров и вспомогательных столбцов можно в пару кликов с !SEMTools.
!SEMTools решает эту и сотни других задач в пару кликов!

Итоги: как удалить строки и столбцы в Excel

УсловиеФормула для пометки
Полностью пустая строкаСЧЁТЗ(A2:C2)=0
Есть пустая ячейкаСЧИТАТЬПУСТОТЫ(A2:C2)>0
Содержит словоЕЧИСЛО(ПОИСК("слово";A2))
Есть цифрыСЧЁТ(ПОИСК({0;…;9};A2))>0
Длина больше NДЛСТР(A2)>N
Сразу без лишних строкФИЛЬТР(…;НЕ(…))

Надеюсь, на этой странице вы нашли то, что искали. Связка «формула-признак + фильтр» решает почти любое условие, а для регулярной чистки больших таблиц быстрее процедуры раздела УДАЛИТЬ → Диапазоны.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*