Перейти до основного матеріалу

Видалення рядків на основі значення клітинки в Excel – простий підручник

Незалежно від того, чи маєте ви справу з маленькою електронною таблицею чи великим набором даних, знання того, як видаляти рядки на основі значень клітинок, може заощадити ваш час і зусилля. Цей процес можна виконати за допомогою кількох функцій Excel, зокрема функції «Фільтр», інструмента «Знайти та замінити», функції «Сортування» та навіть за допомогою передових методів. До кінця цього посібника ви отримаєте знання, як ефективно видаляти непотрібні рядки з ваших аркушів Excel, гарантуючи, що ваші дані чисті та відповідають вашим потребам аналізу.

Наприклад, якщо я хочу видалити всі рядки, у яких стовпець імені містить Jener, як мені діяти?

Видалити цілі рядки на основі значення клітинки

Видалення рядків із виділення на основі значення клітинки за допомогою функції сортування


Видаліть цілі рядки на основі значення клітинки в Excel

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

???? примітки: наведені нижче методи видалення рядків видаляють усі дані в цьому рядку, включно з вмістом інших клітинок рядка. Щоб запобігти втраті даних, спробуйте скопіювати набір даних на інший аркуш перед видаленням.

Видаліть цілі рядки на основі значення клітинки за допомогою функції фільтра

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

Крок 1: застосуйте функцію «Фільтр», щоб відфільтрувати непотрібні рядки

  1. Виберіть діапазон даних, рядки якого потрібно видалити. А потім натисніть дані > фільтр, див. скріншот:
  2. Тепер у заголовку кожного стовпця з’являться спадні стрілки. Клацніть стрілку розкривного списку в стовпці зі значеннями, на основі яких ви хочете видалити рядки. Наприклад, якщо ви бажаєте видалити рядки з іменем Jener, вам слід натиснути стрілку в стовпці Ім’я.
  3. У спадному меню зніміть прапорець Вибрати всі щоб очистити всі виділення, і поставте прапорець лише біля Jener або вручну введіть Jener у вікні пошуку, щоб швидко знайти його.
  4. А потім натисніть OK кнопку, щоб застосувати фільтр. Відображатимуться лише ті рядки, які містять Jener. Перегляньте скріншот:

Крок 2. Видаліть відфільтровані рядки

Виберіть видимі рядки, потім клацніть правою кнопкою миші на одному з вибраних рядків і виберіть Видалити рядок з контекстного меню. Це призведе до видалення всіх вибраних рядків.

Крок 3. Очистіть фільтр

Потім натисніть кнопку дані > фільтр знову. Це видалить фільтр, і ви побачите всі записи, крім видалених.

💡 Tips :
  • Подібно до того, як я застосовую метод фільтра для видалення рядків, що містять текст Jener, ви також можете використовувати його для видалення рядків на основі числових чи датових умов, як показано на наступних знімках екрана:
    Умови фільтрації номерів:


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

Видаліть цілі рядки на основі значення клітинки за допомогою Kutools AI Aide

Kutools для Excel це комплексна надбудова, яка включає понад 300 розширених функцій, призначених для спрощення різних типів складних завдань у Excel. Одна з його особливостей, Kutools AI Aide, допомагає автоматизувати такі завдання, як фільтрація та видалення рядків на основі певних критеріїв.

???? примітки: Щоб використовувати це Kutools AI Aide of Kutools для Excel, будь ласка завантажте та встановіть Kutools для Excel перший.

після установки Kutools для Excel, Будь ласка, натисніть Kutools AI > А. І. помічник відкрити Kutools AI Aide панель:

  1. Виберіть діапазон даних, потім введіть свою вимогу у вікні чату та натисніть Відправити кнопку або натисніть Що натомість? Створіть віртуальну версію себе у ключ для відправки питання;
    «Видалити рядки, якщо стовпець «Ім’я» містить ім’я Дженер у вибраному місці»
  2. Після аналізу натисніть Виконати кнопку для запуску. Kutools AI Aide обробить ваш запит за допомогою штучного інтелекту та видалить вказані рядки безпосередньо в Excel.
💡 Tips :
  • Щоб видалити рядки на основі кількох критеріїв, просто налаштуйте відповідні вимоги. Наприклад, використовуйте такі команди, як "Видаліть рядки, у яких у стовпці «Ім’я» є Дженер або Кевін"Або"Видаліть рядки, у яких у стовпці «Ім’я» міститься Jener, а загальний обсяг продажів перевищує 7000 у вибраному місці".
  • Цей метод не підтримує скасування функція. Однак, якщо ви бажаєте відновити вихідні дані, ви можете клацнути Незадоволений щоб скасувати зміни.
 

Видаліть цілі рядки на основі значення клітинки за допомогою функції «Знайти та замінити».

Видалення цілих рядків на основі певного значення клітинки за допомогою функції «Знайти й замінити» Excel — це простий метод, який може бути дуже ефективним для очищення ваших даних. Будь ласка, зробіть наступне:

Крок 1. Застосуйте функцію «Знайти та замінити», щоб вибрати конкретне значення

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

Крок 2: Видаліть рядки на основі вибраного значення

  1. Коли комірки все ще виділені, клацніть правою кнопкою миші одну з вибраних комірок і виберіть видаляти з контекстного меню.
  2. Select Весь ряд у діалоговому вікні «Видалити» та клацніть OK щоб видалити всі рядки, що містять вказане значення.
 

Видаліть цілі рядки на основі значення клітинки за допомогою коду VBA

Видалення рядків на основі значення клітинки за допомогою VBA (Visual Basic for Applications) в Excel дозволяє автоматизувати завдання, роблячи його ефективним, особливо для великих наборів даних.

Крок 1. Відкрийте редактор модуля VBA та скопіюйте код

  1. прес Alt + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.
  2. У вікні, що відкрилося, натисніть Insert > Модулі щоб створити новий порожній модуль.
  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 до А., і з’явиться діалогове вікно Попередження про сортування, виберіть Розгорніть вибір, а потім клацніть сортувати кнопку. Дивіться знімок екрана:
  2. Тепер рядки з однаковими значеннями будуть згруповані разом, що полегшить їх ідентифікацію та вибір. Перегляньте скріншот:

Крок 3: Видаліть відсортовані рядки

  1. Виберіть групу записів, які потрібно видалити, клацніть правою кнопкою миші та виберіть видаляти з контекстного меню. В видаляти діалогове вікно, виберіть Змістити клітинки вгору варіант. А потім натисніть OK Кнопка. Дивіться знімок екрана:
  2. Видаляються лише записи, де ім’я Jener, без видалення всього рядка. Таким чином, будь-які дані праворуч або ліворуч від вашого набору даних залишаться незмінними.

Крок 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