Как удалить каждую вторую строку или каждую N-ю строку в Excel

В этом кратком руководстве объясняется, как удалить все остальные строки в Excel с помощью фильтрации или с помощью кода VBA. Вы также узнаете, как удалить каждую 3-ю, 4-ю или любую другую N-ю строку.

Существует много ситуаций, когда вам может потребоваться удалить альтернативные строки в таблицах Excel. Например, вы можете сохранить данные за четные недели (строки 2, 4, 6, 8 и т.д.) и переместить все нечетные недели (строки 3, 5, 7 и т.д.) На какой-нибудь другой лист.

Как правило, удаление всех остальных строк в Excel https://excel-home.ru/ сводится к выбору альтернативных строк. После выбора строк достаточно одного нажатия кнопки удаления. Далее в этой статье вы узнаете несколько способов быстрого выделения и удаления каждой второй или каждой N-й строки в Excel.

Как удалить все остальные строки в Excel с помощью фильтрации

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

  1. В пустой столбец рядом с исходными данными введите последовательность нулей и единиц. Вы можете быстро сделать это, введя 0 в первой ячейке и 1 во второй ячейке, затем скопировав первые две ячейки и вставив их вниз по столбцу до последней ячейки с данными.В качестве альтернативы вы можете использовать эту формулу:=MOD(ROW(),2)

    Логика формулы очень проста: функция ROW возвращает номер текущей строки, функция MOD делит его на 2 и возвращает остаток, округленный до целого числа.

    В результате у вас есть 0 во всех четных строках (потому что они делятся на 2 равномерно без остатка) и 1 во всех нечетных строках:
    Определите каждую вторую строку, используя формулу Mod.

  2. В зависимости от того, хотите ли вы удалить четные или нечетные строки, отфильтруйте единицы или нули.Чтобы это сделать, выберите любую ячейку в вспомогательном столбце, перейдите на вкладку «Данные«> «Группа сортировки и фильтрации» и нажмите кнопку «Фильтр«. Стрелки раскрывающегося списка фильтров появятся во всех ячейках заголовка. Вы нажимаете кнопку со стрелкой в вспомогательном столбце и устанавливаете один из флажков:
    • 0 для удаления четных строк
    • 1 для удаления нечетных строк

    В этом примере мы собираемся удалить строки со значениями «0», поэтому мы их фильтруем:
    Отфильтруйте строки со значениями 0.

  3. Теперь, когда все строки «1» скрыты, выделите все видимые строки «0», щелкните правой кнопкой мыши выделенную строку и выберите Удалить строку:
    Удалите все остальные строки в Excel
  4. Приведенный выше шаг оставил вас с пустой таблицей, но не волнуйтесь, строки «1» все еще там. Чтобы снова сделать их видимыми, просто удалите автофильтр, снова нажав кнопку Фильтра:
    Удалить фильтр в Excel.
  5. Формула в столбце C пересчитывает оставшиеся строки, но вам это больше не нужно. Теперь вы можете безопасно удалить вспомогательный столбец:
    Формула Mod пересчитывает для оставшихся строк.

В результате на нашем листе остаются только четные недели, нечетные недели исчезли!
Каждая вторая строка удаляется.

Совет. Если вы хотите переместить все остальные строки в другое место, а не удалять их полностью, сначала скопируйте отфильтрованные строки и вставьте их в новое место, а затем удалите отфильтрованные строки.

Как удалить альтернативные строки в Excel с помощью VBA

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

?
Sub Delete_Alternate_Rows_Excel()
    Dim SourceRange As Range
    Set SourceRange = Application.Selection
    Set SourceRange = Application.InputBox("Range:", "Select the range", SourceRange.Address, Type:=8)
    If SourceRange.Rows.Count >= 2 Then
        Dim FirstCell As Range
        Dim RowIndex As Integer
        Application.ScreenUpdating = False
        For RowIndex = SourceRange.Rows.Count - (SourceRange.Rows.Count Mod 2) To 1 Step -2
            Set FirstCell = SourceRange.Cells(RowIndex, 1)
            FirstCell.EntireRow.Delete
        Next
        Application.ScreenUpdating = True
    End If
End Sub

Как удалить все остальные строки в Excel с помощью макроса

Вставьте макрос на рабочий лист обычным способом с помощью редактора Visual Basic:

  1. Нажмите Alt + F11, чтобы открыть окно Visual Basic для приложений.
  2. В верхней строке меню выберите ВставитьМодуль и вставьте приведенный выше макрос в модуль
  3. Нажмите клавишу F5, чтобы запустить макрос.
  4. Появится диалоговое окно с предложением выбрать диапазон. Выберите свою таблицу и нажмите OK:
    Удалите альтернативные строки в Excel с помощью макроса.

Готово! Каждая вторая строка в выбранном диапазоне удаляется:
Каждая вторая строка в выбранном диапазоне удаляется сразу.