Wie kann ich jede fünfte Zeile in Excel behalten?

4110
Aaron

Ich habe einen Datensatz in Excel mit 3084 Zeilen. Ich brauche 4 Zeilen zu löschen, dann eine halten: Löschen Dienstag, Mittwoch, Donnerstag, Freitag, aber Montag ein zu schaffen hielt wöchentlich statt täglich Datensatz.

  • Hinweis: Die Daten stimmen mit einem Datum und nicht einem Wochentag überein, sodass ich nicht einfach dienstags usw. filtern kann [das Datum wird als 14-Jun-00 angezeigt ].

Gibt es eine Möglichkeit, dies zu tun, ohne manuell vier Zeilen auf einmal durchgehen und löschen zu müssen?

3

2 Antworten auf die Frage

8
micke

Choose a nearby column and write =MOD(ROW(A1),5) on the first row. This will fill all rows in that column with numbers 0-4. Then simply autofilter out rows you want to delete:
Data > Filter > AutoFilter

Edit: Since it's a recurring date you could probably also just use a wildcard when filtering, ie 14-*

Vielleicht eine Variation - versuchen Sie die WEEKDAY-Funktion, zB = WEEKDAY (A1) in der benachbarten Spalte, und filtern Sie in dieser Spalte nach 2 (Montag = 2). barry houdini vor 12 Jahren 1
funktionierte wie ein Zauber, danke Aaron vor 12 Jahren 0
Aaron, vergewissere dich, diese Antwort zu bestätigen, um sie zur "akzeptierten" Antwort zu machen. Jerry Beaucaire vor 12 Jahren 1
0
Mozan Sykol

Sie können auch eine VBA-Lösung ausprobieren. Möglicherweise müssen Sie geringfügige Änderungen an Ihrem Problem vornehmen. Dies gibt jedoch eine allgemeine Vorstellung. Diese Unterroutine setzt voraus, dass Sie die erste Zelle in der ersten Zeile aktiviert haben und dann die Unterroutine ausgeführt wird.

Sub sbDelete4Keep1()  Dim rngProcess As Range Dim lCntr As Long Set rngProcess = ActiveCell lCntr = 1 While Not IsEmpty(rngProcess.Offset(1, 0)) Range(rngProcess, rngProcess.Offset(3, 0)).EntireRow.Delete Set rngProcess = ActiveCell.Offset(lCntr, 0) lCntr = lCntr + 1 Wend  End Sub