Excel удалить отфильтрованные строки в excel
В Microsoft Office Excel можно быстро удалить скрытые, пустые строчки, которые портят внешний вид табличного массива. О том, как это сделать будет рассказано в данной статье.
Как деинсталлировать скрытые строки в Эксель
Существует несколько способов выполнения поставленной задачи, реализуемых с помощью стандартных инструментов программы. Далее будут рассмотрены самые распространенные из них.
Способ 1. Как удалять строчки в таблице по одной через контекстное меню
Обратите внимание! Рассмотренным методом также можно удалять скрытые столбцы.
Способ 2. Одиночная деинсталляция строк через опцию в ленте программы
В Excel есть стандартные инструменты для удаления ячеек табличного массива. Чтобы воспользоваться ими для удаления строчек, необходимо действовать так:
- Выделить любую ячейку в строке, которую нужно удалить.
- Перейти во вкладку «Главная» в верхней панели Excel.
- Найти кнопку «Удалить» и развернуть эту опцию, щелкнув по стрелочке справа.
- Выбрать вариант «Удалить строки с листа».
- Удостовериться, что выделенная ранее строчка была деинсталлирована.
Способ 3. Как удалить все скрытые строчки сразу
В Экселе также реализована возможность групповой деинсталляции выбранных элементов табличного массива. Такая возможность позволяет убрать пустые строчки, разбросанные по разным частям таблички. В общем виде процесс деинсталляции подразделяется на следующие этапы:
Важно! Рассмотренный выше способ групповой деинсталляции может применяться только для абсолютно пустых строк. В них не должна содержаться какая-либо информация, иначе использование метода приведет к нарушению структуры таблицы.
Способ 4. Применение сортировки
Актуальный метод, который выполняется по следующему алгоритму:
- Выделить шапку таблицы. Это область, в которой будет производиться сортировка данных.
- Во вкладке «Главная» развернуть подраздел «Сортировка и фильтр».
- В появившемся окне выбрать вариант «Настраиваемая сортировка», щелкнув по нему ЛКМ.
- В меню настраиваемой сортировки поставить галочку напротив параметра «Мои данные содержат заголовки».
- В столбце Порядок указать любой из вариантов сортировки: либо «От А до Я», либо «От Я до А».
- По окончании настройки сортировки нажать на «ОК» внизу окошка. После этого данные в табличном массиве будут отсортированы по указанному критерию.
- По схеме, рассмотренной в предыдущем разделе статьи, выделить все скрытые строки и удалить их.
Сортировка значений автоматически выставляет все пустые строчки в конец таблички.
Дополнительная информация! После сортировки информации в массиве скрытые элементы можно будет деинсталлировать, выделив их все и в контекстном меню нажать по пункту «Удалить».
Способ 5. Применение фильтрации
В таблицах Excel возможно отфильтровать заданный массив, оставив только нужную информацию в нем. Этим способом можно убрать любую строку из таблицы. Важно действовать по алгоритму:
- Левой клавишей манипулятора выделить шапку таблички.
- Перейти в раздел «Данные», располагающийся сверху главного меню программы.
- Нажать на кнопку «Фильтр». После этого в заголовке каждого столбца массива появятся стрелочки.
- Нажать ЛКМ по любой стрелке, чтобы развернуть список доступных фильтров.
- Снять галочки со значений в нужных строчках. Для деинсталляции пустой строки, потребуется указать ее порядковый номер в табличном массиве.
- Проверить результат. После нажатия на «ОК» изменения должны вступить в силу, а выбранные элементы удалиться.
Обратите внимание! Данные в составленном табличном массиве можно быстро отфильтровать по различным критериям. Например, по цвету ячеек, по дате, по названиям столбцов и т.д. Эта информация подробно изложена в окошке выбора фильтра.
Заключение
Таким образом, в Microsoft Office Excel деинсталлировать скрытые строчки в таблице достаточно просто. Для этого не обязательно быть опытным пользователем Эксель. Достаточно воспользоваться одним из вышеуказанных способов, которые работают независимо от версии программного обеспечения.
Возможно, некоторые из вас знают, как удалить целые строки, когда они содержат определенные тексты в Excel, но если вы хотите полностью удалить строку, когда они не содержат определенных текстов, как вы могли бы это сделать? Теперь, следуя этому руководству, вы можете найти способ решить эту проблему в Excel.
Вкладка Office позволяет редактировать и просматривать в Office с вкладками и значительно упрощает работу . Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%- Повторное использование чего угодно: Добавляйте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное и быстро используйте их в будущем.
- Более 20 текстовых функций: Извлечь число из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
- Инструменты слияния : Несколько книг и листов в одну; Объединить несколько ячеек / строк / столбцов без потери данных; Объедините повторяющиеся строки и сумму.
- Разделить инструменты : Разделение данных на несколько листов в зависимости от ценности; Из одной книги в несколько файлов Excel, PDF или CSV; От одного столбца к нескольким столбцам.
- Вставить пропуск Скрытые / отфильтрованные строки; Подсчет и сумма по цвету фона ; Отправляйте персонализированные электронные письма нескольким получателям массово.
- Суперфильтр: Создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделям, дням, периодичности и др .; Фильтр жирным шрифтом, формулы, комментарий .
- Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.
Удалить строки, не содержащие определенного текста, с помощью фильтра
Удивительный! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Экономьте 50% своего времени и сокращайте тысячи щелчков мышью каждый день!
В Excel функция «Фильтр» может быстро помочь вам отфильтровать строки, не содержащие определенного текста, а затем вы сможете выбрать их для удаления.
1. Выберите столбец, содержащий текст, на основе которого вы будете удалять строки, и нажмите Данные > Фильтр. Смотрите скриншот:
2. В заголовке столбца есть кнопка фильтра, нажмите ее, чтобы открыть раскрывающийся список, отметьте все, кроме определенного текста, на котором вы хотите основываться. Смотрите скриншот:
3. После этого вы увидите только строку заголовка, а строки, не содержащие определенного текста, будут отфильтрованы. Смотрите скриншот :
4. Выберите все из них, кроме строки заголовка, и щелкните правой кнопкой мыши, чтобы выбрать Удалить строку из контекстного меню. Смотрите скриншот:
5. Затем нажмите Данные > Фильтр снова, а затем удаляются все строки, не содержащие определенного текста. Смотрите скриншот:
Удалить строки, не содержащие определенного текста, с помощью VBA
VBA очень полезен для довольно сложных операций в Excel. Чтобы удалить строки, не содержащие определенного текста, выполните следующие шаги.
1. Нажмите Alt + F11 для отображения Microsoft Visual Basic для приложений окно.
2. В окне нажмите Вставить > Модуль чтобы отобразить новое окно модуля, затем скопируйте следующий код VBA в окно модуля.
VBA: удалить всю строку, если ячейка содержит определенный текст.
3. Нажмите Запустите , и появится диалоговое окно, в котором вы сможете выбрать рабочий диапазон. Смотрите скриншот:
4. Затем нажмите OKи введите текст, на котором нужно удалить основу строк, в другом всплывающем диалоговом окне. Смотрите скриншот:
5. Нажмите OK, и строки, не содержащие Apple, будут удалены.
Удалить строки, не содержащие определенного текста, с помощью Kutools for Excel
Если вы думаете, что описанные выше методы не являются легкими для вас, вы можете использовать Kutools for Excel's Выбрать определенные ячейки функцию.
Kutools for Excel включает более 300 удобных инструментов Excel. Бесплатная пробная версия без ограничений в течение 30 дней. Получить сейчас
1. Выберите столбец, в котором вы хотите удалить строки, не содержащие определенного текста, и нажмите Kutools > Выберите Инструменты > Выбрать определенные ячейки. Смотрите скриншот:
2. А в Выбрать определенные ячейки диалог, проверьте Весь рядИ выберите Не содержит, и введите определенный текст в текстовое поле, также вы можете нажать кнопку диапазона в Конкретный тип раздел для выбора ячейки, содержащей определенный текст.
3. Затем нажмите Ok, то выбираются строки, не содержащие определенного текста, щелкните правой кнопкой мыши, чтобы выбрать Удалить из контекстного меню. Смотрите скриншот:
4. Теперь все строки, не содержащие определенного текста в диапазоне, удаляются. Щелкните ее, чтобы получить дополнительную информацию о выборе конкретных ячеек..
При использовании, в программе эксель, фильтра часто нужно удалить отфильтрованные по условию строки. При этом нередко человек сталкивается с проблемой, что удаляются не только отобранные по условию строки, но и все скрытие ячейки. Поэтому давайте разберемся, как в программе эксель удалять строки по условию.
Откроем таблицу, в которой представлен список рабочих из двух цехов. Необходимо удалить строки, относящиеся ко второму цеху.
Сначала, используя фильтр по столбцам, отобразим на экране сотрудников, которые относятся ко второму цеху.
Дальше нужно выделить только отфильтрованные строки. Для этого сначала выделяем область, содержащую отфильтрованные по условию ячейки. Потом переходим на верхнюю панель настроек, где в закладке «Главная» в блоке «Редактирования» нажимаем на иконку «Найти и выделить».
В появившемся дополнительном меню нажимаем на строчку «Выделение группы ячеек».
На экране появится меню «Выделение группы ячеек» в правой части поставьте точку напротив строки «только выделенные ячейки». В результате выделяться только отфильтрованные по условию ячейки.
После нажимаем на правую кнопку мыши и в появившемся меню нажимаем на строчку «удалить» и удаляете все выделенные по условию строки.
Предположу, что почти каждый сталкивался с ситуацией, когда необходимо удалить только определенные строки: имеется большая таблица и необходимо удалить из неё только те строки, которые содержат какое-то слово (цифру, фразу). Для выполнения подобной задачи можно воспользоваться несколькими способами.
Способ первый:
Использовать встроенное средство 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, который потребует только указания значения, которое необходимо найти в строке и номер столбца, в котором искать значение.Если значение sSubStr не будет указано, то будут удалены строки, ячейки указанного столбца которых, пустые.
Данный код необходимо поместить в стандартный модуль. Вызвать с листа его можно нажатием клавиш Alt + F8 , после чего выбрать Del_SubStr и нажать Выполнить. Если в данном коде в строке
If -(InStr(Cells(li, 1), sSubStr) > 0) = lMet Then
вместо = lMet указать <> lMet , то удаляться будут строки, не содержащие указанное для поиска значение. Иногда тоже удобно.
Но. Данный код просматривает строки на предмет частичного совпадения указанного значения. Например, если Вы укажете текст для поиска "отчет", то будут удалены все строки, в которых встречается это слово("квартальный отчет", "отчет за месяц" и т.д.). Это не всегда нужно. Поэтому ниже приведен код, который будет удалять только строки, указанные ячейки которых равны конкретно указанному значению:Здесь так же, как и в случае с предыдущим кодом можно заменить оператор сравнения( Cells(li, lCol) = sSubStr ) с равно на неравенство( Cells(li, lCol) <> sSubStr ) и тогда удаляться будут строки, значения ячеек которых не равно указанному.
УДАЛЕНИЕ СТРОК НА ОСНОВАНИИ СПИСКА ЗНАЧЕНИЙ(МНОЖЕСТВЕННЫЕ КРИТЕРИИ)
Иногда бывают ситуации, когда необходимо удалить строки не по одному значению, а по нескольким. Например, если строка содержит или Итог или Отчет. Ниже приведен код, при помощи которого можно удалить строки, указав в качестве критерия диапазон значений.
Значения, которые необходимо найти и удалить перечисляются на листе с именем "Лист2". Т.е. указав на "Лист2" в столбце А(начиная с первой строки) несколько значений - они все будут удалены. Если лист называется иначе(скажем "Соответствия") в коде необходимо будет "Лист2" заменить на "Соответствия". Удаление строк происходит на активном в момент запуска кода листе. Это значит, что перед запуском кода надо перейти на тот лист, строки в котором необходимо удалить.Чтобы код выше удалял строки не по точному совпадению слов, а по частичному(например, в ячейке записано "Привет, как дела?", а в списке есть слово "привет" - надо удалить, т.к. есть слово "привет"), то надо строку:
If CStr(arr(li, 1)) = sSubStr Then
заменить на такую:
If InStr(1, arr(li, 1), sSubStr, 1) > 0 Then
УДАЛЕНИЕ ИЗ ЛИСТА СТРОК, КОТОРЫХ НЕТ В СПИСКЕ ЗНАЧЕНИЙ(МНОЖЕСТВЕННЫЕ КРИТЕРИИ)
Т.к. в последнее время стало поступать все больше и больше вопросов как не удалять значения по списку, а наоборот - оставить в таблице только те значения, которые перечислены в списке - решил дополнить статью и таким кодом.
Значения, которые необходимо оставить перечисляются на листе с именем "Лист2". Т.е. указав на "Лист2" в столбце А(начиная с первой строки) несколько значений - после работы кода на листе будут оставлены только те строки, в которых присутствует хоть одно из перечисленных в списке значений. Если лист называется иначе(скажем "Соответствия") в коде необходимо будет "Лист2" заменить на "Соответствия". Удаление строк происходит на активном в момент запуска кода листе. Это значит, что перед запуском кода надо перейти на тот лист, строки в котором необходимо удалить.
В отличие от приведенных выше кодов, данный код ориентирован на то, что значения в списке указаны не полностью. Т.е. если необходимо оставить только те ячейки, в которых встречается слово "активы", то в списке надо указать только это слово. В этом случае если в ячейке будет записана фраза "Нематериальные активы" или "Активы сторонние" - эти ячейки не будут удалены, т.к. в них встречается слово "активы". Регистр букв при этом неважен.Чтобы код выше сравнивал значения таблицы со значениями списка по точному совпадению слов, а не по частичному, то надо строку:
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-ти шапка), то код будет выглядеть так:
Читайте также: