Зміст
Цей короткий підручник пояснює, як видалити кожен другий рядок в Excel за допомогою фільтрації або за допомогою коду VBA. Ви також дізнаєтеся, як видалити кожен 3-й, 4-й або будь-який інший N-й рядок.
Існує багато ситуацій, коли може виникнути потреба у видаленні почергових рядків на аркушах Excel. Наприклад, потрібно зберегти дані за парні тижні (рядки 2, 4, 6, 8 і т.д.), а всі непарні тижні (рядки 3, 5, 7 і т.д.) перенести на інший аркуш.
Як правило, видалення кожного другого рядка в Excel зводиться до вибору альтернативних рядків. Після того, як рядки вибрані, одним натисканням кнопки Видалити Далі в цій статті ви дізнаєтеся про декілька прийомів швидкого виділення та видалення кожного другого або кожного N-го рядка в Excel.
Як видалити кожен другий рядок в Excel за допомогою фільтрації
По суті, загальний спосіб видалити кожен другий рядок в Excel полягає в наступному: спочатку ви фільтруєте альтернативні рядки, потім вибираєте їх і видаляєте всі відразу. Детальні кроки наведені нижче:
- У порожній стовпчик поруч з вихідними даними введіть послідовність нулів та одиниць. Ви можете швидко це зробити, набравши 0 у першій комірці та 1 у другій комірці, а потім скопіювавши перші дві комірки та вставивши їх вниз по стовпчику до останньої комірки з даними.
Як варіант, ви можете скористатися цією формулою:
=MOD(ROW(),2)
Дивіться також: Розбиття комірок в Google Sheets на кілька стовпців і подальше перетворення їх на рядкиЛогіка формули дуже проста: функція ROW повертає номер поточного рядка, функція MOD ділить його на 2 і повертає залишок, округлений до цілого числа.
Дивіться також: Функції ПОИСК і ЗАПИТ Excel з прикладами формулУ результаті у всіх парних рядках маємо 0 (бо вони діляться на 2 рівномірно без остачі) і 1 у всіх непарних рядках:
- Залежно від того, чи потрібно видалити парні або непарні рядки, відфільтрувати одиниці або нулі.
Для цього виберіть будь-яку комірку в колонці "Помічник", перейдіть на вкладку Дані вкладка> Сортування та фільтрація і натисніть кнопку Фільтр У всіх комірках заголовка з'являться стрілки фільтрів, що випадають. Ви натискаєте кнопку зі стрілкою в колонці "Допоміжні засоби" та встановлюєте прапорець в одному з полів:
- 0 для видалення парних рядків
- 1 для видалення непарних рядків
У цьому прикладі ми збираємося видалити рядки зі значеннями "0", тому відфільтруємо їх:
- Тепер, коли всі рядки "1" приховані, виділіть всі видимі рядки "0", клацніть правою кнопкою миші по виділенню і натисніть Видалити рядок :
- Вищевказаний крок залишив вас з порожньою таблицею, але не хвилюйтеся, рядки "1" все ще є. Щоб зробити їх знову видимими, просто видаліть автофільтр, натиснувши на кнопку Фільтр знову:
- Формула в стовпчику С перераховує для решти рядків, але вона вам більше не потрібна. Тепер ви можете сміливо видалити допоміжний стовпчик:
В результаті в нашому аркуші залишилися тільки парні тижні, непарні зникли!
Порада: Якщо ви хочете перемістити кожен другий рядок в інше місце, а не видалити їх повністю, спочатку скопіюйте відфільтровані рядки і вставте їх в нове місце, а потім видаліть відфільтровані рядки.
Як видалити альтернативні рядки в 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:
- Натисніть Alt + F11, щоб відкрити вікно Visual Basic for Applications.
- У верхньому рядку меню натисніть Вставка > Модуль і вставте вищевказаний макрос в файл Модуль
- Для запуску макросу натисніть клавішу F5.
- З'явиться діалогове вікно, в якому вам буде запропоновано вибрати діапазон. Виберіть свою таблицю і натисніть кнопку ОК:
Готово, кожен другий рядок у вибраному діапазоні видалено:
Як видалити кожен 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" рядків:
- Виділіть будь-яку комірку таблиці і натисніть кнопку Фільтр на кнопці Дані
- Відфільтруйте стовпець "Допоміжний", щоб показати тільки значення "0".
- Виділіть всі видимі "0" рядків, натисніть правою кнопкою миші і виберіть Видалити рядок з контекстного меню.
- Видаліть фільтр і видаліть колонку "Допоміжні засоби".
Аналогічним чином можна видалити кожен 4-й, 5-й або будь-який інший N-й рядок в Excel.
Порада: Якщо вам потрібно видалити рядки з нерелевантними даними, вам стане в нагоді наступна інструкція: Як видалити рядки на основі значення комірки.
Дякую за увагу і сподіваюся побачити вас на нашому блозі наступного тижня.