Как да изтриете всеки друг ред или всеки 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. В зависимост от това дали искате да изтриете четни или нечетни редове, филтрирайте единиците или нулите.

      За да го направите, изберете която и да е клетка в колоната "Помощник", отидете в Данни tab> Сортиране и филтриране и щракнете върху Филтър бутон. падащите стрелки за филтриране ще се появят във всички клетки на заглавието. щраквате върху бутона със стрелка в колоната Помощник и поставяте отметка в едно от полетата:

      • 0 за изтриване на четни редове
      • 1 за изтриване на нечетни редове

      В този пример ще премахнем редовете със стойности "0", затова ги филтрираме:

    3. След като всички редове "1" са скрити, изберете всички видими редове "0", щракнете с десния бутон на мишката върху селекцията и щракнете върху Изтриване на ред :

    4. Горната стъпка ви остави празна таблица, но не се притеснявайте, редовете "1" все още са там. За да ги направите отново видими, просто премахнете автоматичния филтър, като щракнете върху Филтър бутон отново:

    5. Формулата в колона 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Стъпка -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. Ще се появи диалогов прозорец, който ще ви подкани да изберете диапазон. Изберете таблицата си и щракнете върху OK:

    Готово! Всеки друг ред в избрания диапазон е изтрит:

    Как да изтриете всеки N-ти ред в Excel

    За тази задача ще разширим техниката за филтриране, която използвахме за премахване на всеки втори ред. Разликата е във формулата, на която се основава филтрирането:

    MOD(ROW()- m , n )

    Къде:

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

    Да кажем, че данните ви започват от ред 2 и искате да изтриете всеки трети ред. n е равен на 3, а m е равна на 1 (ред 2 минус 1):

    =MOD(РЕД() - 1, 3)

    Ако данните ни започват от ред 3, тогава m ще бъде равна на 2 (ред 3 минус 1) и т.н. Тази корекция е необходима, за да се номерират последователно редовете, като се започне с числото 1.

    Това, което прави формулата, е да раздели относителното число на реда на 3 и да върне остатъка след делението. В нашия случай тя дава нула за всеки трети ред, защото всяко трето число се дели на 3 без остатък (3,6,9 и т.н.):

    И сега изпълнявате вече познатите стъпки за филтриране на редове "0":

    1. Изберете която и да е клетка в таблицата и щракнете върху Филтър на бутона Данни
    2. Филтриране на колоната "Помощник", за да се показват само стойности "0".
    3. Изберете всички видими редове "0", щракнете с десния бутон на мишката и изберете Изтриване на ред от контекстното меню.
    4. Премахнете филтъра и изтрийте колоната Helper.

    По подобен начин можете да изтриете всеки 4-ти, 5-ти или всеки друг N-ти ред в Excel.

    Съвет. Ако трябва да премахнете редове с нерелевантни данни, ще ви бъде полезен следният урок: Как да изтрием редове въз основа на стойността на клетката.

    Благодаря ви, че прочетохте, и се надявам да се видим отново в нашия блог следващата седмица.

    Майкъл Браун е отдаден технологичен ентусиаст със страст към опростяване на сложни процеси с помощта на софтуерни инструменти. С повече от десетилетие опит в технологичната индустрия, той е усъвършенствал уменията си в Microsoft Excel и Outlook, както и в Google Sheets и Docs. Блогът на Майкъл е посветен на споделянето на неговите знания и опит с други, предоставяйки лесни за следване съвети и уроци за подобряване на продуктивността и ефективността. Независимо дали сте опитен професионалист или начинаещ, блогът на Michael предлага ценни прозрения и практически съвети за извличане на максимума от тези основни софтуерни инструменти.