В этом кратком руководстве объясняется, как удалить все остальные строки в Excel с помощью фильтрации или с помощью кода VBA. Вы также узнаете, как удалить каждую 3-ю, 4-ю или любую другую N-ю строку.
Существует много ситуаций, когда вам может потребоваться удалить альтернативные строки в таблицах Excel. Например, вы можете сохранить данные за четные недели (строки 2, 4, 6, 8 и т.д.) и переместить все нечетные недели (строки 3, 5, 7 и т.д.) На какой-нибудь другой лист.
Как правило, удаление всех остальных строк в Excel https://excel-home.ru/ сводится к выбору альтернативных строк. После выбора строк достаточно одного нажатия кнопки удаления. Далее в этой статье вы узнаете несколько способов быстрого выделения и удаления каждой второй или каждой N-й строки в Excel.
Как удалить все остальные строки в Excel с помощью фильтрации
По сути, обычный способ удаления всех остальных строк в Excel заключается в следующем: сначала вы фильтруете альтернативные строки, затем выбираете их и удаляете все сразу. Подробные шаги приведены ниже:
- В пустой столбец рядом с исходными данными введите последовательность нулей и единиц. Вы можете быстро сделать это, введя 0 в первой ячейке и 1 во второй ячейке, затем скопировав первые две ячейки и вставив их вниз по столбцу до последней ячейки с данными.В качестве альтернативы вы можете использовать эту формулу:
=MOD(ROW(),2)
Логика формулы очень проста: функция ROW возвращает номер текущей строки, функция MOD делит его на 2 и возвращает остаток, округленный до целого числа.
В результате у вас есть 0 во всех четных строках (потому что они делятся на 2 равномерно без остатка) и 1 во всех нечетных строках:
- В зависимости от того, хотите ли вы удалить четные или нечетные строки, отфильтруйте единицы или нули.Чтобы это сделать, выберите любую ячейку в вспомогательном столбце, перейдите на вкладку «Данные«> «Группа сортировки и фильтрации» и нажмите кнопку «Фильтр«. Стрелки раскрывающегося списка фильтров появятся во всех ячейках заголовка. Вы нажимаете кнопку со стрелкой в вспомогательном столбце и устанавливаете один из флажков:
- 0 для удаления четных строк
- 1 для удаления нечетных строк
В этом примере мы собираемся удалить строки со значениями «0», поэтому мы их фильтруем:
- Теперь, когда все строки «1» скрыты, выделите все видимые строки «0», щелкните правой кнопкой мыши выделенную строку и выберите Удалить строку:
- Приведенный выше шаг оставил вас с пустой таблицей, но не волнуйтесь, строки «1» все еще там. Чтобы снова сделать их видимыми, просто удалите автофильтр, снова нажав кнопку Фильтра:
- Формула в столбце C пересчитывает оставшиеся строки, но вам это больше не нужно. Теперь вы можете безопасно удалить вспомогательный столбец:
В результате на нашем листе остаются только четные недели, нечетные недели исчезли!
Как удалить альтернативные строки в 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:
- Нажмите Alt + F11, чтобы открыть окно Visual Basic для приложений.
- В верхней строке меню выберите Вставить> Модуль и вставьте приведенный выше макрос в модуль
- Нажмите клавишу F5, чтобы запустить макрос.
- Появится диалоговое окно с предложением выбрать диапазон. Выберите свою таблицу и нажмите OK:
Готово! Каждая вторая строка в выбранном диапазоне удаляется: