
Удалить строки по условию в Excel проще всего через вспомогательный столбец: формула помечает ненужные строки (например, =ЕЧИСЛО(ПОИСК("аренда";A2)) или =СЧЁТЗ(A2:C2)=0 для пустых), затем фильтр показывает только ИСТИНА, и видимые строки удаляются одним действием. В Excel 365 можно сразу получить таблицу без лишних строк формулой =ФИЛЬТР(A2:B100;НЕ(ЕЧИСЛО(ПОИСК("аренда";A2:A100)))). Ниже — формула для каждого условия.
При работе с данными в Excel часто приходится очищать данные от ненужных строк и столбцов. Это несложно сделать, когда строк, подпадающих под паттерн для удаления, немного. Если же у вас десятки и сотни тысяч строк в массиве, а паттернов, например, несколько, задача становится нетривиальной.
Что такое паттерны? Это признаки, по которым вы делаете выборку строк или столбцов, которые будете удалять.
Примеры таких паттернов:
- пустота столбца или строки,
- наличие в столбце пустых ячеек,
- наличие определенного символа или нескольких символов,
- наличие нескольких сочетаний букв,
- наличие нескольких слов,
- наличие нескольких словосочетаний.
Для тех, кто ценит время и ищет методы быстрого решения проблем, были созданы инструменты по удалению строк и столбцов в !SEMTools. Все макросы в этом меню работают в бесплатной версии, поэтому смело переходите в раздел Скачать !SEMTools, устанавливайте надстройку и пользуйтесь — они довольно удобны. Вот какие возможности есть в разделе:
- Удалить полностью пустые столбцы и строки на листе:
- Удалить всю строку по условию
- Отсутствия чего-либо (если ячейка выделенного столбца не содержит):
- ничего (пустая),
- букв или цифр,
- латиницу,
- цифры,
- конкретное слово,
- ни одно из слов из списка.
- Наличия чего-либо (если ячейка выделенного столбца содержит):
- латиницу,
- цифры,
- конкретное слово,
- слово из цифр (число),
- любое слово из списка.
- Длины содержимого ячейки — меньше или больше заданного числа символов.
- Отсутствия чего-либо (если ячейка выделенного столбца не содержит):
Формулы для удаления строк и столбцов
Порядок для всех формул один: введите формулу в свободный столбец, протяните вниз, включите фильтр (Ctrl+Shift+L), оставьте ИСТИНА, выделите видимые строки и удалите их, затем снимите фильтр.
Пустые строки и строки с пропусками
СЧЁТЗ считает заполненные ячейки, СЧИТАТЬПУСТОТЫ — пустые. Первая формула находит полностью пустые строки, вторая — строки, где пуста хотя бы одна ячейка. Подробнее — удалить пустые строки.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 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
Строки по содержимому и длине текста
Каждый столбец — отдельное условие: слово, наличие цифр, длина текста. Отфильтруйте нужный столбец по ИСТИНА. Подробнее — удалить строки по условию и по длине текста.
| A | B | C | D | |
|---|---|---|---|---|
| 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 ФИЛЬТР выводит копию таблицы только с нужными строками, исходник не меняется.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 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 пусты, хотя у них есть заголовки, — строка заголовков в проверку не входит. Подробнее — удалить пустые столбцы.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Имя | Фамилия | Город | Телефон |
| 2 | Анна | Москва | ||
| 3 | Олег | Казань | ||
| 4 | ЛОЖЬ=СЧЁТЗ(A2:A3)=0 | ИСТИНА=СЧЁТЗ(B2:B3)=0 | ЛОЖЬ=СЧЁТЗ(C2:C3)=0 | ИСТИНА=СЧЁТЗ(D2:D3)=0 |
Фильтр по строкам здесь не поможет: выделите столбцы с ИСТИНА, удерживая Ctrl, и удалите их.
В английском Excel: =COUNTA(A2:A3)=0
Смотрите также: удаление строк и столбцов
- Как удалять ячейки по условию в Excel
- Как удалять определенные слова в Excel
- Как удалить лишние символы в Excel
- Как убрать формулы из ячеек и оставить только значения
Удаление строк и столбцов — частые вопросы
Как удалить строки по условию в 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 |
| Сразу без лишних строк | ФИЛЬТР(…;НЕ(…)) |
Надеюсь, на этой странице вы нашли то, что искали. Связка «формула-признак + фильтр» решает почти любое условие, а для регулярной чистки больших таблиц быстрее процедуры раздела УДАЛИТЬ → Диапазоны.