Как удалить каждую вторую строку или каждую N-ю строку в Excel
В этом кратком руководстве объясняется, как удалить каждую вторую строку в Excel с помощью фильтрации или кода VBA. Вы также узнаете, как удалить каждую 3-ю, 4-ю или любую другую N-ю строку.
Есть много ситуаций, когда вам может понадобиться удалить альтернативные строки в листах Excel. Например, вы можете сохранить данные за четные недели (строки 2, 4, 6, 8 и т. д.) и переместить все нечетные недели (строки 3, 5, 7 и т. д.) на другой лист.
Как правило, удаление каждой второй строки в Excel сводится к выбору альтернативных строк. Как только строки выбраны, один штрих на Удалить кнопка — это все, что нужно. Далее в этой статье вы узнаете несколько способов быстрого выбора и удаления каждой второй или каждой N-й строки в Excel.
Как удалить каждую вторую строку в Excel путем фильтрации
По сути, обычный способ стереть каждую вторую строку в Excel таков: сначала вы фильтруете альтернативные строки, затем выбираете их и удаляете все сразу. Подробные шаги следуют ниже:
- В пустой столбец рядом с исходными данными введите последовательность нулей и единиц. Вы можете быстро сделать это, набрав 0 в первой ячейке и 1 во второй ячейке, затем скопировав первые две ячейки и вставив их вниз по столбцу до последней ячейки с данными.
В качестве альтернативы вы можете использовать эту формулу:
= ОСТАТ (СТРОКА (), 2)
Логика формулы очень проста: функция СТРОКА возвращает номер текущей строки, функция ОСТАТ делит его на 2 и возвращает остаток, округленный до целого числа.
В результате у вас есть 0 во всех четных строках (потому что они делятся на 2 без остатка) и 1 во всех нечетных строках:
- В зависимости от того, хотите ли вы удалить четные или нечетные строки, отфильтруйте единицы или нули.
Чтобы это сделать, выберите любую ячейку в столбце Helper, перейдите к Данные вкладка > Сортировка и фильтрация группу и нажмите кнопку Фильтр. Стрелки раскрывающегося списка фильтров появятся во всех ячейках заголовка. Вы нажимаете кнопку со стрелкой в столбце Helper и устанавливаете один из флажков:
- 0 для удаления четных строк
- 1 для удаления нечетных строк
В этом примере мы собираемся удалить строки со значениями «0», поэтому мы их фильтруем:
- Теперь, когда все строки «1» скрыты, выберите все видимые строки «0», щелкните правой кнопкой мыши выделение и нажмите Удалить строку:
- Вышеупомянутый шаг оставил вас с пустой таблицей, но не волнуйтесь, строки «1» все еще там. Чтобы снова сделать их видимыми, просто удалите автофильтр, снова нажав кнопку «Фильтр»:
- Формула в столбце C пересчитывает оставшиеся строки, но она вам больше не нужна. Теперь вы можете безопасно удалить столбец Helper:
В результате в нашем листе остались только четные недели, нечетные недели исчезли!
Кончик. Если вы хотите переместить все остальные строки в другое место, а не удалять их полностью, сначала скопируйте отфильтрованные строки и вставьте их в новое место, а затем удалите отфильтрованные строки.
Как удалить чередующиеся строки в Excel с помощью VBA
Если вы не хотите тратить свое время на тривиальную задачу, такую как удаление каждой второй строки в ваших листах Excel, следующий макрос VBA может автоматизировать процесс для вас:
Sub Delete_Alternate_Rows_Excel() Dim SourceRange As Range Set SourceRange = Application.Selection Set SourceRange = Application.InputBox («Диапазон:», «Выберите диапазон», SourceRange.Address, Type: = 8) If SourceRange.Rows.Count >= 2 Затем Dim FirstCell As Range Dim RowIndex As Integer Application.ScreenUpdating = False For RowIndex = SourceRange.Rows.Count — (SourceRange.Rows.Count Mod 2) To 1 Шаг -2 Установите 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:
Сделанный! Каждая вторая строка в выбранном диапазоне будет удалена:
Как удалить каждую N-ю строку в Excel
Для этой задачи мы собираемся расширить метод фильтрации, который мы использовали для удалить каждую вторую строку. Отличие заключается в формуле, на которой основана фильтрация:
MOD(СТРОКА()-м, н)
Где:
- м это номер строки первой ячейки с данными минус 1
- н это N-я строка, которую вы хотите удалить
Допустим, ваши данные начинаются со второй строки, и вы хотите удалить каждую третью строку. Итак, в вашей формуле н равно 3, и м равно 1 (строка 2 минус 1):
= ОСТАТ (СТРОКА () — 1, 3)
Если бы наши данные начинались в строке 3, то м будет равно 2 (строка 3 минус 1) и так далее. Эта коррекция нужна для последовательной нумерации строк, начиная с цифры 1.
Формула делит относительный номер строки на 3 и возвращает остаток после деления. В нашем случае он дает ноль для каждой третьей строки, потому что каждое третье число делится на 3 без остатка (3,6,9 и т. д.):
И теперь вы выполняете уже знакомые шаги для фильтрации «0» строк:
- Выберите любую ячейку в таблице и нажмите кнопку «Фильтр» на Данные
- Отфильтруйте столбец «Помощник», чтобы отображались только значения «0».
- Выберите все видимые строки «0», щелкните правой кнопкой мыши и выберите Удалить строку из контекстного меню.
- Снимите фильтр и удалите столбец Helper.
Аналогичным образом вы можете удалить каждую 4-ю, 5-ю или любую другую N-ю строку в Excel.
Кончик. Если вам нужно удалить строки с нерелевантными данными, вам поможет следующий учебник: Как удалить строки на основе значения ячейки.
Я благодарю вас за чтение и надеюсь снова увидеть вас в нашем блоге на следующей неделе.