Перейти к основному содержанию

Удаление строк на основе значения ячейки в Excel – Простое руководство

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

Например, если я хочу удалить все строки, в которых столбец имени содержит Дженера, как мне действовать?

Удалить целые строки на основе значения ячейки

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


Удалить целые строки на основе значения ячейки в Excel

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

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

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

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

Шаг 1. Примените функцию «Фильтр», чтобы отфильтровать ненужные строки.

  1. Выберите диапазон данных, строки из которого вы хотите удалить. Затем нажмите Данные > ФИЛЬТР, см. снимок экрана:
  2. Теперь в заголовке каждого столбца появятся стрелки раскрывающегося списка. Нажмите стрелку раскрывающегося списка в столбце, содержащем значения, на основе которых вы хотите удалить строки. Например, если вы хотите удалить строки с именем Дженер, щелкните стрелку в столбце «Имя».
  3. В раскрывающемся меню снимите флажок Выбрать все чтобы очистить все выбранные параметры, установите только флажок рядом с Jener или вручную введите Jener в поле поиска, чтобы быстро найти его.
  4. А затем нажмите OK кнопка, чтобы применить фильтр. Будут отображаться только строки, содержащие Jener. Смотрите скриншот:

Шаг 2. Удалите отфильтрованные строки

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

Шаг 3. Очистите фильтр

Затем нажмите на Данные > ФИЛЬТР снова. При этом фильтр будет удален, и вы увидите все записи, кроме удаленных.

???? Советы:
  • Подобно тому, как я применяю метод фильтра для удаления строк, содержащих текст Jener, вы также можете использовать его для удаления строк на основе числовых условий или условий даты, как показано на следующих снимках экрана:
    Условия числового фильтра:


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

Удалите целые строки на основе значения ячейки с помощью Kutools AI Aide

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

???? Внимание: Чтобы использовать это Kutools AI Помощник of Kutools for Excel, Пожалуйста, скачайте и установите Kutools для Excel первый.

После установки Kutools for Excel, Пожалуйста, нажмите Кутулс ИИ > AI-помощник для открытия Kutools AI Помощник панель:

  1. Выберите диапазон данных, затем введите свое требование в окно чата и нажмите Отправить или нажмите Enter ключ для отправки вопроса;
    «Удалите строки, если столбец «Имя» содержит в выборке имя Дженер»
  2. После анализа нажмите Выполнить кнопка для запуска. Kutools AI Aide обработает ваш запрос с помощью AI и удалит указанные строки непосредственно в Excel.
???? Советы:
  • Чтобы удалить строки на основе нескольких критериев, просто соответствующим образом измените требования. Например, используйте такие команды, как «Удалите строки, в которых столбец «Имя» включает в себя Дженер или Кевин."Или"Удалите строки, в которых столбец «Имя» содержит «Дженер», а общий объем продаж превышает 7000 в выборке.".
  • Этот метод не поддерживает отмену функция. Однако, если вы хотите восстановить исходные данные, вы можете нажать неудовлетворенный чтобы отменить изменения.
 

Удалите целые строки на основе значения ячейки с помощью функции «Найти и заменить».

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

Шаг 1. Примените функцию «Найти и заменить», чтобы выбрать конкретное значение.

  1. Выберите данные столбца, из которых вы удалите строки на основе определенного значения ячейки, а затем откройте Найти и заменить диалогового окна, нажав Ctrl + F ключи одновременно.
  2. В Найти и заменить диалоговом окне введите определенное значение ячейки (в нашем случае мы вводим Дженер) в Найти то, что и нажмите Найти все кнопка. Смотрите скриншот:
  3. Выберите все результаты поиска внизу Найти и заменить диалоговое окно и закройте это диалоговое окно. (Вы можете выбрать один из результатов поиска, а затем Ctrl + клавиши для выбора всех найденных результатов.) И выбираются все ячейки, содержащие определенное значение. Затем закройте это диалоговое окно. Смотрите скриншот:

Шаг 2. Удалите строки на основе выбранного значения.

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

Удалить целые строки на основе значения ячейки с помощью кода VBA

Удаление строк на основе значения ячейки с помощью VBA (Visual Basic для приложений) в Excel позволяет автоматизировать задачу, делая ее эффективной, особенно для больших наборов данных.

Шаг 1. Откройте редактор модулей VBA и скопируйте код.

  1. Нажмите Alt + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
  2. В открывшемся окне нажмите Вставить > Модули для создания нового пустого модуля.
  3. Затем скопируйте и вставьте приведенный ниже код в пустой модуль.
    Sub DeleteRowsBasedOnCellValue()
    'Updateby Extendoffice
        Dim ws As Worksheet
        Set ws = ActiveSheet
        Dim columnRange As Range
        On Error Resume Next
        Set columnRange = Application.InputBox("Select the column range to check:", "Kutools for Excel", Type:=8)
        On Error GoTo 0
        If columnRange Is Nothing Then Exit Sub
        Dim lastRow As Long
        lastRow = ws.Cells(ws.Rows.Count, columnRange.Column).End(xlUp).Row
        Dim criteria As String
        criteria = Application.InputBox("Enter the value to delete rows for:", "Kutools for Excel", Type:=2)
        If criteria = "" Then Exit Sub
        Dim i As Long
        For i = lastRow To 1 Step -1
            If ws.Cells(i, columnRange.Column).Value = criteria Then
                ws.Rows(i).Delete
            End If
        Next i
    End Sub
    

Шаг 2. Выполните код

  1. Затем нажмите F5 ключ для запуска кода. В появившемся диалоговом окне выберите столбец, из которого вы хотите удалить строки на основе определенного значения, и нажмите кнопку OK .
  2. В следующем диалоговом окне введите определенное значение, на основе которого вы будете удалять строки, и нажмите кнопку OK кнопка. Смотрите скриншот:

Результат:

И тогда вы увидите, что целые строки были удалены на основе уже указанного значения.

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

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

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

Шаг 1. Создайте вспомогательный столбец для данных.

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

Шаг 2. Отсортируйте данные по определенному столбцу.

  1. Выберите столбец данных, на основе которого вы хотите удалить строки. Затем нажмите Данные > Сортировка от А до Я or От Z до Aи появится диалоговое окно «Предупреждение о сортировке», выберите Расширить выбор, а затем щелкните Сортировать кнопка. Смотрите скриншот:
  2. Теперь строки с одинаковыми значениями будут сгруппированы вместе, что позволит легко их идентифицировать и выбрать. Смотрите скриншот:

Шаг 3. Удалите отсортированные строки

  1. Выберите группу записей, которую вы хотите удалить, затем щелкните правой кнопкой мыши и выберите Удалить из контекстного меню. в Удалить диалоговое окно, выберите Сдвинуть ячейки вверх вариант. Затем нажмите OK Кнопка. Смотрите скриншот:
  2. Удалены только записи с именем Дженер без удаления всей строки. Таким образом, любые данные справа или слева от вашего набора данных останутся незатронутыми.

Шаг 4. Примените функцию сортировки, чтобы восстановить исходный порядок данных.

Нажмите заголовок столбца справки, затем перейдите к Данные на ленте и выберите Сортировка от А до Я для организации данных в соответствии с последовательностью во вспомогательном столбце. Это восстановит данные в выбранном диапазоне в исходном порядке по мере необходимости.

Шаг 5. Удалите вспомогательный столбец

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


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


Статьи по теме:

  • Легко удалить пустые ячейки в Excel – Полное руководство
  • Удаление пустых ячеек в Excel — распространенная задача, которая помогает оптимизировать данные, упрощая их анализ, понимание и представление. Пустые ячейки могут нарушить анализ данных, вызвать ошибки в формулах и сделать ваши наборы данных неполными или непрофессиональными. В этом уроке мы рассмотрим несколько методов эффективного удаления пустых ячеек или управления ими в Excel, такие как специальная функция «Перейти к», формулы и функция «Фильтр». Каждый метод отвечает различным потребностям и сценариям, поэтому вы можете выбрать тот, который лучше всего соответствует вашим требованиям.
  • Удалить строки на основе цвета фона
  • Как можно удалить целые строки в зависимости от цвета фона? В этом примере мне нужно удалить все строки, ячейки которых заполнены синим цветом фона, как показано на следующем снимке экрана. В этой статье вы получите несколько кодов для выполнения этой задачи в Excel.
  • Удалить каждую вторую строку
  • Если вы хотите быстро удалить каждую вторую строку или столбец в Excel, главное, как вы можете сначала быстро выбрать каждую вторую строку или столбец, а затем применить к ним операцию удаления. И эта статья покажет вам некоторые хитрости о том, как сначала выбрать каждую вторую строку или столбец, а затем быстро их удалить.
Comments (39)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
In given range, if any cell contains defined text the entire row gets deleted.

Pls share code
This comment was minimized by the moderator on the site
Hi Yogesh,
On this webpage, the second method is to delete rows by cell values with VBA code. You can go to there and copy the code directly!
https://www.extendoffice.com/documents/excel/815-excel-remove-rows-based-on-cell-value.html#vba
This comment was minimized by the moderator on the site
There are two issues with the code posted as of this date. 1) the variable xTitleId is not declared, which causes a compilation error if Option Explicit is in use. 2) With Excel 2016, it appears that a range is limited to 129 areas. Each discontiguous matching cell found in the loop creates another area in the DeleteRng variable. Unfortunately, the Union method does not raise an error if that number of areas is exceeded; it just ignores the remaining cells. When the loop is finished, DeleteRng will have no more than 129 areas.
This comment was minimized by the moderator on the site
Hi TomTheToolman,
Thank you so much for your feedback. I've already updated the new code in the article. If you have any other questions, please don't hesitate to let me know.
Amanda
This comment was minimized by the moderator on the site
very well. Thank you!
This comment was minimized by the moderator on the site
Can someone help me...If 3rd column has value 0, then delete all values of corresponding column 1st. In this case answer should be the last line only.... Check MenuName ID 3149 VNLA MILFLLE 2 3149 TURKEY PNN 0 3149 R. BEEF PNN 0 3149 MIX MOCHA 38 3150 M.G.R 1/2 0 3150 THE PEPPE L 0 3150 MIX SLD 0 3150 EGGPLANT 0 3150 STILL WATER 7 3151 MIX MOCHA 38
This comment was minimized by the moderator on the site
Thanks for sharing. I am actually looking for a code that doesn't ask user for range but instead selects a specific column say column "A" and runs till the last row of that column. Can you please help..
This comment was minimized by the moderator on the site
Hi everybody, I am wondering what can we do to delete the following (According to the example shown in this page): Soe appears at several date (sept, October... etc). What I would like is to delete the line where Soe is but to keep the line with last date she appeared. In addition, some lines could be in double but I still want to keep it. So for example, you have the lines: - July 3 /Soe - Sep 4 / Soe - Sep 4 / Soe - Oct 19/ Soe - Nov 13 / Soe - Nov 13 / Soe and what I want to keep is: - Nov 13 / Soe - Nov 13 / Soe My real case is: I have different EAN code and version 1, 2, 3 or 4 and I want to keep the line where the version is the higher. e.g.: I have: - EAN 1 / Version 1 - EAN 1 / Version 1 - EAN 1 / Version 2 - EAN 1 / Version 2 - EAN 2 / Version 2 - EAN 2 / Version 3 - EAN 2 / Version 3 and I want to keep: - EAN 1 / Version 2 - EAN 1 / Version 2 - EAN 2 / Version 3 - EAN 2 / Version 3 I am searching since hours and I am completely blocked on this issue. Many thanks in advance for your brain and help. Best, Marion
This comment was minimized by the moderator on the site
Hi, Thank you this was really helpful. However, there's an error that pops up when I run the codes it says "Object variable or with block variable not set" and it points to " the line DeleteRNG.EntireRow.Delete". Could you please help me with debugging this. Thanks.
This comment was minimized by the moderator on the site
I am trying to use this macro in order to delete unused formulas, because excel views blank formula cells as a zero value and will print extra pages. I was hoping when I deleted the unused formulas, when I printed it would only print the pages that had information. This is not the case and I really need help to find a solution. I have tried using this formula and it is not working and prints three extra pages that I do not need even with the extra formulas being deleted. Sub selectonly() ' ' selectonly Macro ' Range("A1").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)" End Sub
This comment was minimized by the moderator on the site
thank you so much. That save me a lot of time
This comment was minimized by the moderator on the site
Trying to find a delete Function that will delete entire designated rows automatically, based on certain values or certain text contained in other cell(s), using only automated formulas.
This comment was minimized by the moderator on the site
How can i delete selected cell that i want based on value that i entered for example : A1 B1 C1 D1 A2 B2 C2 D2 A3 B3 C3 D3 A4 B4 C4 D4 When i entered in some cell for example "2" then 2 row will be deleted from A3:D4. If i entered "1" then 1 row will be deleted from A4:D4. if i entered "3" then 3 row will be deleted from A2:D4
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations