Απόκρυψη/εμφάνιση περιττών σειρών και στηλών

Διατύπωση του προβλήματος

Ας υποθέσουμε ότι έχουμε ένα τέτοιο τραπέζι με το οποίο πρέπει να «χορεύουμε» κάθε μέρα:

 

Σε όποιον το τραπέζι φαίνεται μικρό – πολλαπλασιάστε το νοερά είκοσι φορές ανά περιοχή, προσθέτοντας μερικά ακόμη τετράγωνα και δώδεκα μεγάλες πόλεις. 

Το καθήκον είναι να αφαιρέσετε προσωρινά από την οθόνη σειρές και στήλες που δεν είναι απαραίτητες αυτήν τη στιγμή για εργασία, π.χ. 

  • κρύψτε λεπτομέρειες ανά μήνα, αφήνοντας μόνο τέταρτα
  • κρύψτε τα σύνολα ανά μήνες και τρίμηνα, αφήνοντας μόνο το σύνολο για μισό χρόνο
  • κρύψτε πόλεις που δεν είναι απαραίτητες αυτή τη στιγμή (εργάζομαι στη Μόσχα – γιατί να δω την Αγία Πετρούπολη;), κ.λπ.

Στην πραγματική ζωή, υπάρχει μια θάλασσα από παραδείγματα τέτοιων τραπεζιών.

Μέθοδος 1: Απόκρυψη σειρών και στηλών

Η μέθοδος, ειλικρινά, είναι πρωτόγονη και όχι πολύ βολική, αλλά δύο λόγια μπορούν να ειπωθούν γι 'αυτό. Οποιεσδήποτε γραμμές ή στήλες που έχουν επιλεγεί προηγουμένως σε ένα φύλλο μπορούν να κρυφτούν κάνοντας δεξί κλικ στην κεφαλίδα στήλης ή γραμμής και επιλέγοντας την εντολή από το μενού περιβάλλοντος Κρύβω (Κρύβω):

 

Για αντίστροφη εμφάνιση, επιλέξτε γειτονικές γραμμές / στήλες και, κάνοντας δεξί κλικ, επιλέξτε από το μενού, αντίστοιχα, επίδειξη (Αποκάλυψη).

Το πρόβλημα είναι ότι πρέπει να αντιμετωπίσετε κάθε στήλη και σειρά ξεχωριστά, κάτι που είναι άβολο.

Μέθοδος 2. Ομαδοποίηση

Εάν επιλέξετε πολλές σειρές ή στήλες και, στη συνέχεια, επιλέξτε από το μενού Δεδομένα – Ομάδα και Δομή – Ομάδα (Δεδομένα — Ομάδα και Περίγραμμα — Ομάδα), τότε θα εσωκλείονται σε αγκύλη (ομαδοποιημένα). Επιπλέον, οι ομάδες μπορούν να ενσωματωθούν η μία στην άλλη (επιτρέπονται έως και 8 επίπεδα ένθεσης):

Ένας πιο βολικός και πιο γρήγορος τρόπος είναι να χρησιμοποιήσετε μια συντόμευση πληκτρολογίου για να ομαδοποιήσετε προεπιλεγμένες σειρές ή στήλες. Alt+Shift+Δεξί βέλος, και για κατάργηση ομαδοποίησης Alt+Shift+Αριστερό βέλος, Αντίστοιχα.

Αυτή η μέθοδος απόκρυψης περιττών δεδομένων είναι πολύ πιο βολική – μπορείτε είτε να κάνετε κλικ στο κουμπί με το "+"Ή"-", ή στα κουμπιά με ένα αριθμητικό επίπεδο ομαδοποίησης στην επάνω αριστερή γωνία του φύλλου – τότε όλες οι ομάδες του επιθυμητού επιπέδου θα συμπτύσσονται ή θα επεκταθούν ταυτόχρονα.

Έτσι, εάν ο πίνακάς σας περιέχει συνοπτικές γραμμές ή στήλες με τη συνάρτηση άθροισης γειτονικών κελιών, δηλαδή μια πιθανότητα (όχι 100% αλήθεια) ότι το Excel θα δημιουργήσει όλες τις απαραίτητες ομάδες στον πίνακα με μία κίνηση – μέσα από το μενού Δεδομένα – Ομάδα και Δομή – Δημιουργία Δομής (Δεδομένα — Ομάδα και Περίγραμμα — Δημιουργία Περιγράμματος). Δυστυχώς, μια τέτοια συνάρτηση λειτουργεί πολύ απρόβλεπτα και μερικές φορές κάνει πλήρεις ανοησίες σε πολύπλοκους πίνακες. Αλλά μπορείτε να προσπαθήσετε.

Στο Excel 2007 και νεότερα, όλες αυτές οι χαρές βρίσκονται στην καρτέλα ημερομηνία (Ημερομηνία) σε ομάδα   Structure (Περίγραμμα):

Μέθοδος 3. Απόκρυψη σημειωμένων γραμμών/στηλών με μακροεντολή

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

Τώρα ας ανοίξουμε το πρόγραμμα επεξεργασίας της Visual Basic (ALT + F11), εισάγετε μια νέα κενή ενότητα στο βιβλίο μας (μενού Εισαγωγή – Ενότητα) και αντιγράψτε το κείμενο δύο απλών μακροεντολών εκεί:

Sub Hide() Dim cell As Range Application.ScreenUpdating = False 'Απενεργοποίηση ενημέρωσης οθόνης για επιτάχυνση για κάθε κελί στο ActiveSheet.UsedRange.Rows(1).Κελιά 'Επανάληψη σε όλα τα κελιά στην πρώτη σειρά Εάν κελί.Τιμή = "x " Τότε κελί .EntireColumn.Hidden = True 'εάν στο κελί x - απόκρυψη στήλης Επόμενο Για κάθε κελί στο ActiveSheet.UsedRange.Columns(1). Τα κελιά 'περνούν όλα τα κελιά της πρώτης στήλης Εάν κελί.Τιμή = "x" Τότε cell.EntireRow.Hidden = True 'εάν στο κελί x - απόκρυψη της σειράς Next Application.ScreenUpdating = True End Sub Sub Show() Columns.Hidden = False 'ακύρωση όλων των κρυφών σειρών και στηλών Rows.Hidden = False End Sub  

Όπως μπορείτε να μαντέψετε, η μακροεντολή Κρύβω κρύβει και η μακροεντολή προβολή – Εμφανίζει πίσω σειρές και στήλες με ετικέτα. Εάν είναι επιθυμητό, ​​στις μακροεντολές μπορούν να εκχωρηθούν πλήκτρα πρόσβασης (Alt + F8 και κουμπί παράμετροι), ή δημιουργήστε κουμπιά απευθείας στο φύλλο για να τα εκκινήσετε από την καρτέλα Προγραμματιστής – Εισαγωγή – Κουμπί (Προγραμματιστής — Εισαγωγή — Κουμπί).

Μέθοδος 4. Απόκρυψη σειρών/στηλών με δεδομένο χρώμα

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

Sub HideByColor() Dim κελί ως εφαρμογή εύρους.ScreenUpdating = False για κάθε κελί στο ActiveSheet.UsedRange.Rows(2).Cells If cell.Interior.Color = Range("F2").Interior.Color Στη συνέχεια κελί.EntireColumn.Hidden = True If cell.Interior.Color = Range("K2").Interior.Color Στη συνέχεια cell.EntireColumn.Hidden = True Next για κάθε κελί στο ActiveSheet.UsedRange.Columns(2).Κελιά εάν κελί.Interior.Color = εύρος ("D6").Interior.Color Στη συνέχεια cell.EntireRow.Hidden = True If cell.Interior.Color = Range("B11").Interior.Color Στη συνέχεια cell.EntireRow.Hidden = True Next Application.ScreenUpdating = True End Sub  

Ωστόσο, δεν πρέπει να ξεχνάμε μια προειδοποίηση: αυτή η μακροεντολή λειτουργεί μόνο εάν τα κελιά του πίνακα προέλευσης γεμίστηκαν με χρώμα με μη αυτόματο τρόπο και δεν χρησιμοποιούν μορφοποίηση υπό όρους (αυτός είναι ένας περιορισμός της ιδιότητας Interior.Color). Έτσι, για παράδειγμα, εάν επισημάνατε αυτόματα όλες τις προσφορές στον πίνακά σας όπου ο αριθμός είναι μικρότερος από 10 χρησιμοποιώντας μορφοποίηση υπό όρους:

Απόκρυψη/εμφάνιση περιττών σειρών και στηλών

… και θέλετε να τα κρύψετε με μία κίνηση, τότε η προηγούμενη μακροεντολή θα πρέπει να "τελειωθεί". Εάν έχετε Excel 2010-2013, τότε μπορείτε να βγείτε χρησιμοποιώντας αντί της ιδιοκτησίας Εσωτερική εμφάνιση περιουσία DisplayFormat.Interior, το οποίο εξάγει το χρώμα του κελιού, ανεξάρτητα από το πώς ορίστηκε. Η μακροεντολή για την απόκρυψη των μπλε γραμμών μπορεί να μοιάζει με αυτό:

Sub HideByConditionalFormattingColor() Dim κελί ως εφαρμογή εύρους.ScreenUpdating = False για κάθε κελί στο ActiveSheet.UsedRange.Columns(1).Cells If cell.DisplayFormat.Interior.Color = Range("G2").DisplayColor.Interior. .EntireRow.Hidden = True Next Application.ScreenUpdating = True End Sub  

Το κελί G2 λαμβάνεται ως δείγμα για σύγκριση χρώματος. Δυστυχώς το ακίνητο Μορφή εμφάνισης εμφανίστηκε στο Excel μόνο ξεκινώντας από την έκδοση του 2010, επομένως εάν έχετε Excel 2007 ή παλαιότερο, θα πρέπει να βρείτε άλλους τρόπους.

  • Τι είναι μια μακροεντολή, πού να εισαγάγετε κώδικα μακροεντολής, πώς να τις χρησιμοποιήσετε
  • Αυτόματη ομαδοποίηση σε πολυεπίπεδες λίστες

 

Αφήστε μια απάντηση