Πώς να δημιουργήσετε μια εξαρτημένη (καταρρέουσα) αναπτυσσόμενη λίστα στο Excel

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

Πίνακας περιεχομένων

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

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

    Πώς να δημιουργήσετε πολλαπλά εξαρτημένα dropdown στο Excel

    Η δημιουργία μιας εξαρτημένης αναπτυσσόμενης λίστας πολλαπλών επιπέδων στο Excel είναι εύκολη. Το μόνο που χρειάζεστε είναι μερικές ονομαστικές περιοχές και ο τύπος INDIRECT. Αυτή η μέθοδος λειτουργεί με όλες τις εκδόσεις του Excel 365 - 2010 και παλαιότερες.

    1. Πληκτρολογήστε τις καταχωρήσεις για τις αναπτυσσόμενες λίστες

    Πρώτα απ' όλα, πληκτρολογήστε τις καταχωρήσεις που θέλετε να εμφανίζονται στις αναπτυσσόμενες λίστες, κάθε λίστα σε ξεχωριστή στήλη. Για παράδειγμα, δημιουργώ μια κλιμακούμενη αναπτυσσόμενη λίστα με εξαγωγείς φρούτων και τη στήλη Α του φύλλου πηγής μου ( Φρούτα ) περιλαμβάνει τα στοιχεία του πρώτου πτυσσόμενου πλαισίου και 3 άλλες στήλες παραθέτουν τα στοιχεία για τα εξαρτώμενα πτυσσόμενα πεδία.

    2. Δημιουργήστε ονομαστικές περιοχές

    Τώρα πρέπει να δημιουργήσετε ονόματα για την κύρια λίστα σας και για κάθε μία από τις εξαρτημένες λίστες. Μπορείτε να το κάνετε αυτό είτε προσθέτοντας ένα νέο όνομα στο αρχείο Όνομα Διαχειριστής παράθυρο ( Τύποι tab>, Διαχειριστής ονόματος> New) ή πληκτρολογώντας το όνομα απευθείας στο Πλαίσιο ονόματος .

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

    Για λεπτομερείς οδηγίες βήμα προς βήμα, ανατρέξτε στην ενότητα Πώς να ορίσετε ένα όνομα στο Excel.

    Πράγματα που πρέπει να θυμάστε:

    1. Τα στοιχεία που θα εμφανιστούν στην πρώτη αναπτυσσόμενη λίστα πρέπει να είναι μονολεκτικές καταχωρήσεις, π.χ. Βερίκοκο , Μάνγκο , Πορτοκάλια Αν έχετε στοιχεία που αποτελούνται από δύο, τρεις ή περισσότερες λέξεις, ανατρέξτε στην ενότητα Πώς να δημιουργήσετε ένα κλιμακούμενο αναπτυσσόμενο μενού με καταχωρήσεις πολλών λέξεων.
    2. Τα ονόματα των εξαρτημένων καταλόγων πρέπει να είναι ακριβώς τα ίδια με την αντίστοιχη εγγραφή στον κύριο κατάλογο. Για παράδειγμα, ο εξαρτημένος κατάλογος που θα εμφανιστεί όταν " Μάνγκο " έχει επιλεγεί από την πρώτη αναπτυσσόμενη λίστα θα πρέπει να ονομάζεται Μάνγκο .

    Όταν τελειώσετε, ίσως θελήσετε να πατήσετε Ctrl+F3 για να ανοίξετε το Όνομα Διαχειριστής και ελέγξτε αν όλες οι λίστες έχουν σωστά ονόματα και αναφορές.

    3. Φτιάξτε την πρώτη (κύρια) αναπτυσσόμενη λίστα

    1. Στο ίδιο ή σε άλλο φύλλο εργασίας, επιλέξτε ένα ή περισσότερα κελιά στα οποία θέλετε να εμφανίζεται η κύρια αναπτυσσόμενη λίστα σας.
    2. Πηγαίνετε στο Δεδομένα κάντε κλικ στην καρτέλα Επικύρωση δεδομένων και να δημιουργήσετε μια αναπτυσσόμενη λίστα με βάση μια ονομαστική περιοχή με τον συνήθη τρόπο επιλέγοντας Λίστα στο Επιτρέψτε το και εισάγοντας το όνομα της περιοχής στο πεδίο Πηγή κουτί.

    Για τα λεπτομερή βήματα, ανατρέξτε στην ενότητα Δημιουργία μιας αναπτυσσόμενης λίστας με βάση ένα εύρος ονομάτων.

    Ως αποτέλεσμα, θα έχετε ένα αναπτυσσόμενο μενού στο φύλλο εργασίας σας παρόμοιο με αυτό:

    4. Δημιουργήστε την αναπτυσσόμενη λίστα εξαρτημένων

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

    =INDIRECT(A2)

    Όπου A2 είναι το κελί με την πρώτη (κύρια) αναπτυσσόμενη λίστα.

    Εάν το κελί A2 είναι επί του παρόντος κενό, θα λάβετε το μήνυμα σφάλματος " Η πηγή προς το παρόν αξιολογείται ως σφάλμα. Θέλετε να συνεχίσετε; "

    Κάντε ασφαλές κλικ Ναι , και μόλις επιλέξετε ένα στοιχείο από το πρώτο πτυσσόμενο μενού, θα δείτε τις καταχωρήσεις που αντιστοιχούν σε αυτό στη δεύτερη, εξαρτημένη, πτυσσόμενη λίστα.

    5. Προσθέστε μια τρίτη αναπτυσσόμενη λίστα εξαρτημένων ατόμων (προαιρετικά)

    Εάν χρειάζεται, θα μπορούσατε να προσθέσετε μια 3η καταρρέουσα πτυσσόμενη λίστα που εξαρτάται είτε από την επιλογή στο 2ο πτυσσόμενο μενού είτε από τις επιλογές στα δύο πρώτα πτυσσόμενα μενού.

    Ορίστε το 3ο dropdown που εξαρτάται από τη 2η λίστα

    Μπορείτε να φτιάξετε την αναδιπλούμενη λίστα αυτού του τύπου με τον ίδιο τρόπο που μόλις φτιάξαμε ένα δεύτερο εξαρτημένο αναδιπλούμενο μενού. Απλά θυμηθείτε τα 2 σημαντικά πράγματα που συζητήθηκαν παραπάνω, τα οποία είναι απαραίτητα για τη σωστή λειτουργία των αναδιπλούμενων λιστών σας.

    Για παράδειγμα, αν θέλετε να εμφανίσετε μια λίστα περιφερειών στη στήλη Γ ανάλογα με το ποια χώρα έχει επιλεγεί στη στήλη Β, δημιουργείτε μια λίστα περιφερειών για κάθε χώρα και την ονομάζετε με το όνομα της χώρας, όπως ακριβώς εμφανίζεται η χώρα στις δεύτερες αναπτυσσόμενες λίστες. Για παράδειγμα, μια λίστα με τις ινδικές περιφέρειες θα πρέπει να ονομάζεται "Ινδία", μια λίστα με τις κινεζικές περιφέρειες - "Κίνα", κ.ο.κ.

    Στη συνέχεια, επιλέγετε ένα κελί για το 3ο αναπτυσσόμενο μενού (C2 στην περίπτωσή μας) και εφαρμόζετε την Επικύρωση δεδομένων του Excel με τον ακόλουθο τύπο (το B2 είναι το κελί με το δεύτερο αναπτυσσόμενο μενού που περιέχει μια λίστα χωρών):

    =INDIRECT(B2)

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

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

    Δημιουργήστε ένα τρίτο dropdown που εξαρτάται από τις δύο πρώτες λίστες

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

    1. Δημιουργήστε πρόσθετα σύνολα ονομαστικών περιοχών και ονομάστε τα για τους συνδυασμούς λέξεων στα δύο πρώτα αναπτυσσόμενα πεδία. Για παράδειγμα, έχετε Μάνγκο, πορτοκάλια κ.λπ. στον 1ο κατάλογο και Ινδία, Βραζιλία κ.λπ. στο 2ο. Στη συνέχεια, δημιουργείτε ονομαστικές σειρές MangoIndia , MangoBrazil , ΠορτοκάλιαΙνδία , ΠορτοκάλιαΒραζιλία , κ.λπ. Τα ονόματα αυτά δεν πρέπει να περιέχουν υπογράμμιση ή άλλους πρόσθετους χαρακτήρες.

  • Εφαρμόστε την Επικύρωση δεδομένων του Excel με τον τύπο INDIRECT SUBSTITUTE που συνενώνει τα ονόματα των καταχωρίσεων στις δύο πρώτες στήλες και αφαιρεί τα κενά από τα ονόματα. Για παράδειγμα, στο κελί C2, ο τύπος επικύρωσης δεδομένων θα είναι:
  • =INDIRECT(SUBSTITUTE(A2&B2," ",""))

    Όπου τα A2 και B2 περιέχουν το πρώτο και το δεύτερο dropdown, αντίστοιχα.

    Ως αποτέλεσμα, η 3η αναπτυσσόμενη λίστα σας θα εμφανίζει τις περιοχές που αντιστοιχούν στις Φρούτα και Χώρα επιλεγμένο στις 2 πρώτες αναπτυσσόμενες λίστες.

    Αυτός είναι ο ευκολότερος τρόπος για να δημιουργήσετε κλιμακούμενα αναπτυσσόμενα πλαίσια στο Excel. Ωστόσο, αυτή η μέθοδος έχει ορισμένους περιορισμούς.

    Περιορισμοί αυτής της προσέγγισης:

    1. Τα στοιχεία της κύριας αναπτυσσόμενης λίστας πρέπει να είναι καταχωρήσεις μίας λέξης. Δείτε πώς να δημιουργείτε κλιμακούμενες αναπτυσσόμενες λίστες με καταχωρήσεις πολλών λέξεων.
    2. Αυτή η μέθοδος δεν θα λειτουργήσει αν οι καταχωρήσεις στην κύρια αναπτυσσόμενη λίστα περιέχουν χαρακτήρες που δεν επιτρέπονται σε ονόματα περιοχών, όπως η παύλα (-), η τελεία (&) κ.λπ. Η λύση είναι να δημιουργήσετε μια δυναμική κλιμακούμενη αναπτυσσόμενη λίστα που δεν έχει αυτόν τον περιορισμό.
    3. Τα αναπτυσσόμενα μενού που δημιουργούνται με αυτόν τον τρόπο δεν ενημερώνονται αυτόματα, δηλαδή θα πρέπει να αλλάζετε τις αναφορές των ονομαστικών περιοχών κάθε φορά που προσθέτετε ή αφαιρείτε στοιχεία στις λίστες προέλευσης. Για να ξεπεράσετε αυτόν τον περιορισμό, δοκιμάστε να δημιουργήσετε μια δυναμική κλιμακούμενη αναπτυσσόμενη λίστα.

    Δημιουργία κλιμακούμενων αναπτυσσόμενων λιστών με καταχωρήσεις πολλών λέξεων

    Οι τύποι INDIRECT που χρησιμοποιήσαμε στο παραπάνω παράδειγμα μπορούν να χειριστούν μόνο στοιχεία μίας λέξης. Για παράδειγμα, ο τύπος =INDIRECT(A2) αναφέρεται έμμεσα στο κελί A2 και εμφανίζει την ονομασμένη περιοχή ακριβώς με το ίδιο όνομα που υπάρχει στο αναφερόμενο κελί. Ωστόσο, τα κενά δεν επιτρέπονται στα ονόματα του Excel, γι' αυτό και αυτός ο τύπος δεν θα λειτουργήσει με ονόματα πολλών λέξεων.

    Η λύση είναι να χρησιμοποιήσετε τη συνάρτηση INDIRECT σε συνδυασμό με SUBSTITUTE όπως κάναμε όταν δημιουργήσαμε ένα 3ο dropdown.

    Ας υποθέσουμε ότι έχετε Πεπόνι νερού Σε αυτή την περίπτωση, ονομάζετε έναν κατάλογο εξαγωγέων πεπονιού με μία λέξη χωρίς κενά - Καρπούζι .

    Στη συνέχεια, για το δεύτερο αναπτυσσόμενο μενού, εφαρμόστε την Επικύρωση δεδομένων του Excel με τον ακόλουθο τύπο που αφαιρεί τα κενά από το όνομα στο κελί A2:

    =INDIRECT(SUBSTITUTE(A2," ",""))

    Πώς να αποτρέψετε αλλαγές στην κύρια αναπτυσσόμενη λίστα

    Φανταστείτε το ακόλουθο σενάριο. Ο χρήστης σας έχει κάνει τις επιλογές σε όλες τις αναπτυσσόμενες λίστες, στη συνέχεια άλλαξε γνώμη, επέστρεψε στην πρώτη λίστα και επέλεξε ένα άλλο στοιχείο. Ως αποτέλεσμα, η 1η και η 2η επιλογή δεν ταιριάζουν. Για να αποτρέψετε αυτό το φαινόμενο, ίσως θέλετε να μπλοκάρετε τυχόν αλλαγές στην πρώτη αναπτυσσόμενη λίστα μόλις γίνει μια επιλογή στη δεύτερη λίστα.

    Για να το κάνετε αυτό, κατά τη δημιουργία του πρώτου αναπτυσσόμενου μενού, χρησιμοποιήστε έναν ειδικό τύπο που θα ελέγχει αν έχει επιλεγεί κάποια καταχώρηση στο δεύτερο αναπτυσσόμενο μενού:

    =IF(B2="", Fruit, INDIRECT("FakeList"))

    Όπου το B2 περιέχει το δεύτερο dropdown, " Φρούτα " είναι το όνομα της λίστας που εμφανίζεται στο πρώτο αναπτυσσόμενο μενού και " FakeList " είναι οποιοδήποτε ψεύτικο όνομα που δεν υπάρχει.

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

    Δημιουργία δυναμικών κλιμακούμενων αναπτυσσόμενων λιστών στο Excel

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

    Όπως συμβαίνει σχεδόν με οτιδήποτε στο Excel, μπορείτε να επιτύχετε το ίδιο αποτέλεσμα με διάφορους τρόπους. Συγκεκριμένα, μπορείτε να δημιουργήσετε ένα δυναμικό αναπτυσσόμενο μενού χρησιμοποιώντας έναν συνδυασμό των συναρτήσεων OFFSET, INDIRECT και COUNTA ή έναν πιο ανθεκτικό τύπο INDEX MATCH. Ο τελευταίος είναι ο τρόπος που προτιμώ, επειδή παρέχει πολλά πλεονεκτήματα, τα βασικότερα από τα οποία είναι:

    1. Πρέπει να δημιουργήσετε 3 ονομαστικές σειρές μόνο, ανεξάρτητα από το πόσα στοιχεία υπάρχουν στην κύρια και στην εξαρτημένη λίστα.
    2. Οι λίστες σας μπορούν να περιέχουν στοιχεία με πολλές λέξεις και οποιαδήποτε ειδικά σύμβολα.
    3. Ο αριθμός των καταχωρίσεων μπορεί να ποικίλλει σε κάθε στήλη.
    4. Η σειρά ταξινόμησης των καταχωρήσεων δεν έχει σημασία.
    5. Τέλος, είναι πολύ εύκολο να διατηρήσετε και να τροποποιήσετε τους καταλόγους πηγών.

    Εντάξει, αρκετά με τη θεωρία, ας περάσουμε στην πράξη.

    1. Οργανώστε τα δεδομένα της πηγής σας σε έναν πίνακα

    Ως συνήθως, το πρώτο πράγμα που πρέπει να κάνετε είναι να καταγράψετε όλες τις επιλογές για τις αναπτυσσόμενες λίστες σας σε ένα φύλλο εργασίας. Αυτή τη φορά, θα πρέπει να αποθηκεύσετε τα δεδομένα της πηγής σε έναν πίνακα του Excel. Για το σκοπό αυτό, αφού καταχωρίσετε τα δεδομένα, επιλέξτε όλες τις καταχωρήσεις και πατήστε Ctrl + T ή κάντε κλικ στο κουμπί Εισαγωγή tab>, Πίνακας . Στη συνέχεια, πληκτρολογήστε ένα όνομα του πίνακα σας στο πεδίο Όνομα πίνακα κουτί.

    Η πιο βολική και οπτική προσέγγιση είναι να αποθηκεύσετε τα στοιχεία για το πρώτο drop-down ως επικεφαλίδες πίνακα και τα στοιχεία για το εξαρτημένο dropdown ως δεδομένα πίνακα. Το παρακάτω στιγμιότυπο απεικονίζει τη δομή του πίνακα μου, με όνομα exporters_tbl - τα ονόματα των φρούτων είναι επικεφαλίδες του πίνακα και ένας κατάλογος των χωρών εξαγωγής προστίθεται κάτω από το αντίστοιχο όνομα του φρούτου.

    2. Δημιουργία ονομάτων Excel

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

    2.1. Προσθέστε ένα όνομα για τη γραμμή επικεφαλίδας του πίνακα (κύριο πτυσσόμενο μενού)

    Για να δημιουργήσετε ένα νέο όνομα που παραπέμπει στην επικεφαλίδα του πίνακα, επιλέξτε το και στη συνέχεια είτε κάντε κλικ στο Τύποι >, Όνομα Διαχειριστής >, Νέο ή πατήστε Ctrl + F3 .

    Το Microsoft Excel θα χρησιμοποιήσει το ενσωματωμένο σύστημα αναφοράς πινάκων για να δημιουργήσει το όνομα του table_name[#Headers] μοτίβο.

    Δώστε του κάποιο ουσιαστικό και ευκολομνημόνευτο όνομα, π.χ. fruit_list , και κάντε κλικ στο OK .

    2.2. Δημιουργήστε ένα όνομα για το κελί που περιέχει την πρώτη αναπτυσσόμενη λίστα

    Ξέρω ότι δεν έχετε ακόμα κανένα dropdown :) Αλλά πρέπει να επιλέξετε το κελί που θα φιλοξενήσει το πρώτο σας dropdown και να δημιουργήσετε ένα όνομα για αυτό το κελί τώρα, επειδή θα πρέπει να συμπεριλάβετε αυτό το όνομα στην αναφορά του τρίτου ονόματος.

    Για παράδειγμα, το πρώτο μου αναπτυσσόμενο πλαίσιο βρίσκεται στο κελί Β1 του φύλλου 2, οπότε δημιουργώ ένα όνομα για αυτό, κάτι απλό και αυτονόητο όπως φρούτα :

    Συμβουλή. Χρησιμοποιήστε κατάλληλες αναφορές κελιών για να αντιγραφή αναπτυσσόμενων λιστών σε όλο το φύλλο εργασίας.

    Παρακαλούμε διαβάστε προσεκτικά τις παρακάτω παραγράφους, γιατί πρόκειται για μια πολύ χρήσιμη συμβουλή που δεν πρέπει να χάσετε. Ευχαριστούμε πολύ την Karen για την ανάρτησή της!

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

    Για να αντιγραφούν σωστά τα drop-downs σε άλλα στήλες (δηλαδή προς τα δεξιά), χρησιμοποιήστε σχετικές αναφορές στηλών (χωρίς το σύμβολο $) και απόλυτες αναφορές γραμμών (με $), όπως = Sheet2!B$1.

    Ως αποτέλεσμα, η αναπτυσσόμενη λίστα εξαρτημένων στοιχείων του B1 θα εμφανιστεί στο κελί B2, η αναπτυσσόμενη λίστα εξαρτημένων στοιχείων του C1 θα εμφανιστεί στο C2 κ.ο.κ.

    Και αν σκοπεύετε να αντιγράψετε τα dropdowns σε άλλα σειρές (δηλ. προς τα κάτω στη στήλη), τότε χρησιμοποιήστε απόλυτες συντεταγμένες στήλης (με $) και σχετικές συντεταγμένες γραμμής (χωρίς $), όπως = Sheet2!$B1.

    Για να αντιγράψετε ένα αναπτυσσόμενο κελί προς οποιαδήποτε κατεύθυνση, χρησιμοποιήστε μια σχετική αναφορά (χωρίς το σύμβολο $) όπως = Sheet2!B1.

    2.3. Δημιουργήστε ένα όνομα για την ανάκτηση των καταχωρήσεων του εξαρτημένου μενού

    Αντί να ορίσουμε μοναδικά ονόματα για κάθε μία από τις λίστες εξαρτημένων όπως κάναμε στο προηγούμενο παράδειγμα, θα δημιουργήσουμε ένα ονομαστικός τύπος που δεν έχει ανατεθεί σε κάποιο συγκεκριμένο κελί ή σε μια περιοχή κελιών. Θα ανακτήσει τη σωστή λίστα καταχωρήσεων για το δεύτερο αναπτυσσόμενο μενού ανάλογα με την επιλογή που γίνεται στο πρώτο αναπτυσσόμενο μενού. Το κύριο πλεονέκτημα της χρήσης αυτού του τύπου είναι ότι δεν θα χρειάζεται να δημιουργείτε νέα ονόματα καθώς προσθέτετε νέες καταχωρήσεις στο πρώτο αναπτυσσόμενο μενού - ένας τύπος με όνομα τις καλύπτει όλες.

    Δημιουργείτε ένα νέο όνομα του Excel με αυτόν τον τύπο:

    =INDEX(exporters_tbl,,MATCH(fruit,fruit_list,0))

    Πού:

    • exporters_tbl - το όνομα του πίνακα (που δημιουργήθηκε στο βήμα 1),
    • φρούτα - το όνομα του κελιού που περιέχει την πρώτη αναπτυσσόμενη λίστα (που δημιουργήθηκε στο βήμα 2.2),
    • fruit_list - το όνομα που παραπέμπει στη γραμμή επικεφαλίδας του πίνακα (που δημιουργήθηκε στο βήμα 2.1).

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

    Λοιπόν, έχετε ήδη κάνει το μεγαλύτερο μέρος της εργασίας! Πριν φτάσετε στο τελευταίο βήμα, ίσως είναι καλή ιδέα να ανοίξετε τη Διαχείριση ονομάτων ( Ctrl + F3 ) και να επαληθεύσετε τα ονόματα και τις αναφορές:

    3. Ρύθμιση επικύρωσης δεδομένων του Excel

    Αυτό είναι στην πραγματικότητα το πιο εύκολο μέρος. Με τους δύο τύπους που έχουν οριστεί, ρυθμίζετε την Επικύρωση δεδομένων με τον συνηθισμένο τρόπο ( Δεδομένα tab>, Επικύρωση δεδομένων ).

    • Για την πρώτη αναπτυσσόμενη λίστα, στο πλαίσιο Source (Πηγή), πληκτρολογήστε =fruit_list (το όνομα που δημιουργήθηκε στο βήμα 2.1).
    • Για την αναπτυσσόμενη λίστα εξαρτημένων, πληκτρολογήστε =exporters_list (το όνομα που δημιουργήθηκε στο βήμα 2.3).

    Έγινε! Το δυναμικό αναπτυσσόμενο μενού σας έχει ολοκληρωθεί και θα ενημερώνεται αυτόματα αντικατοπτρίζοντας τις αλλαγές που κάνατε στον πηγαίο πίνακα.

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

    Εξαίρεση κενών γραμμών από το δυναμικό αναπτυσσόμενο πτυσσόμενο μενού

    Αν θέλετε να καθαρίσετε τυχόν κενές γραμμές στα αναπτυσσόμενα πλαίσια, θα πρέπει να προχωρήσετε ένα βήμα παραπέρα και να βελτιώσετε τον τύπο INDEX / MATCH που χρησιμοποιείται για τη δημιουργία της εξαρτημένης δυναμικής αναπτυσσόμενης λίστας.

    Η ιδέα είναι να χρησιμοποιήσετε 2 συναρτήσεις INDEX, όπου η πρώτη παίρνει το πάνω αριστερό κελί και η δεύτερη επιστρέφει το κάτω δεξί κελί της περιοχής, ή τη συνάρτηση OFFSET με ένθετες INDEX και COUNTA. Τα αναλυτικά βήματα ακολουθούν παρακάτω:

    1. Δημιουργήστε δύο επιπλέον ονόματα

    Για να μην κάνετε τον τύπο πολύ ογκώδη, δημιουργήστε πρώτα μερικά βοηθητικά ονόματα με τους ακόλουθους απλούς τύπους:

    • Ένα όνομα που ονομάζεται col_num για να ανατρέξετε στον επιλεγμένο αριθμό στήλης:

      =MATCH(fruit,fruit_list,0)

    • Ένα όνομα που ονομάζεται entire_col για να αναφέρεστε στην επιλεγμένη στήλη (όχι στον αριθμό της στήλης, αλλά σε ολόκληρη τη στήλη):

      =INDEX(exporters_tbl,,col_num)

    Στους παραπάνω τύπους, exporters_tbl είναι το όνομα του πηγαίου σας πίνακα, φρούτα είναι το όνομα του κελιού που περιέχει το πρώτο dropdown, και fruit_list είναι το όνομα που αναφέρεται στη γραμμή κεφαλίδας του πίνακα.

    2. Δημιουργήστε την ονομαστική αναφορά για το εξαρτημένο αναπτυσσόμενο μενού

    Στη συνέχεια, χρησιμοποιήστε έναν από τους παρακάτω τύπους για να δημιουργήσετε ένα νέο όνομα (ας το ονομάσουμε exporters_list2 ) που θα χρησιμοποιηθεί με την αναπτυσσόμενη λίστα εξαρτημένων στοιχείων:

    =INDEX(exporters_tbl,1,col_num) : INDEX(exporters_tbl, COUNTA(entire_col), col_num)

    =OFFSET(INDEX(exporters_tbl,1,col_num),0,0,COUNTA(entire_col))

    3. Εφαρμόστε την επικύρωση δεδομένων

    Τέλος, επιλέξτε το κελί που περιέχει το εξαρτημένο πτυσσόμενο πεδίο και εφαρμόστε την Επικύρωση δεδομένων πληκτρολογώντας = exporters_list2 (το όνομα που δημιουργήθηκε στο προηγούμενο βήμα)στο αρχείο Πηγή κουτί.

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

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

    Με αυτόν τον τρόπο δημιουργείτε μια λίστα επικύρωσης δεδομένων του Excel με βάση τις τιμές μιας άλλης λίστας. Μη διστάσετε να κατεβάσετε τα βιβλία εργασίας μας για να δείτε τις καταρρέουσες αναπτυσσόμενες λίστες σε δράση. Σας ευχαριστούμε για την ανάγνωση!

    Βιβλίο ασκήσεων για κατέβασμα

    Cascading Dropdown Δείγμα 1- εύκολη έκδοση

    Cascading Dropdown Sample 2 - προηγμένη έκδοση χωρίς κενά

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