Как в excel убрать определенные строки

  • Редакция Кодкампа

17 авг. 2022 г.
читать 2 мин


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

Шаг 1: Создайте данные

Во-первых, давайте создадим набор данных, который показывает рейтинги трех игроков в разных баскетбольных командах:

Шаг 2. Найдите значения с определенным текстом

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

На вкладке « Главная » нажмите значок « Найти и выбрать », а затем нажмите « Найти » в раскрывающемся меню:

В появившемся новом окне введите Bad в поле поиска и нажмите « Найти все ».

Затем нажмите Ctrl+A , чтобы выделить все ячейки, содержащие текст Bad.Затем нажмите Закрыть .

Все ячейки, содержащие Bad , будут выделены.

Шаг 3: удалите строки с определенным текстом

Затем щелкните значок « Удалить » на вкладке « Главная », а затем выберите « Удалить строки листа » в раскрывающемся меню:

Все строки, содержащие Bad в одной из ячеек, будут автоматически удалены:

Обратите внимание, что ни в одной из оставшихся строк рейтинг игрока не указан как плохой ни в одном из столбцов.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:

Excel: как проверить, содержит ли ячейка частичный текст
Excel: как проверить, содержит ли ячейка текст из списка
Excel: как рассчитать среднее значение, если ячейка содержит текст
Excel: как подсчитать частоту текста

Написано

Редакция Кодкампа

Замечательно! Вы успешно подписались.

Добро пожаловать обратно! Вы успешно вошли

Вы успешно подписались на кодкамп.

Срок действия вашей ссылки истек.

Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.

Успех! Ваша платежная информация обновлена.

Ваша платежная информация не была обновлена.

Хитрости »

28 Май 2011              644824 просмотров


Как удалить строки по условию?

Предположу, что почти каждый сталкивался с ситуацией, когда необходимо удалить только определенные строки: имеется большая таблица и необходимо удалить из неё только те строки, которые содержат какое-то слово (цифру, фразу). Для выполнения подобной задачи можно воспользоваться несколькими способами.

Способ первый:
Использовать встроенное средство 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, который потребует только указания значения, которое необходимо найти в строке и номер столбца, в котором искать значение.

Sub Del_SubStr()
    Dim sSubStr As String 'искомое слово или фраза(может быть указанием на ячейку)
    Dim lCol As Long      'номер столбца с просматриваемыми значениями
    Dim lLastRow As Long, li As Long
    Dim lMet As Long
    Dim arr
 
    sSubStr = InputBox("Укажите значение, которое необходимо найти в строке", "www.excel-vba.ru", "")
    If sSubStr = "" Then lMet = 0 Else lMet = 1
    lCol = Val(InputBox("Укажите номер столбца, в котором искать указанное значение", "www.excel-vba.ru", 1))
    If lCol = 0 Then Exit Sub
 
    lLastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
    arr = Cells(1, lCol).Resize(lLastRow).Value
    Application.ScreenUpdating = 0
    Dim rr As Range
    For li = 1 To lLastRow 'цикл с первой строки до конца
        If -(InStr(arr(li, 1), sSubStr) > 0) = lMet Then
            If rr Is Nothing Then
                Set rr = Cells(li, 1)
            Else
                Set rr = Union(rr, Cells(li, 1))
            End If
        End If
    Next li
    If Not rr Is Nothing Then rr.EntireRow.Delete
    Application.ScreenUpdating = 1
End Sub

Если значение sSubStr не будет указано, то будут удалены строки, ячейки указанного столбца которых, пустые.
Данный код необходимо поместить в стандартный модуль. Вызвать с листа его можно нажатием клавиш Alt+F8, после чего выбрать Del_SubStr и нажать Выполнить. Если в данном коде в строке
If -(InStr(Cells(li, 1), sSubStr) > 0) = lMet Then
вместо = lMet указать <> lMet, то удаляться будут строки, не содержащие указанное для поиска значение. Иногда тоже удобно.
Но. Данный код просматривает строки на предмет частичного совпадения указанного значения. Например, если Вы укажете текст для поиска «отчет», то будут удалены все строки, в которых встречается это слово(«квартальный отчет», «отчет за месяц» и т.д.). Это не всегда нужно. Поэтому ниже приведен код, который будет удалять только строки, указанные ячейки которых равны конкретно указанному значению:

Sub Del_SubStr()
    Dim sSubStr As String 'искомое слово или фраза(может быть указанием на ячейку)
    Dim lCol As Long 'номер столбца с просматриваемыми значениями
    Dim lLastRow As Long, li As Long
    Dim arr
 
    sSubStr = InputBox("Укажите значение, которое необходимо найти в строке", "www.excel-vba.ru", "")
    lCol = Val(InputBox("Укажите номер столбца, в котором искать указанное значение", "www.excel-vba.ru", 1))
    If lCol = 0 Then Exit Sub
 
    lLastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
    arr = Cells(1, lCol).Resize(lLastRow).Value
 
    Application.ScreenUpdating = 0
    Dim rr As Range
    For li = 1 To lLastRow 'цикл с первой строки до конца
        If CStr(arr(li, 1)) = sSubStr Then
            If rr Is Nothing Then
                Set rr = Cells(li, 1)
            Else
                Set rr = Union(rr, Cells(li, 1))
            End If
        End If
    Next li
    If Not rr Is Nothing Then rr.EntireRow.Delete
    Application.ScreenUpdating = 1
End Sub

Здесь так же, как и в случае с предыдущим кодом можно заменить оператор сравнения(Cells(li, lCol) = sSubStr) с равно на неравенство(Cells(li, lCol) <> sSubStr) и тогда удаляться будут строки, значения ячеек которых не равно указанному.


УДАЛЕНИЕ СТРОК НА ОСНОВАНИИ СПИСКА ЗНАЧЕНИЙ(МНОЖЕСТВЕННЫЕ КРИТЕРИИ)
Иногда бывают ситуации, когда необходимо удалить строки не по одному значению, а по нескольким. Например, если строка содержит или Итог или Отчет. Ниже приведен код, при помощи которого можно удалить строки, указав в качестве критерия диапазон значений.
Значения, которые необходимо найти и удалить перечисляются на листе с именем «Лист2». Т.е. указав на «Лист2» в столбце А(начиная с первой строки) несколько значений — они все будут удалены. Если лист называется иначе(скажем «Соответствия») в коде необходимо будет «Лист2» заменить на «Соответствия». Удаление строк происходит на активном в момент запуска кода листе. Это значит, что перед запуском кода надо перейти на тот лист, строки в котором необходимо удалить.

Sub Del_Array_SubStr()
    Dim sSubStr As String    'искомое слово или фраза
    Dim lCol As Long    'номер столбца с просматриваемыми значениями
    Dim lLastRow As Long, li As Long
    Dim avArr, lr As Long
    Dim arr
 
    lCol = Val(InputBox("Укажите номер столбца, в котором искать указанное значение", "www.excel-vba.ru", 1))
    If lCol = 0 Then Exit Sub
    Application.ScreenUpdating = 0
    lLastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
    'заносим в массив значения листа, в котором необходимо удалить строки
    arr = Cells(1, lCol).Resize(lLastRow).Value
    'Получаем с Лист2 значения, которые надо удалить в активном листе
    With Sheets("Лист2") 'Имя листа с диапазоном значений на удаление
        avArr = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
    End With
    'удаляем
    Dim rr As Range
    For lr = 1 To UBound(avArr, 1)
        sSubStr = avArr(lr, 1)
        For li = 1 To lLastRow 'цикл с первой строки до конца
            If CStr(arr(li, 1)) = sSubStr Then
                If rr Is Nothing Then
                    Set rr = Cells(li, 1)
                Else
                    Set rr = Union(rr, Cells(li, 1))
                End If
            End If
            DoEvents
        Next li
        DoEvents
    Next lr
    If Not rr Is Nothing Then rr.EntireRow.Delete
    Application.ScreenUpdating = 1
End Sub

Чтобы код выше удалял строки не по точному совпадению слов, а по частичному(например, в ячейке записано «Привет, как дела?», а в списке есть слово «привет» — надо удалить, т.к. есть слово «привет»), то надо строку:

If CStr(arr(li, 1)) = sSubStr Then

заменить на такую:

If InStr(1, arr(li, 1), sSubStr, 1) > 0 Then

УДАЛЕНИЕ ИЗ ЛИСТА СТРОК, КОТОРЫХ НЕТ В СПИСКЕ ЗНАЧЕНИЙ(МНОЖЕСТВЕННЫЕ КРИТЕРИИ)

Т.к. в последнее время стало поступать все больше и больше вопросов как не удалять значения по списку, а наоборот — оставить в таблице только те значения, которые перечислены в списке — решил дополнить статью и таким кодом.
Значения, которые необходимо оставить перечисляются на листе с именем «Лист2». Т.е. указав на «Лист2» в столбце А(начиная с первой строки) несколько значений — после работы кода на листе будут оставлены только те строки, в которых присутствует хоть одно из перечисленных в списке значений. Если лист называется иначе(скажем «Соответствия») в коде необходимо будет «Лист2» заменить на «Соответствия». Удаление строк происходит на активном в момент запуска кода листе. Это значит, что перед запуском кода надо перейти на тот лист, строки в котором необходимо удалить.
В отличие от приведенных выше кодов, данный код ориентирован на то, что значения в списке указаны не полностью. Т.е. если необходимо оставить только те ячейки, в которых встречается слово «активы», то в списке надо указать только это слово. В этом случае если в ячейке будет записана фраза «Нематериальные активы» или «Активы сторонние» — эти ячейки не будут удалены, т.к. в них встречается слово «активы». Регистр букв при этом неважен.

'процедура оставляет в листе только те значения, которые перечислены в списке
Sub LeaveOnlyFoundInArray()
    Dim sSubStr As String   'искомое слово или фраза
    Dim lCol As Long        'номер столбца с просматриваемыми значениями
    Dim lLastRow As Long, li As Long
    Dim avArr, lr As Long
    Dim arr
    Dim IsFind As Boolean
 
    lCol = Val(InputBox("Укажите номер столбца, в котором искать указанное значение", "www.excel-vba.ru", 1))
    If lCol = 0 Then Exit Sub
    Application.ScreenUpdating = 0
    lLastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
    'заносим в массив значения листа, в котором необходимо удалить строки
    arr = Cells(1, lCol).Resize(lLastRow).Value
    'Получаем с Лист2 значения, которые надо удалить в активном листе
    With Sheets("Лист2") 'Имя листа с диапазоном значений на удаление
        avArr = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
    End With
    'удаляем
    Dim rr As Range
    For li = 1 To lLastRow 'цикл с первой строки таблицы до конца
        IsFind = False
        For lr = 1 To UBound(avArr, 1) 'цикл по списку значений на удаление
            sSubStr = avArr(lr, 1)
            If InStr(1, arr(li, 1), sSubStr, 1) > 0 Then
                IsFind = True
            End If
            DoEvents
        Next lr
        'если значение таблицы не найдено в списке - удаляем строку
        If Not IsFind Then
            If rr Is Nothing Then
                Set rr = Cells(li, 1)
            Else
                Set rr = Union(rr, Cells(li, 1))
            End If
        End If
        DoEvents
    Next li
    If Not rr Is Nothing Then rr.EntireRow.Delete
    Application.ScreenUpdating = 1
End Sub

Чтобы код выше сравнивал значения таблицы со значениями списка по точному совпадению слов, а не по частичному, то надо строку:

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-ти шапка), то код будет выглядеть так:

For li = 7 To lLastRow 'цикл с седьмой строки до конца

А если надо удалять только с 3-ей по 300-ю, то код будет выглядеть так:

For li = 3 To 300 'цикл с третьей строки до трехсотой

Так же см.:
Что такое макрос и где его искать?
Что такое модуль? Какие бывают модули?
Как создать кнопку для вызова макроса на листе
Удаление всех пустых строк в таблице
Удаление пустых столбцов на листе
Установить Быстрый фильтр
Фильтр


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

In this guide, we’re going to show you how to remove all rows containing specific value in Excel. We are going to be taking a look at two methods:

  • Find and Replace
  • Filter

These methods are good for removing all rows containing a specific value, such as repeating headers.

Removing all rows containing specific value using Find and Replace

  1. If you wish to perform removing a specific range, select your data, including the values you want to remove. Otherwise, you do not need to select any cells.
  2. Press the Ctrl + F key combination to open Find and Replace.
  3. Type in the value in the rows you want to remove.
  4. Click Find All.
  5. Select any of the found values in the results pane.
  6. Press Ctrl + A to select all of them. You can select specific values you want to remove by using Ctrl or Shift keys.
  7. Close the Find and Replace window.
    How to remove all rows containing specific value in Excel - Find Replace
  8. Press Ctrl + — to open Delete
  9. Select Entire row
  10. Click OK button to delete those rows.

After clicking OK, Excel will remove all rows containing the selected cells.

Warning: If found and selected items contain an Excel Table header, the Ctrl + — shortcut will not work.

Removing all rows containing specific value using Filter

This approach is more suitable for data in a table structure.

  1. Select your data, including the values you want to remove.
  2. Press Ctrl + Shift + L to enable Filters. Alternatively, you can click Filter in Data tab.
  3. Click the down arrow in the header of the column that contains the value you want to select.
  4. Select the value(s) you want to remove in the filter dialog.
  5. Click OK to apply the filter.
    How to remove all rows containing specific value in Excel - Filter
  6. Select each cell individually by clicking cells while holding down the Ctrl key. Don’t use the Shift key or drag the mouse to select cells.
  7. Once the cells are selected, press Ctrl + —.
  8. Click OK on prompt dialog to delete rows.

Clear the filters to see the remaining rows.

Содержание

  • Процесс удаления строк
    • Способ 1: одиночное удаление через контекстное меню
    • Способ 2: одиночное удаление с помощью инструментов на ленте
    • Способ 3: групповое удаление
    • Способ 4: удаление пустых элементов
    • Способ 5: использование сортировки
    • Способ 6: использование фильтрации
    • Способ 7: условное форматирование
  • Вопросы и ответы

Удаление строк в Microsoft Excel

Во время работы с программой Excel часто приходится прибегать к процедуре удаления строк. Этот процесс может быть, как единичным, так и групповым, в зависимости от поставленных задач. Особый интерес в этом плане представляет удаление по условию. Давайте рассмотрим различные варианты данной процедуры.

Процесс удаления строк

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

Способ 1: одиночное удаление через контекстное меню

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

  1. Кликаем правой кнопкой мыши по любой из ячеек той строки, которую нужно удалить. В появившемся контекстном меню выбираем пункт «Удалить…».
  2. Переход к процедуре удаления через контекстное меню в Microsoft Excel

  3. Открывается небольшое окошко, в котором нужно указать, что именно нужно удалить. Переставляем переключатель в позицию «Строку».
    Выбор объекта удаления в Microsoft Excel

    После этого указанный элемент будет удален.

    Также можно кликнуть левой кнопкой мыши по номеру строчки на вертикальной панели координат. Далее следует щелкнуть по выделению правой кнопкой мышки. В активировавшемся меню требуется выбрать пункт «Удалить».

    Удаление строки через панель координат в Microsoft Excel

    В этом случае процедура удаления проходит сразу и не нужно производить дополнительные действия в окне выбора объекта обработки.

Способ 2: одиночное удаление с помощью инструментов на ленте

Кроме того, эту процедуру можно выполнить с помощью инструментов на ленте, которые размещены во вкладке «Главная».

  1. Производим выделение в любом месте строчки, которую требуется убрать. Переходим во вкладку «Главная». Кликаем по пиктограмме в виде небольшого треугольника, которая расположена справа от значка «Удалить» в блоке инструментов «Ячейки». Выпадает список, в котором нужно выбрать пункт «Удалить строки с листа».
  2. Удаление строки через кнопку на ленте в Microsoft Excel

  3. Строчка будет тут же удалена.

Также можно выделить строку в целом, щелкнув левой кнопки мыши по её номеру на вертикальной панели координат. После этого, находясь во вкладке «Главная», жмем на значок «Удалить», размещенный в блоке инструментов «Ячейки».

Удаление строки с помощью кнопки на ленте в Microsoft Excel

Способ 3: групповое удаление

Для выполнения группового удаления строчек, прежде всего, нужно произвести выделение необходимых элементов.

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

    Lumpics.ru

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

    Выделение диапазона ячееек с помощью клавиши Shift в Microsoft Excel

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

  2. Выделение розрозненных ячеек в Microsoft Excel

  3. Чтобы провести непосредственную процедуру удаления строчек вызываем контекстное меню или же переходим к инструментам на ленте, а далее следуем тем рекомендациям, которые были даны во время описания первого и второго способа данного руководства.

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

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

    Можно также воспользоваться и вариантом с использованием клавиши Shift. Кликаем левой кнопкой мышки по первому номеру строки диапазона, который следует удалить. Затем зажимаем клавишу Shift и выполняем щелчок по последнему номеру указанной области. Весь диапазон строчек, лежащий между этими номерами, будет выделен.

    Выделение диапазона строк с помощью клавиши Shift в Microsoft Excel

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

  2. Выделение розрозненных строк в Microsoft Excel

  3. Для того, чтобы убрать выбранные строки, щелкаем по любому выделению правой кнопкой мыши. В контекстном меню останавливаемся на пункте «Удалить».
    Удаление выбранных строк в Microsoft Excel

    Операция удаления всех выбранных элементов будет произведена.

Выбранные строки удалены в Microsoft Excel

Урок: Как выполнить выделение в Excel

Способ 4: удаление пустых элементов

Иногда в таблице могут встречаться пустые строчки, данные из которых были ранее удалены. Такие элементы лучше убрать с листа вовсе. Если они расположены рядом друг с другом, то вполне можно воспользоваться одним из способов, который был описан выше. Но что делать, если пустых строк много и они разбросаны по всему пространству большой таблицы? Ведь процедура их поиска и удаления может занять значительное время. Для ускорения решения данной задачи можно применить нижеописанный алгоритм.

  1. Переходим во вкладку «Главная». На ленте инструментов жмем на значок «Найти и выделить». Он расположен в группе «Редактирование». В открывшемся списке жмем на пункт «Выделение группы ячеек».
  2. Переход к выделентю группы ячеек в Microsoft Excel

  3. Запускается небольшое окошко выделения группы ячеек. Ставим в нем переключатель в позицию «Пустые ячейки». После этого жмем на кнопку «OK».
  4. Окно выделения ячеек в Microsoft Excel

  5. Как видим, после того, как мы применили данное действие, все пустые элементы выделены. Теперь можно использовать для их удаления любой из способов, о которых шла речь выше. Например, можно нажать на кнопку «Удалить», которая расположена на ленте в той же вкладке «Главная», где мы сейчас работаем.
    Удаление пустых ячеек в Microsoft Excel

    Как видим, все незаполненные элементы таблицы были удалены.

Пустые строки удалены в Microsoft Excel

Обратите внимание! При использовании данного метода строчка должна быть абсолютно пустая. Если в таблице имеются пустые элементы, расположенные в строке, которая содержит какие-то данные, как на изображении ниже, этот способ применять нельзя. Его использование может повлечь сдвиг элементов и нарушение структуры таблицы.

Нельзя применять удаление пустых строк в Microsoft Excel

Урок: Как удалить пустые строки в Экселе

Способ 5: использование сортировки

Для того, чтобы убрать строки по определенному условию можно применять сортировку. Отсортировав элементы по установленному критерию, мы сможем собрать все строчки, удовлетворяющие условию вместе, если они разбросаны по всей таблице, и быстро убрать их.

  1. Выделяем всю область таблицы, в которой следует провести сортировку, или одну из её ячеек. Переходим во вкладку «Главная» и кликаем по значку «Сортировка и фильтр», которая расположена в группе «Редактирование». В открывшемся списке вариантов действий выбираем пункт «Настраиваемая сортировка».
    Переход к настраиваемой сортировке в Microsoft Excel

    Можно также совершить альтернативные действия, которые тоже приведут к открытию окна настраиваемой сортировки. После выделения любого элемента таблицы переходим во вкладку «Данные». Там в группе настроек «Сортировка и фильтр» жмем на кнопку «Сортировка».

  2. Переход к сортировке в Microsoft Excel

  3. Запускается окно настраиваемой сортировки. Обязательно установите галочку, в случае её отсутствия, около пункта «Мои данные содержат заголовки», если у вашей таблицы имеется шапка. В поле «Сортировать по» нужно выбрать наименование столбца, по которому будет происходить отбор значений для удаления. В поле «Сортировка» нужно указать, по какому именно параметру будет происходить отбор:
    • Значения;
    • Цвет ячейки;
    • Цвет шрифта;
    • Значок ячейки.

    Тут уже все зависит от конкретных обстоятельств, но в большинстве случаев подходит критерий «Значения». Хотя в дальнейшем мы поговорим и об использовании другой позиции.

    В поле «Порядок» нужно указать, в каком порядке будут сортироваться данные. Выбор критериев в этом поле зависит от формата данных выделенного столбца. Например, для текстовых данных порядок будет «От А до Я» или «От Я до А», а для даты «От старых к новым» или «От новых к старым». Собственно сам порядок большого значения не имеет, так как в любом случае интересующие нас значения будут располагаться вместе.
    После того, как настройка в данном окне выполнена, жмем на кнопку «OK».

  4. Окно сортировки в Microsoft Excel

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

Удаление ячеек после сортировки в Microsoft Excel

Кстати, этот же способ можно использовать для группировки и массового удаления пустых строчек.

Удаление пустых строк при помощи сотировки в Microsoft Excel

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

Урок: Сортировка данных в Экселе

Способ 6: использование фильтрации

Для удаления строк, которые содержат определенные значения, можно также использовать такой инструмент, как фильтрация. Преимущество данного способа состоит в том, что, если вам вдруг эти строчки когда-нибудь понадобится снова, то вы их сможете всегда вернуть.

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

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

  2. Включение фильтра в Microsoft Excel

  3. После выполнения любого из вышеуказанных действий около правой границы каждой ячейки шапки появится символ фильтрации в виде треугольника, направленного углом вниз. Жмем по этому символу в том столбце, где находится значение, по которому мы будем убирать строки.
  4. Переход к фильтру в Microsoft Excel

  5. Открывается меню фильтрования. Снимаем галочки с тех значений в строчках, которые хотим убрать. После этого следует нажать на кнопку «OK».

Фильтрация в Microsoft Excel

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

Фильтрация выполнена в Microsoft Excel

Урок: Применение фильтра в Excel

Способ 7: условное форматирование

Ещё более точно можно задать параметры выбора строк, если вместе с сортировкой или фильтрацией использовать инструменты условного форматирования. Вариантов ввода условий в этом случае очень много, поэтому мы рассмотрим конкретный пример, чтобы вы поняли сам механизм использования этой возможности. Нам нужно удалить строчки в таблице, по которым сумма выручки менее 11000 рублей.

  1. Выделяем столбец «Сумма выручки», к которому хотим применить условное форматирование. Находясь во вкладке «Главная», производим щелчок по значку «Условное форматирование», который расположен на ленте в блоке «Стили». После этого открывается список действий. Выбираем там позицию «Правила выделения ячеек». Далее запускается ещё одно меню. В нем нужно конкретнее выбрать суть правила. Тут уже следует производить выбор, основываясь на фактической задаче. В нашем отдельном случае нужно выбрать позицию «Меньше…».
  2. Переход в окно условного форматирования в Microsoft Excel

  3. Запускается окно условного форматирования. В левом поле устанавливаем значение 11000. Все значения, которые меньше него, будут отформатированы. В правом поле есть возможность выбрать любой цвет форматирования, хотя можно также оставить там значение по умолчанию. После того, как настройки выполнены, щелкаем по кнопке «OK».
  4. Окно форматирования в Microsoft Excel

  5. Как видим, все ячейки, в которых имеются значения выручки менее 11000 рублей, были окрашены в выбранный цвет. Если нам нужно сохранить изначальный порядок, после удаления строк делаем дополнительную нумерацию в соседнем с таблицей столбце. Запускаем уже знакомое нам окно сортировки по столбцу «Сумма выручки» любым из способов, о которых шла речь выше.
  6. Запуск окна сортировки в Microsoft Excel

  7. Открывается окно сортировки. Как всегда, обращаем внимание, чтобы около пункта «Мои данные содержат заголовки» стояла галочка. В поле «Сортировать по» выбираем столбец «Сумма выручки». В поле «Сортировка» устанавливаем значение «Цвет ячейки». В следующем поле выбираем тот цвет, строчки с которым нужно удалить, согласно условному форматированию. В нашем случае это розовый цвет. В поле «Порядок» выбираем, где будут размещаться отмеченные фрагменты: сверху или снизу. Впрочем, это не имеет принципиального значения. Стоит также отметить, что наименование «Порядок» может быть смещено влево от самого поля. После того, как все вышеуказанные настройки выполнены, жмем на кнопку «OK».
  8. Сортировка данных в Microsoft Excel

  9. Как видим, все строчки, в которых имеются выделенные по условию ячейки, сгруппированы вместе. Они будут располагаться вверху или внизу таблицы, в зависимости от того, какие параметры пользователь задал в окне сортировки. Теперь просто выделяем эти строчки тем методом, который предпочитаем, и проводим их удаление с помощью контекстного меню или кнопки на ленте.
  10. Удаление строк по условному форматированию в Microsoft Excel

  11. Затем можно отсортировать значения по столбцу с нумерацией, чтобы наша таблица приняла прежний порядок. Ставший ненужным столбец с номерами можно убрать, выделив его и нажав знакомую нам кнопку «Удалить» на ленте.

Удаление столбца с номерами в Microsoft Excel

Поставленная задача по заданному условию решена.

Удаление с помощью условного форматирование прошло усипешно в Microsoft Excel

Кроме того, можно произвести аналогичную операцию с условным форматированием, но только после этого проведя фильтрацию данных.

  1. Итак, применяем условное форматирование к столбцу «Сумма выручки» по полностью аналогичному сценарию. Включаем фильтрацию в таблице одним из тех способов, которые были уже озвучены выше.
  2. Включение фильтрации для отформатированной таблицы в Microsoft Excel

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

  5. Как видим, после этого действия все строчки, которые были залиты цветом с помощью условного форматирования, исчезли. Они спрятаны фильтром, но если удалить фильтрацию, то в таком случае, указанные элементы снова отобразятся в документе.

Фильтрация произведена в Microsoft Excel

Урок: Условное форматирование в Экселе

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

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

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

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

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

1. Выберите диапазон, в котором вы будете удалять строки на основе определенного значения ячейки, и откройте диалоговое окно «Найти и заменить», нажав кнопку Ctrl + F ключи одновременно.

2. В диалоговом окне «Найти и заменить» введите определенное значение ячейки (в нашем случае мы вводим Soe) в Find what и нажмите Find All кнопка. См. Первый снимок экрана ниже:

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

4. Щелкните правой кнопкой мыши выбранные ячейки и выберите Delete из контекстного меню. А затем проверьте Entire row во всплывающем диалоговом окне Удалить и щелкните OK кнопка. Теперь вы увидите, что все ячейки, содержащие определенное значение, удалены. Смотрите скриншоты ниже:

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


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

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

1, нажмите Alt + F11 ключи одновременно, чтобы открыть Microsoft Visual Basic for applications окно,

2. Нажмите Insert > Module, и введите в модуль следующий код:

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

Sub DeleteRows()
'Updateby20211217
Dim rng As Range
Dim InputRng As Range
Dim DeleteRng As Range
Dim DeleteStr As String
Dim xTitleId As String
Dim xArr
Dim xF As Integer
Dim xWSh As Worksheet
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, rng.Address, Type:=8)
If InputRng Is Nothing Then Exit Sub
DeleteStr = Application.InputBox("Delete Text", xTitleId, Type:=2)
Set xWSh = InputRng.Worksheet
For Each rng In InputRng
    If rng.Value = DeleteStr Then
        If DeleteRng Is Nothing Then
            Set DeleteRng = rng
        Else
            Set DeleteRng = Application.Union(DeleteRng, rng)
            Set DeleteRng = DeleteRng.EntireRow
        End If
    End If
Next
xArr = Split(DeleteRng.AddressLocal, ",")
DeleteRng.Select
DeleteRng.Delete
For xF = UBound(xArr) To 0 Step -1
    Set DeleteRng = xWSh.Range(xArr(xF))
    DeleteRng.Delete
Next
End Sub

3, Затем нажмите Run кнопку для запуска кода.

4. Во всплывающем диалоговом окне выберите диапазон, в котором вы будете удалять строки на основе определенного значения, и нажмите кнопку OK кнопку.

5. В другом диалоговом окне введите определенное значение, на основе которого вы будете удалять строки, и нажмите кнопку OK кнопка. Смотрите скриншот:

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


Удалить строки на основе одного или двух значений ячейки с помощью Kutools for Excel

Если вы установили Kutools for Excel, Его Select Specific Cells Функция может помочь вам быстро удалить строки с определенным значением. Пожалуйста, сделайте следующее:

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now

1. Выберите диапазон, в котором вы будете удалять строки на основе определенного значения, и нажмите Kutools > Select > Select Specific Cells. Смотрите скриншот:

2. В открывшемся диалоговом окне Select Specified Cells установите флажок Entire row выберите, выберите Contains от Specific type раскрывающийся список, введите указанное значение в правое поле и щелкните значок Ok кнопку (см. снимок экрана выше).
После применения этой функции появится диалоговое окно, в котором будет показано, сколько ячеек было найдено в соответствии с указанными критериями. Пожалуйста, нажмите на OK чтобы закрыть его.

3. Теперь выбираются целые строки с определенным значением. Щелкните правой кнопкой мыши выбранные строки и щелкните значок Delete из контекстного меню. Смотрите скриншот ниже:

Внимание: Это Select Specific Cells функция поддерживает удаление строк на одно или два определенных значения. Для удаления строк на основе двух указанных значений укажите другое значение в поле Specific type раздел диалогового окна Select Specific Cells, как показано на следующем снимке экрана:

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now


Удалить строки на основе нескольких значений ячеек с помощью Kutools for Excel

В некоторых случаях вам может потребоваться удалить строки на основе нескольких значений ячеек из другого столбца / списка в Excel. Здесь я представлю Kutools for Excel‘s Select Same & Different Cells функция, чтобы быстро и легко решить эту проблему.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now

1. Нажмите Kutools > Select > Select Same & Different Cells , чтобы открыть диалоговое окно Выбрать одинаковые и разные ячейки.

2. В открытии Select Same & Different Cells диалоговое окно, сделайте следующее (см. снимок экрана):

(1) В Find values in поле, выберите столбец, в котором вы найдете определенные значения;
(2) В According to поле, выберите столбец / список с несколькими значениями, на основе которых вы будете удалять строки;
(3) В Based on раздел, пожалуйста, проверьте Each row вариант;
(4) В Find раздел, пожалуйста, проверьте Same Values вариант;
(5) Проверьте Select entire rows опция внизу открывающегося диалогового окна.
Внимание: Если два указанных столбца содержат один и тот же заголовок, проверьте My data has headers опцию.

3, Нажмите Ok кнопку, чтобы применить эту утилиту. Затем появляется диалоговое окно, в котором показано, сколько строк было выбрано. Просто нажмите на OK чтобы закрыть его.

Затем были выбраны все строки, содержащие значения из указанного списка.

4. Нажмите Home > Delete > Delete Sheet Rows для удаления всех выбранных строк.


Демо: удаление строк на основе одного или нескольких значений ячеек в Excel


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Понравилась статья? Поделить с друзьями:
  • Как в excel убрать одну колонку
  • Как в excel убрать одинаковый символ во всех ячейках
  • Как в excel убрать одинаковые строчки
  • Как в excel убрать одинаковые строки в таблице
  • Как в excel убрать область печати в excel