Як видалити кожен другий рядок або кожен N-й рядок в Excel

  • Поділитися Цим
Michael Brown

Цей короткий підручник пояснює, як видалити кожен другий рядок в Excel за допомогою фільтрації або за допомогою коду VBA. Ви також дізнаєтеся, як видалити кожен 3-й, 4-й або будь-який інший N-й рядок.

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

Як правило, видалення кожного другого рядка в Excel зводиться до вибору альтернативних рядків. Після того, як рядки вибрані, одним натисканням кнопки Видалити Далі в цій статті ви дізнаєтеся про декілька прийомів швидкого виділення та видалення кожного другого або кожного N-го рядка в Excel.

    Як видалити кожен другий рядок в Excel за допомогою фільтрації

    По суті, загальний спосіб видалити кожен другий рядок в Excel полягає в наступному: спочатку ви фільтруєте альтернативні рядки, потім вибираєте їх і видаляєте всі відразу. Детальні кроки наведені нижче:

    1. У порожній стовпчик поруч з вихідними даними введіть послідовність нулів та одиниць. Ви можете швидко це зробити, набравши 0 у першій комірці та 1 у другій комірці, а потім скопіювавши перші дві комірки та вставивши їх вниз по стовпчику до останньої комірки з даними.

      Як варіант, ви можете скористатися цією формулою:

      =MOD(ROW(),2)

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

      У результаті у всіх парних рядках маємо 0 (бо вони діляться на 2 рівномірно без остачі) і 1 у всіх непарних рядках:

    2. Залежно від того, чи потрібно видалити парні або непарні рядки, відфільтрувати одиниці або нулі.

      Для цього виберіть будь-яку комірку в колонці "Помічник", перейдіть на вкладку Дані вкладка> Сортування та фільтрація і натисніть кнопку Фільтр У всіх комірках заголовка з'являться стрілки фільтрів, що випадають. Ви натискаєте кнопку зі стрілкою в колонці "Допоміжні засоби" та встановлюєте прапорець в одному з полів:

      • 0 для видалення парних рядків
      • 1 для видалення непарних рядків

      У цьому прикладі ми збираємося видалити рядки зі значеннями "0", тому відфільтруємо їх:

    3. Тепер, коли всі рядки "1" приховані, виділіть всі видимі рядки "0", клацніть правою кнопкою миші по виділенню і натисніть Видалити рядок :

    4. Вищевказаний крок залишив вас з порожньою таблицею, але не хвилюйтеся, рядки "1" все ще є. Щоб зробити їх знову видимими, просто видаліть автофільтр, натиснувши на кнопку Фільтр знову:

    5. Формула в стовпчику С перераховує для решти рядків, але вона вам більше не потрібна. Тепер ви можете сміливо видалити допоміжний стовпчик:

    В результаті в нашому аркуші залишилися тільки парні тижні, непарні зникли!

    Порада: Якщо ви хочете перемістити кожен другий рядок в інше місце, а не видалити їх повністю, спочатку скопіюйте відфільтровані рядки і вставте їх в нове місце, а потім видаліть відфільтровані рядки.

    Як видалити альтернативні рядки в 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 Then Dim FirstCell As Range Dim RowIndex As Integer Application.ScreenUpdating = False For RowIndex = SourceRange.Rows.Count - (SourceRange.Rows.Count Mod 2) To 1Step -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 for Applications.
    2. У верхньому рядку меню натисніть Вставка > Модуль і вставте вищевказаний макрос в файл Модуль
    3. Для запуску макросу натисніть клавішу F5.
    4. З'явиться діалогове вікно, в якому вам буде запропоновано вибрати діапазон. Виберіть свою таблицю і натисніть кнопку ОК:

    Готово, кожен другий рядок у вибраному діапазоні видалено:

    Як видалити кожен N-й рядок в Excel

    Для цього завдання ми розширимо техніку фільтрації, яку ми використовували для видалення кожного другого рядка. Різниця полягає у формулі, на якій базується фільтрація:

    MOD(ROW()- m , n )

    Де:

    • m номер рядка першої комірки з даними мінус 1
    • n N-й рядок, який потрібно видалити

    Припустимо, ваші дані починаються з 2-го рядка, і ви хочете видалити кожен 3-й рядок. Отже, у вашій формулі n дорівнює 3, а m дорівнює 1 (рядок 2 мінус 1):

    =MOD(ROW() - 1, 3)

    Якщо наші дані починалися з рядка 3, то m буде дорівнювати 2 (рядок 3 мінус 1) і т.д. Ця поправка необхідна для послідовної нумерації рядків, починаючи з номера 1.

    Формула ділить відповідний номер рядка на 3 і повертає залишок після ділення. У нашому випадку вона дає нуль для кожного третього рядка, оскільки кожне третє число ділиться на 3 без залишку (3,6,9 і т.д.):

    А тепер виконуєте вже знайомі дії з фільтрації "0" рядків:

    1. Виділіть будь-яку комірку таблиці і натисніть кнопку Фільтр на кнопці Дані
    2. Відфільтруйте стовпець "Допоміжний", щоб показати тільки значення "0".
    3. Виділіть всі видимі "0" рядків, натисніть правою кнопкою миші і виберіть Видалити рядок з контекстного меню.
    4. Видаліть фільтр і видаліть колонку "Допоміжні засоби".

    Аналогічним чином можна видалити кожен 4-й, 5-й або будь-який інший N-й рядок в Excel.

    Порада: Якщо вам потрібно видалити рядки з нерелевантними даними, вам стане в нагоді наступна інструкція: Як видалити рядки на основі значення комірки.

    Дякую за увагу і сподіваюся побачити вас на нашому блозі наступного тижня.

    Майкл Браун — відданий ентузіаст технологій із пристрастю до спрощення складних процесів за допомогою програмних засобів. Маючи понад десятирічний досвід роботи в технологічній індустрії, він відточив свої навички роботи з Microsoft Excel і Outlook, а також із Google Таблицями та Документами. Блог Майкла присвячений тому, щоб поділитися своїми знаннями та досвідом з іншими, надаючи прості поради та навчальні посібники для підвищення продуктивності та ефективності. Незалежно від того, чи є ви досвідченим професіоналом чи початківцем, блог Майкла пропонує цінну інформацію та практичні поради щодо отримання максимальної користі від цих основних програмних інструментів.