Как оставить только строки в Excel
Обновлено: 21.11.2024
При работе с большими наборами данных вам может понадобиться быстро удалить строки на основе значений ячеек в них (или на основе условия).
Например, рассмотрим следующие примеры:
- У вас есть данные о торговых представителях, и вы хотите удалить все записи для определенного региона или продукта.
- Вы хотите удалить все записи, в которых стоимость продажи меньше 100.
- Вы хотите удалить все строки, в которых есть пустая ячейка.
Существует несколько способов оформления этого кота данных в Excel.
Выбранный вами метод удаления строк будет зависеть от того, как структурированы ваши данные и какое значение ячейки или условие, на основании которого вы хотите удалить эти строки.
В этом руководстве я покажу вам несколько способов удаления строк в Excel на основе значения ячейки или условия.
Это руководство охватывает:
Отфильтровать строки по значению/условию, а затем удалить
Один из самых быстрых способов удалить строки, которые содержат определенное значение или удовлетворяют заданному условию, — это отфильтровать их. Получив отфильтрованные данные, вы можете удалить все эти строки (при этом остальные строки останутся нетронутыми).
Фильтр Excel довольно универсален, и вы можете фильтровать по многим критериям (например, по тексту, числам, датам и цветам)
Давайте рассмотрим два примера, в которых вы можете фильтровать строки и удалять их.
Удалить строки, содержащие определенный текст
Предположим, у вас есть набор данных, как показано ниже, и вы хотите удалить все строки, где регионом является Средний Запад (в столбце B).
Хотя в этом небольшом наборе данных вы можете удалить эти строки вручную, часто ваши наборы данных будут огромными, и удаление строк вручную будет невозможно.
В этом случае вы можете отфильтровать все записи, в которых регионом является Средний Запад, а затем удалить все эти строки (при этом остальные строки останутся нетронутыми).
Ниже приведены шаги по удалению строк на основе значения (все записи Среднего Запада):
Описанные выше шаги сначала фильтруют данные на основе значения ячейки (или могут быть другие условия, такие как после/до даты или больше/меньше числа). Получив записи, вы просто удаляете их.
Несколько полезных советов, которые помогут ускорить процесс:
- Control + Shift + L, чтобы применить или удалить фильтр.
- Control + – (удерживайте клавишу Control и нажмите клавишу "минус"), чтобы удалить выбранные ячейки/строки.
В приведенном выше примере у меня было только четыре отдельных региона, и я мог вручную выбирать и отменять их выбор в списке фильтров (на шаге 5 выше).
Если у вас много категорий/регионов, вы можете ввести название в поле прямо над полем (с этими названиями регионов), и Excel покажет вам только те записи, которые соответствуют введенному тексту (как показано ниже). ). Когда у вас есть текст, на основе которого вы хотите отфильтровать, нажмите клавишу Enter.
Обратите внимание, что при удалении строки все, что может быть в других ячейках этих строк, будет потеряно. Один из способов обойти это — создать копию данных на другом листе и удалить строки в скопированных данных. После этого скопируйте его обратно вместо исходных данных.
Можно использовать методы, показанные далее в этом руководстве (метод сортировки или метод "Найти все")
Удалить строки на основе числового условия
Точно так же, как я использовал метод фильтра для удаления всех строк, содержащих текст Mid-West, вы также можете использовать числовое условие (или условие даты).
Например, предположим, что у меня есть приведенный ниже набор данных, и я хочу удалить все строки, в которых стоимость продажи меньше 200.
Ниже приведены шаги для этого:
В Excel можно использовать множество числовых фильтров, например меньше/больше, равно/не равно, между, первые 10, выше или ниже среднего и т. д.
Примечание. Вы также можете использовать несколько фильтров. Например, вы можете удалить все строки, в которых значение продаж больше 200, но меньше 500. В этом случае вам нужно использовать два условия фильтрации. Диалоговое окно «Пользовательский автофильтр» позволяет использовать два критерия фильтрации (И и ИЛИ).
Так же, как и числовые фильтры, вы также можете фильтровать записи по дате. Например, если вы хотите удалить все записи за первый квартал, вы можете сделать это, выполнив те же действия, что и выше.Когда вы работаете с фильтрами даты, Excel автоматически показывает вам соответствующие фильтры (как показано ниже).
Хотя фильтрация — отличный способ быстро удалить строки на основе значения или условия, у нее есть один недостаток — она удаляет всю строку. Например, в приведенном ниже случае будут удалены все данные, находящиеся справа от отфильтрованного набора данных.
Что делать, если я хочу удалить только записи из набора данных, но хочу сохранить оставшиеся данные нетронутыми.
Вы не можете сделать это с помощью фильтрации, но вы можете сделать это с помощью сортировки.
Отсортировать набор данных, а затем удалить строки
Хотя сортировка — это еще один способ удаления строк по значению, в большинстве случаев лучше использовать описанный выше метод фильтрации.
Этот метод сортировки рекомендуется только в том случае, если вы хотите удалить ячейки со значениями, а не все строки.
Предположим, у вас есть набор данных, как показано ниже, и вы хотите удалить все записи, в которых регионом является Средний Запад.
Ниже приведены шаги, чтобы сделать это с помощью сортировки:
Вышеуказанные шаги удалят все записи, в которых регионом является Средний Запад, но не удалит всю строку. Таким образом, если у вас есть какие-либо данные справа или слева от вашего набора данных, они останутся невредимыми.
В приведенном выше примере я отсортировал данные на основе значения ячейки, но вы также можете использовать те же шаги для сортировки на основе чисел, дат, цвета ячейки или цвета шрифта и т. д.
Если вы хотите сохранить исходный порядок набора данных, но удалить записи на основе критериев, вам нужно иметь способ отсортировать данные обратно к исходному. Для этого перед сортировкой данных добавьте столбец с порядковыми номерами. Когда вы закончите удаление строк/записей, просто выполните сортировку по этому дополнительному столбцу, который вы добавили.
Найти и выбрать ячейки на основе значения ячейки, а затем удалить строки
Excel имеет функцию поиска и замены, которая может быть полезна, когда вы хотите найти и выбрать ячейки с определенным значением.
Выбрав эти ячейки, вы можете легко удалить строки.
Предположим, у вас есть набор данных, как показано ниже, и вы хотите удалить все строки, в которых регионом является Средний Запад.
Ниже приведены шаги для этого:
Вышеупомянутые шаги удалят все ячейки, в которых регион имеет значение Средний Запад.
Примечание. Поскольку функция "Найти и заменить" может обрабатывать подстановочные знаки, вы можете использовать их при поиске данных в Excel. Например, если вы хотите удалить все строки, в которых регионом является Средний Запад или Юго-Запад, вы можете использовать «* Запад» в качестве текста для поиска в диалоговом окне «Найти и заменить». Это даст вам все ячейки, где текст заканчивается словом West.
Удалить все строки с пустой ячейкой
Если вы хотите удалить все строки, в которых есть пустые ячейки, вы можете легко сделать это с помощью встроенной функции Excel.
Это параметр «Перейти к специальным ячейкам», который позволяет быстро выбрать все пустые ячейки. И как только вы выбрали все пустые ячейки, удалить их очень просто.
Предположим, у вас есть набор данных, как показано ниже, и я хочу удалить все строки, в которых у меня нет стоимости продажи.
Ниже приведены шаги для этого:
Вышеуказанные шаги позволят выбрать все пустые ячейки в наборе данных.
Выбрав пустые ячейки, щелкните правой кнопкой мыши любую из ячеек и выберите "Удалить".
В диалоговом окне «Удалить» выберите параметр «Вся строка» и нажмите «ОК». Это удалит все строки, в которых есть пустые ячейки.
Если вам интересно узнать больше об этой технике, я написал подробное руководство о том, как удалять строки с пустыми ячейками. Он включает метод «Перейти к специальному», а также метод VBA для удаления строк с пустыми ячейками.
Фильтрация и удаление строк на основе значения ячейки (с помощью VBA)
Последний метод, который я вам покажу, включает в себя немного VBA.
Вы можете использовать этот метод, если вам часто нужно удалять строки на основе определенного значения в столбце. Вы можете добавить код VBA один раз и добавить его в свою книгу личных макросов.Таким образом, он будет доступен для использования во всех ваших книгах Excel.
Этот код работает так же, как описанный выше метод Filter (за исключением того факта, что он выполняет все шаги в серверной части и экономит несколько кликов).
Предположим, у вас есть набор данных, как показано ниже, и вы хотите удалить все строки, в которых регионом является Средний Запад.
Ниже приведен код VBA, который это сделает.
Приведенный выше код использует метод автофильтра VBA, чтобы сначала отфильтровать строки на основе заданных критериев (то есть "Средний Запад"), а затем выбрать все отфильтрованные строки и удалить их.
Обратите внимание, что я использовал Offset в приведенном выше коде, чтобы убедиться, что моя строка заголовка не удалена.
Приведенный выше код не работает, если ваши данные находятся в таблице Excel. Причина этого в том, что Excel рассматривает таблицу Excel как объект списка. Поэтому, если вы хотите удалить строки из таблицы, вам нужно немного изменить код (рассмотрено далее в этом руководстве).
Перед удалением строк появится подсказка, как показано ниже. Я нахожу это полезным, так как позволяет дважды проверить отфильтрованную строку перед удалением.
Помните, что при удалении строк с помощью VBA это изменение нельзя отменить. Так что используйте это только тогда, когда вы уверены, что это работает так, как вы хотите. Кроме того, рекомендуется сохранить резервную копию данных на случай, если что-то пойдет не так.
Если ваши данные находятся в таблице Excel, используйте приведенный ниже код для удаления строк с определенным значением:
Поскольку VBA рассматривает таблицу Excel как объект списка (а не как диапазон), мне пришлось соответствующим образом изменить код.
Куда поместить код VBA?
Этот код необходимо поместить в модуль редактора VB Editor.
Ниже приведены шаги, которые покажут вам, как это сделать:
- Откройте книгу, в которую вы хотите добавить этот код.
- Используйте сочетание клавиш ALT + F11, чтобы открыть окно редактора VBA.
- В этом окне редактора VBA слева находится панель «Проводник проектов» (в которой перечислены все рабочие книги и объекты рабочих листов). Щелкните правой кнопкой мыши любой объект в рабочей книге (в котором вы хотите, чтобы этот код работал), наведите курсор на «Вставить» и затем нажмите «Модуль». Это добавит объект модуля в книгу, а также откроет окно кода модуля справа
- В окне модуля (которое появится справа) скопируйте и вставьте приведенный выше код.
После того, как у вас есть код в редакторе VB, вы можете запустить код, используя любой из следующих методов (убедитесь, что вы выбрали любую ячейку в наборе данных, для которой вы хотите запустить этот код):
- Выберите любую строку кода и нажмите клавишу F5.
- Нажмите кнопку "Выполнить" на панели инструментов редактора VB.
- Назначьте макрос кнопке или фигуре и запустите его, нажав на него на листе.
- Добавьте его на панель быстрого доступа и запустите код одним щелчком мыши.
В этой статье вы можете прочитать все о том, как запускать код макроса в Excel.
Примечание. Поскольку рабочая книга содержит код макроса VBA, его необходимо сохранить в формате с поддержкой макросов (xlsm).
Как удалить строки, не содержащие определенный текст в Excel?
Возможно, некоторые из вас знают, как удалить целые строки, если они содержат определенные тексты в Excel, но если вы хотите удалить всю строку, когда они не содержат определенных текстов, как вы можете это сделать? Теперь следуйте этому руководству, возможно, вы найдете способ решить эту проблему в Excel.
- Повторное использование всего: добавляйте наиболее часто используемые или сложные формулы, диаграммы и другие объекты в избранное и быстро используйте их повторно в будущем.
- Более 20 текстовых функций: извлечение числа из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
- Инструменты объединения: несколько книг и листов в одну; Объединение нескольких ячеек/строк/столбцов без потери данных; Объединить повторяющиеся строки и суммировать.
- Инструменты разделения: разделение данных на несколько листов в зависимости от значения; Одна рабочая книга для нескольких файлов Excel, PDF или CSV; Один столбец в несколько столбцов.
- Вставить, пропуская скрытые/отфильтрованные строки; Подсчет и сумма по цвету фона; Массовая рассылка персонализированных электронных писем нескольким получателям.
- Суперфильтр: создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировка по неделям, дням, частоте и т. д.; Фильтр по полужирному шрифту, формулам, комментариям.
- Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.
Удалить строки, не содержащие определенный текст, с помощью фильтра
Потрясающе! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Сэкономьте 50 % своего времени и сократите количество кликов мышью каждый день!
В Excel функция "Фильтр" позволяет быстро отфильтровать строки, не содержащие определенного текста, а затем выбрать их для удаления.
<р>1.Выберите столбец, содержащий тексты, на основе которых вы будете удалять строки, и щелкните Данные > Фильтр. Смотрите скриншот:
<р>2. В заголовке столбца есть кнопка фильтра, нажмите ее, чтобы открыть раскрывающийся список, отметьте все, кроме определенного текста, который вы хотите использовать. Смотрите скриншот:
<р>3. Затем вы можете видеть только строку заголовка, а строки, не содержащие определенного текста, фильтруются. Смотрите скриншот: <р>4. Выберите все из них, кроме строки заголовка, и щелкните правой кнопкой мыши, чтобы выбрать «Удалить строку» в контекстном меню. Смотрите скриншот: <р>5. Затем снова нажмите «Данные» > «Фильтровать», после чего все строки, не содержащие определенный текст, будут удалены. Смотрите скриншот:
|