Sådan slettes hver anden række i Excel (eller hver niende række)

Se video - Slet hver anden række i Excel

Nogle gange har du måske brug for at slette hver anden række (dvs. alternative rækker) eller hver tredje/fjerde/femte række i Excel.

Et eksempel på dette kan være, når du har ugentlige data, og du kun vil have dataene i lige uger eller ulige uger. En anden kan være, når du får en datadump fra en database, og alle nyttige data er kun i hver anden eller tredje række.

Selvom du altid har mulighed for manuelt at vælge og slette rækker, er dette ineffektivt, hvis du har et stort datasæt.

Der er bedre måder at gøre dette på.

I denne vejledning viser jeg dig et par måder at slette hver anden række i Excel ved hjælp af en simpel filtreringsteknik. Og hvis du er cool med at bruge en VBA -makrokode, har jeg også givet en kort VBA -kode, der gør det med et enkelt klik. Metoderne er vist i dette selvstudium for alle versioner af Excel (2007, 2010, 2013 og 2016)

Selvom sletning af hver anden række i Excel kan være ganske enkel, kan det være en udfordring at slette hver anden kolonne. Dette skyldes, at du ikke kan filtrere kolonner i Excel (den måde, du kan filtrere rækker). I det sidste afsnit af denne vejledning vil jeg også vise dig nogle måder at slette alternative kolonner (eller hver 9. kolonne) i Excel.

Slet hver anden række ved at filtrere datasættet (ved hjælp af formel)

Hvis du på en eller anden måde kunne filtrere alle de lige rækker eller de ulige rækker, ville det være super nemt at slette disse rækker/poster.

Selvom der ikke er nogen indbygget funktion til at gøre dette, kan du bruge en hjælperkolonne til først at opdele rækker i ulige og lige og derefter filtrere baseret på hjælperkolonnens værdi.

Antag, at du har et datasæt som vist nedenfor, som har salgsdata for hver sælger for to regioner (USA og Canada), og du vil slette dataene for Canada.

Nedenfor er trinene til først at filtrere og derefter slette hver anden række (som har data for Canada):

  1. Indtast teksten i cellen ved siden af ​​den sidste kolonneoverskrift HjælperKolonne (eller en hvilken som helst overskriftstekst, du vil have hjælpekolonnen til at have)
  2. I cellen under hjælperens kolonneoverskrift skal du indtaste følgende formel: = ISEVEN (RÆKKE ()). Kopiér denne formel for alle cellerne. Denne formel returnerer SAND for alle lige rækker og FALSK for alle ODD -rækker
  3. Vælg hele datasættet (inklusive cellerne, hvor vi indtastede formlen i ovenstående trin).
  4. Klik på fanen Data
  5. Klik på ikonet Filter. Dette vil anvende et filter på alle overskrifterne i datasættet
  6. Klik på filterikonet i cellen HelperColumn.
  7. Fravælg indstillingen SAND (så er kun FALSK valg valgt)
  8. Klik på OK. Dette filtrerer dataene og viser kun de poster, hvor HelperColumn -værdien er FALSK.
  9. Vælg alle de filtrerede celler i hjælperkolonnen (eksklusive overskriften)
  10. Højreklik på en af ​​de markerede celler og klik på 'Slet række'
  11. Klik på OK i dialogboksen, der åbnes. Dette vil slette alle de synlige poster, og du vil kun se overskriftsrækken fra nu af.
  12. Klik på fanen Data, og klik derefter på ikonet Filter. Dette fjerner filteret, og du vil kunne se alle de resterende poster.

Ovenstående trin filtrerer hver anden række i datasættet og sletter derefter disse rækker.

Du skal ikke bekymre dig om hjælperkolonnens værdier på dette tidspunkt. De resulterende data har kun rækkerne for USA, og alle Canada -rækker slettes. Du kan slette hjælperkolonnen nu.

Hvis du vil slette hver anden række fra den første række og frem, skal du vælge indstillingen SAND i trin 7 og fravælge FALSK.

Bemærk: Når du sletter rækker i Excel ved hjælp af ovenstående metode, sletter det også alle data, du måtte have i hele (bortset fra den i datasættet). Når du bruger denne metode, skal du sørge for, at du ikke har noget til venstre og højre for det datasæt, du sletter.

Selvom ovenstående metode er fantastisk, har den to ulemper:

  1. Du skal tilføje en ny kolonne ( HjælperKolonne i vores eksempel ovenfor)
  2. Det kan være tidskrævende, hvis du skal slette alternative rækker gør dette ofte
Relateret selvstudium: Slet rækker baseret på en celleværdi (eller tilstand) i Excel

Slet hver anden række ved at filtrere datasættet (ved hjælp af formel)

I ovenstående metode viste jeg dig, hvordan du sletter hver anden række (alternativ række) i Excel.

Og du kan også bruge den samme logik til at slette hver tredje eller fjerde række i Excel.

Antag, at du har et datasæt som vist nedenfor, og du vil slette alle hver tredje række.

Trinene for at slette hver tredje række er næsten de samme som dem, der er dækket i ovenstående afsnit (til sletning af alternative rækker). Den eneste forskel er i formlen, der blev brugt i trin 2.

Nedenfor er trinene for at gøre dette:

  1. Indtast teksten i cellen ved siden af ​​den sidste kolonneoverskrift HjælperKolonne (eller en hvilken som helst overskriftstekst, du vil have hjælpekolonnen til at have)
  2. I cellen under hjælperens kolonneoverskrift skal du indtaste følgende formel: = MOD (Række (), 3) = 1. Denne formel returnerer SAND for hver tredje række og FALSK for hver anden række.
  3. Vælg hele datasættet (inklusive cellerne, hvor vi indtastede formlen i ovenstående trin).
  4. Klik på fanen Data
  5. Klik på ikonet Filter. Dette vil anvende et filter på alle overskrifterne i datasættet
  6. Klik på filterikonet i cellen HelperColumn.
  7. Fravælg indstillingen SAND (så er kun FALSK valg valgt)
  8. Klik på OK. Dette filtrerer dataene og viser kun de poster, hvor HelperColumn -værdien er FALSK.
  9. Vælg alle cellerne i hjælperkolonnen
  10. Højreklik på en af ​​de markerede celler, og klik på Slet række
  11. Klik på OK i dialogboksen, der åbnes. Dette vil slette alle de synlige poster, og du vil kun se overskriftsrækken fra nu af.
  12. Klik på fanen Data, og klik derefter på ikonet Filter. Dette fjerner filteret, og du vil kunne se alle de resterende poster.

Ovenstående trin ville slette hver tredje række fra datasættet, og du ville få de resulterende data som vist nedenfor.

Du skal ikke bekymre dig om hjælperkolonnens værdier på dette tidspunkt. Du kan slette hjælperkolonnen nu.

Formlen, der blev brugt i trin 2, bruger MOD -funktionen - som giver resten, når det ene tal er divideret med det andet. Her har jeg brugt ROW -funktionen til at få rækketallet, og det er divideret med 3 (fordi vi vil slette hver tredje række).

Da vores datasæt starter fra anden række og frem (dvs. række #2 indeholder den første post), bruger jeg følgende formel:= MOD (Række (), 3) = 1

Jeg sidestiller det med 1 og for hver tredje række vil MOD -formlen give resten som 1.

Du kan justere formlen i overensstemmelse hermed. For eksempel, hvis dit datasets første rekord starter fra tredje række og fremefter, ville formlen være = MOD (Række (), 3) = 2

Slet automatisk hver anden række (eller n. Række) ved hjælp af VBA -makro (hurtig metode)

Hvis du skal slette hver anden række (eller hver n. Række) ganske ofte, kan du bruge en VBA -kode og have den tilgængelig i værktøjslinjen Hurtig adgang. Dette giver dig mulighed for hurtigt at slette alternative rækker med et enkelt klik.

Nedenfor er koden, der først beder dig om at vælge det område, hvor du vil slette alternative rækker, og derefter slette hver anden række i det valgte datasæt.

Sub Delete_Every_Other_Row () Dim Rng As Range Set Rng = Application.InputBox ("Select the Range (Excluding headers)", "Range Selection", Type: = 8) For i = Rng.Rows.Count Til 1 Trin -2 Hvis i Mod 2 = 0 Derefter Rng.Rows (i). Slet End If Next i End Sub

Når du kører ovenstående kode, vil den først bede dig om at vælge celleområdet. Når du har foretaget valget, går det igennem hver række og sletter hver anden række.

Hvis du vil slette hver tredje række i stedet, kan du bruge nedenstående kode:

Sub Delete_Every_Third_Row () Dim Rng As Range Set Rng = Application.InputBox ("Select the Range (Excluding headers)", "Range Selection", Type: = 8) For i = Rng.Rows.Count Til 1 Trin -3 Hvis i Mod 3 = 0 Derefter Rng.Rows (i). Slet End If Next i End Sub

Hvor placeres denne VBA -makrokode?

Du skal placere denne kode i et almindeligt modul i VB -editoren i Excel.

Nedenfor er trinene til at åbne Vb Editor, tilføje et modul og placere koden i det:

  1. Kopier ovenstående VBA -kode.
  2. Gå til fanen Udvikler.
  3. Klik på Visual Basic.
  4. Højreklik på et af projektmappeobjekterne i VB Editor.
  5. Gå til Indsæt og klik på Modul.
  6. Indsæt ovenstående VBA -kode i modulet.
  7. Luk VB Editor.

Når du har koden i VB Editor, kan du bruge følgende metoder til at køre koden:

  • Kør en makro fra VB Editor (ved at klikke på den grønne afspilningsknap i værktøjslinjen VB Editor)
  • Ved at placere markøren på en vilkårlig linje i koden og bruge F5 -tasten
  • Ved at tildele makroen til en knap/form
  • Ved at tilføje makroen til værktøjslinjen Hurtig adgang
Her er en detaljeret vejledning i, hvordan du kører en makro i Excel.

Hvis du skal gøre dette ofte, kan du overveje at tilføje VBA -koden til Personal Macro Workbook. På denne måde vil den altid være tilgængelig for dig i alle projektmapper.

Når du har en VBA-kode i en projektmappe, skal du gemme den som en makroaktiveret arkiveret (med .XLSM-udvidelsen)

Bemærk: Da eventuelle ændringer foretaget af VBA-koden er irreversible, er det bedst først at lave en sikkerhedskopi af projektmappen/regnearket og derefter køre denne kode.

Slet hver anden kolonne (eller hver niende kolonne)

Det er let at slette hver alternativ række eller hver tredje/fjerde række, da du kan bruge filterindstillingen. Alt du skal gøre er at bruge en formel, der identificerer alternative rækker (eller hver tredje/fjerde række) og filtrerer disse rækker.

Desværre fungerer den samme metode ikke med kolonner - da du ikke kan filtrere kolonner, som du filtrerer rækker.

Så hvis du skal slette hver anden kolonne (eller hver tredje/fjerde/niende kolonne), skal du være lidt mere kreativ.

I dette afsnit viser jeg dig to metoder, du kan bruge til at slette hver anden kolonne i Excel (og du kan bruge den samme metode til at slette hver tredje/fjerde/nte kolonne, hvis du vil).

Slet alternative kolonner ved hjælp af formler og sorteringsmetode

Antag, at du har et datasæt som vist herunder, og du vil slette hver anden kolonne (undtagen overskriftskolonnen A)

Tricket her ville være at identificere alternative kolonner ved hjælp af en formel og derefter sortere kolonnerne baseret på denne formel. Når du har de sorterede kolonner samlet, kan du manuelt vælge og slette dette.

Nedenfor er trinene til at slette hver anden kolonne i Excel:

  1. Indsæt en række over overskriftsrækken (højreklik på en vilkårlig celle i overskriften, klik på Indsæt og klik derefter på Hele rækken)
  2. Indtast følgende formel i cellen over kolonnen til venstre i datasættet, og kopier for alle celler: = MOD (KOLONNE (), 2)
  3. Konverter formelværdierne til tal. For at gøre dette skal du kopiere cellerne, højreklikke og gå til Indsæt special -> Indsæt værdier.
  4. Vælg hele datasættet (undtagen eventuelle overskrifter i kolonnen). I dette eksempel har jeg valgt B1: G14 (og IKKE kolonne A)
  5. Klik på fanen Data
  6. Klik på ikonet Sorter
  7. Foretag følgende ændringer i dialogboksen Sorter:
    • Klik på knappen 'Indstillinger', og i dialogboksen, der åbnes, skal du klikke på 'Sorter fra venstre til højre' og derefter klikke på Ok
    • I rækken Sortér efter skal du vælge række 1. Dette er den række, der har formelresultaterne
    • I rullemenuen Ordre skal du vælge Mindste til største.
  8. Klik på OK

Ovenstående trin sorterer alle kolonnerne og samler alle de alternative kolonner på ét sted (i slutningen).

Nu kan du vælge alle disse kolonner (for hvilke formelværdien er 1), og slette disse.

Selvom dette ikke er den bedste løsning, får det stadig arbejdet gjort.

Hvis du vil slette hver tredje kolonne eller hver fjerde kolonne, skal du justere formlen i overensstemmelse hermed.

Relateret vejledning: Sådan sorteres i Excel (efter rækker, kolonner, farver, datoer og tal)

Slet alternative kolonner ved hjælp af VBA

En anden hurtig måde at slette alternative kolonner på er at bruge nedenstående VBA -kode:

Sub Delete_Every_Other_Column () Dim Rng As Range Set Rng = Application.InputBox ("Select the Range (Excluding headers)", "Range Selection", Type: = 8) For i = Rng.Columns.Count To 1 Step -2 If i Mod 2 = 0 Derefter Rng.Kolonner (i). Slet Slut hvis Næste i Afslut Sub

Ovenstående kode beder dig om at vælge et celleområde, der har kolonnerne. Her skal du vælge kolonnerne eksklusive den, der har overskriften.

Når du har angivet celleområdet med dataene, bruger den en For Loop og sletter hver anden kolonne.

Hvis du vil slette hver tredje kolonne, kan du bruge koden herunder (og justere derefter for at slette den niende kolonne)

Sub Delete_Every_Third_Column () Dim Rng As Range Set Rng = Application.InputBox ("Select the Range (Excluding headers)", "Range Selection", Type: = 8) For i = Rng.Columns.Count To 1 Step -3 If i Mod 3 = 0 Derefter Rng.Kolonner (i). Slet Slut hvis Næste i Afslut Sub

Trinnene om, hvor denne VBA -kode skal placeres, og hvordan den bruges, er dækket i ovenstående afsnit med titlen - "Slet automatisk hver anden række (eller n. Række) ved hjælp af VBA -makro (hurtig metode)"

Håber du fandt denne Excel -tutorial nyttig.

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave