Πώς να διαγράψετε κάθε άλλη γραμμή ή κάθε N-οστή γραμμή στο Excel

  • Μοιραστείτε Αυτό
Michael Brown

Αυτό το σύντομο σεμινάριο εξηγεί πώς να διαγράψετε κάθε άλλη γραμμή στο Excel με φιλτράρισμα ή με κώδικα VBA. Θα μάθετε επίσης πώς να διαγράψετε κάθε 3η, 4η ή οποιαδήποτε άλλη Ν-οστή γραμμή.

Υπάρχουν πολλές περιπτώσεις στις οποίες μπορεί να χρειαστεί να διαγράψετε εναλλακτικές γραμμές σε φύλλα εργασίας του Excel. Για παράδειγμα, μπορεί να θέλετε να κρατήσετε τα δεδομένα για τις ζυγές εβδομάδες (γραμμές 2, 4, 6, 8 κ.λπ.) και να μετακινήσετε όλες τις μονές εβδομάδες (γραμμές 3, 5, 7 κ.λπ.) σε άλλο φύλλο.

Γενικά, η διαγραφή κάθε άλλης γραμμής στο Excel καταλήγει στην επιλογή εναλλακτικών γραμμών. Μόλις επιλεγούν οι γραμμές, ένα απλό κτύπημα στο κουμπί Διαγραφή Στη συνέχεια αυτού του άρθρου, θα μάθετε μερικές τεχνικές για να επιλέξετε και να διαγράψετε γρήγορα κάθε άλλη ή κάθε Ν-οστή γραμμή στο 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 επαναϋπολογίζεται για τις υπόλοιπες γραμμές, αλλά δεν τον χρειάζεστε πλέον. Μπορείτε τώρα να διαγράψετε με ασφάλεια τη στήλη Helper:

    Ως αποτέλεσμα, μόνο οι ζυγές εβδομάδες έχουν μείνει στο φύλλο εργασίας μας, οι μονές εβδομάδες έχουν εξαφανιστεί!

    Συμβουλή. Αν θέλετε να μετακινήσετε κάθε άλλη γραμμή σε κάποιο άλλο σημείο αντί να τις διαγράψετε εντελώς, αντιγράψτε πρώτα τις φιλτραρισμένες γραμμές και επικολλήστε τις σε μια νέα θέση και, στη συνέχεια, διαγράψτε τις φιλτραρισμένες γραμμές.

    Πώς να διαγράψετε εναλλακτικές γραμμές στο 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 1Step -2 Set FirstCell = SourceRange.Cells(RowIndex, 1) FirstCell.EntireRow.Delete Next Application.ScreenUpdating = True End If End Sub

    Πώς να διαγράψετε κάθε άλλη γραμμή στο Excel χρησιμοποιώντας τη μακροεντολή

    Εισάγετε τη μακροεντολή στο φύλλο εργασίας σας με τον συνήθη τρόπο μέσω του Visual Basic Editor:

    1. Πατήστε Alt + F11 για να ανοίξετε το παράθυρο Visual Basic for Applications.
    2. Στην επάνω γραμμή μενού, κάντε κλικ στο Εισαγωγή >, Ενότητα , και επικολλήστε την παραπάνω μακροεντολή στο Ενότητα
    3. Πατήστε το πλήκτρο F5 για να εκτελέσετε τη μακροεντολή.
    4. Θα εμφανιστεί ένα παράθυρο διαλόγου που θα σας ζητήσει να επιλέξετε μια περιοχή. Επιλέξτε τον πίνακα και κάντε κλικ στο κουμπί OK:

    Έγινε! Κάθε άλλη γραμμή στην επιλεγμένη περιοχή διαγράφεται:

    Πώς να διαγράψετε κάθε N-οστή γραμμή στο Excel

    Για την εργασία αυτή, θα επεκτείνουμε την τεχνική φιλτραρίσματος που χρησιμοποιήσαμε για την αφαίρεση κάθε άλλης γραμμής. Η διαφορά έγκειται στον τύπο στον οποίο βασίζεται το φιλτράρισμα:

    MOD(ROW()- m , n )

    Πού:

    • m είναι ο αριθμός γραμμής του πρώτου κελιού με δεδομένα μείον 1
    • 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. Φιλτράρετε τη στήλη Helper ώστε να εμφανίζονται μόνο οι τιμές "0".
    3. Επιλέξτε όλες τις ορατές γραμμές "0", κάντε δεξί κλικ και επιλέξτε Διαγραφή γραμμής από το μενού περιβάλλοντος.
    4. Αφαιρέστε το φίλτρο και διαγράψτε τη στήλη Helper.

    Με παρόμοιο τρόπο, μπορείτε να διαγράψετε κάθε 4η, 5η ή οποιαδήποτε άλλη Ν-οστή γραμμή στο Excel.

    Συμβουλή. Σε περίπτωση που πρέπει να αφαιρέσετε γραμμές με άσχετα δεδομένα, θα σας φανεί χρήσιμο το ακόλουθο σεμινάριο: Πώς να διαγράψετε γραμμές με βάση την τιμή κελιού.

    Σας ευχαριστώ που διαβάσατε και ελπίζω να σας ξαναδώ στο ιστολόγιό μας την επόμενη εβδομάδα.

    Ο Michael Brown είναι ένας αφοσιωμένος λάτρης της τεχνολογίας με πάθος για την απλοποίηση πολύπλοκων διαδικασιών χρησιμοποιώντας εργαλεία λογισμικού. Με περισσότερο από μια δεκαετία εμπειρίας στον κλάδο της τεχνολογίας, έχει βελτιώσει τις δεξιότητές του στο Microsoft Excel και το Outlook, καθώς και στα Φύλλα Google και στα Έγγραφα. Το blog του Michael είναι αφιερωμένο στο να μοιράζεται τη γνώση και την τεχνογνωσία του με άλλους, παρέχοντας εύκολες συμβουλές και σεμινάρια για τη βελτίωση της παραγωγικότητας και της αποτελεσματικότητας. Είτε είστε έμπειρος επαγγελματίας είτε αρχάριος, το ιστολόγιο του Michael προσφέρει πολύτιμες πληροφορίες και πρακτικές συμβουλές για να αξιοποιήσετε στο έπακρο αυτά τα βασικά εργαλεία λογισμικού.