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

  • Μοιραστείτε Αυτό
Hugh West

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

Κατεβάστε το βιβλίο ασκήσεων

Δυναμική λίστα βάσει κριτηρίων.xlsx

Τι είναι μια δυναμική λίστα στο Excel;

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

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

Τώρα αν αλλάξετε τα σημάδια της Jennifer Marlo από 68 στο 58 , και προσθέστε έναν νέο μαθητή με το όνομα Ross Smith με βαθμούς 81 στον πίνακα, η λίστα θα προσαρμοστεί αυτόματα.

Αυτό ονομάζεται δυναμική λίστα.

3 τρόποι δημιουργίας δυναμικής λίστας στο Excel με βάση κριτήρια

Εδώ έχουμε ένα σύνολο δεδομένων με το Φοιτητικές ταυτότητες, Ονόματα, και Μαρκς κάποιων μαθητών σε ένα σχολείο που ονομάζεται νηπιαγωγείο Sunflower.

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

1. Χρήση των λειτουργιών FILTER και OFFSET (Για τις νέες εκδόσεις του Excel)

Πρώτα απ' όλα, θα χρησιμοποιήσουμε έναν συνδυασμό των ΦΊΛΤΡΟ , OFFSET , και ΧΩΡΑ λειτουργίες του Excel.

Το ΦΊΛΤΡΟ η λειτουργία είναι διαθέσιμη στο Office 365 μόνο. Έτσι, αυτό είναι μόνο για όσους έχουν ένα Office 365 συνδρομή.

Περίπτωση 1: Με βάση ένα μόνο κριτήριο

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

Μπορείτε να χρησιμοποιήσετε αυτόν τον τύπο:

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)

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

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

Η λίστα θα προσαρμοστεί αυτόματα.

Επεξήγηση του τύπου:

  • COUNTA(C:C) επιστρέφει τον αριθμό των γραμμών της στήλης C που δεν είναι κενές. COUNTA(C:C)-1 επιστρέφει τον αριθμό των γραμμών που έχουν τιμές χωρίς το Κεφαλίδα στήλης ( Όνομα μαθητή σε αυτό το παράδειγμα).
  • Εάν δεν έχετε το Κεφαλίδα στήλης , χρησιμοποιήστε COUNTA(C:C)
  • OFFSET(C5,0,0,0,COUNTA(C:C)-1,1) ξεκινά από το κελί C5 (Όνομα του πρώτου μαθητή) και επιστρέφει ένα εύρος ονομάτων όλων των μαθητών.
  • Το OFFSET σε συνδυασμό με τη λειτουργία Λειτουργία COUNTIF έχει χρησιμοποιηθεί για να διατηρηθεί ο τύπος δυναμικός. Εάν ένας ακόμη μαθητής προστεθεί στο σύνολο δεδομένων, η COUNTA(C:C)-1 ο τύπος θα αυξηθεί κατά 1 και το OFFSET θα περιλαμβάνει τον μαθητή.
  • Ομοίως, OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60 επιστρέφει ΑΛΗΘΙΝΟ για όλα τα σήματα που είναι μεγαλύτερα ή ίσα με 60 .
  • Τέλος, FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60) επιστρέφει μια λίστα με όλους τους μαθητές που πήραν βαθμούς μεγαλύτερους από 60 .
  • Εάν προστεθεί νέος μαθητής στο σύνολο δεδομένων, COUNTA(C:C)-1 αυξάνεται κατά 1 , και το ΦΊΛΤΡΟ η συνάρτηση ανανεώνει τον υπολογισμό που την περιλαμβάνει.
  • Έτσι, ο τύπος παραμένει πάντα δυναμικός.

Σημείωση:

Αν θέλετε να λάβετε τα σημάδια μαζί με τα ονόματα στη λίστα, απλά αλλάξτε το πέμπτο όρισμα της πρώτης εντολής OFFSET συνάρτηση από την 1 στο 2 .

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,2),OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)

Περίπτωση 2: Με βάση πολλαπλά κριτήρια

Ας δοκιμάσουμε πολλαπλά κριτήρια αυτή τη φορά.

Θα προσπαθήσουμε να δημιουργήσουμε μια δυναμική λίστα με τους μαθητές που πήραν βαθμούς μεγαλύτερους ή ίσους με 60, αλλά των οποίων τα ID είναι μικρότερα ή ίσα με 200 .

Μπορείτε να χρησιμοποιήσετε αυτόν τον τύπο:

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),(OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200))

Όπως μπορείτε να δείτε, έχουμε μια λίστα με όλους τους μαθητές που πήραν βαθμούς μεγαλύτερους από 60 και έχουν ID s λιγότερο από 200 .

Και δεν χρειάζεται να το πείτε, αυτή είναι μια δυναμική λίστα.

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

Επεξήγηση του τύπου:

  • Εδώ έχουμε πολλαπλασιάσει δύο δυναμικές σειρές κριτηρίων, (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,0,COUNTA(B:B)-1,1)<=200)
  • Εάν έχετε περισσότερα από 2 κριτήρια, πολλαπλασιάστε όλες τις σειρές κριτηρίων με τον ίδιο τρόπο.
  • Τα υπόλοιπα είναι τα ίδια με το προηγούμενο παράδειγμα (των μεμονωμένων κριτηρίων). OFFSET σε συνδυασμό με τη λειτουργία ΧΩΡΑ χρησιμοποιήθηκε για να διατηρηθεί ο τύπος δυναμικός.

Σημείωση:

Αν θέλετε να δείτε όλες τις στήλες της λίστας ( Στήλες B, C, και D σε αυτό το παράδειγμα), αλλάξτε το πρώτο όρισμα του πρώτου OFFSET στην πρώτη στήλη ( B5 σε αυτό το παράδειγμα), και το πέμπτο όρισμα στο συνολικό αριθμό στηλών ( 3 σε αυτό το παράδειγμα).

=FILTER(OFFSET(B5,0,0,COUNTA(C:C)-1,3),(OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)*

(OFFSET(B5,0,0,0,COUNTA(B:B)-1,1)<=200))

Διαβάστε περισσότερα: Excel Δημιουργία δυναμικής λίστας από πίνακα (3 εύκολοι τρόποι)

2. Χρήση του INDEX-MATCH με άλλες λειτουργίες (Για παλιές εκδόσεις)

Όσοι δεν έχουν Office 365 συνδρομή δεν μπορεί να χρησιμοποιήσει τον παραπάνω τύπο.

Παρουσιάζω έναν πιο σύνθετο τρόπο για όσους χρησιμοποιούν την παλαιότερη έκδοση του Excel, χρησιμοποιώντας το INDEX-MATCH, OFFSET, SMALL, IF, ROW, COUNTIF, και COUNTIFS του Excel. Σημειώστε ότι αυτοί οι τύποι είναι τύποι συστοιχίας. Έτσι, για να τους εφαρμόσετε σε παλαιότερες εκδόσεις του Excel, πρέπει να πατήσετε το πλήκτρο Ctrl+Shift+Enter αντί για Enter.

Περίπτωση 1: Με βάση ένα μόνο κριτήριο

Ο τύπος για τη δημιουργία μιας δυναμικής λίστας των μαθητών που έχουν βαθμολογία μεγαλύτερη ή ίση του 60 θα είναι ο εξής:

=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF(OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60,

OFFSET(D5,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIF(D:D,">=60")))),OFFSET(D5,0,0,0,COUNTA(D:D)-1,1),0),1),1)

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

Αυτή τη φορά έχουμε πάρει με αύξουσα σειρά τους αριθμούς.

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

Η λίστα θα προσαρμοστεί αυτόματα.

Επεξήγηση του τύπου:

  • Εδώ C:C είναι η στήλη από την οποία θέλουμε να εξάγουμε τα περιεχόμενα της λίστας ( Όνομα μαθητή σε αυτό το παράδειγμα). Χρησιμοποιείτε το δικό σας.
  • D:D είναι η στήλη στην οποία βρίσκεται το κριτήριο ( Μέσος όρος βαθμών σε αυτό το παράδειγμα). Χρησιμοποιείτε το δικό σας.
  • C5 και D5 είναι τα κελιά από τα οποία ξεκίνησαν τα δεδομένα μου (ακριβώς κάτω από το Επικεφαλίδες στηλών ).
  • ">=60" είναι το κριτήριό μου (Μεγαλύτερο ή ίσο με 60 σε αυτό το παράδειγμα). Χρησιμοποιείτε το δικό σας.
  • Εκτός από αυτές τις λίγες αλλαγές, κρατήστε τον υπόλοιπο τύπο αμετάβλητο και χρησιμοποιήστε τον στο σύνολο δεδομένων σας. Θα λάβετε μια δυναμική λίστα σύμφωνα με το επιθυμητό κριτήριο.

Περίπτωση 2: Με βάση πολλαπλά κριτήρια

Το INDEX-MATCH Ο τύπος για τη δυναμική λίστα με βάση πολλαπλά κριτήρια είναι λίγο πιο πολύπλοκος. Παρ' όλα αυτά, τον παρουσιάζω.

Ο τύπος για να λάβετε τα ονόματα των μαθητών που έλαβαν βαθμούς μεγαλύτερους ή ίσους με 60 , αλλά έχουν ID s λιγότερο από 200 θα είναι,

=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF((OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)*

(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200),OFFSET(D5,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIFS(B:B,"=60")))),OFFSET(D5,0,0,0,COUNTA(D:D)-1,1),0),1),1)

Επεξήγηση του τύπου:

  • Εδώ C:C είναι η στήλη από την οποία θέλουμε να εξάγουμε τα περιεχόμενα της λίστας ( Όνομα μαθητή σε αυτό το παράδειγμα). Χρησιμοποιείτε το δικό σας.
  • B:B και D:D είναι οι στήλες στις οποίες βρίσκονται τα κριτήρια ( Ταυτότητα Φοιτητή και Μέσος όρος βαθμών σε αυτό το παράδειγμα). Χρησιμοποιείτε το δικό σας.
  • B5, C5, και D5 είναι τα κελιά από τα οποία ξεκίνησαν τα δεδομένα μου (ακριβώς κάτω από το Επικεφαλίδες στηλών ).
  • Έχω πολλαπλασιάσει δύο κριτήρια εδώ: (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,0,COUNTA(B:B)-1,1)<=200) .Εάν έχετε περισσότερα από δύο κριτήρια, πολλαπλασιάστε ανάλογα.
  • Χρησιμοποίησα και πάλι τα δύο κριτήρια μέσα σε αυτό COUNTIFS λειτουργία: COUNTIFS(B:B,"=60") . Χρησιμοποιείτε τα δικά σας αναλόγως.
  • Κρατήστε τον υπόλοιπο τύπο αμετάβλητο και χρησιμοποιήστε τον στο σύνολο δεδομένων σας. Θα λάβετε μια δυναμική λίστα με πολλαπλά κριτήρια.

Διαβάστε περισσότερα: Πώς να δημιουργήσετε μια δυναμική λίστα επικύρωσης δεδομένων χρησιμοποιώντας την VBA στο Excel

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

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

  • Για να δημιουργήσετε τη δυναμική αναπτυσσόμενη λίστα, επιλέξτε οποιοδήποτε κελί στο φύλλο εργασίας σας και μεταβείτε στο Δεδομένα> Επικύρωση δεδομένων> Επικύρωση δεδομένων στο πλαίσιο του Εργαλεία δεδομένων τμήμα.

  • Θα λάβετε το Επικύρωση δεδομένων πλαίσιο διαλόγου. Κάτω από το Επιτρέψτε το Επιλογή, επιλέξτε Λίστα . και κάτω από το Πηγή επιλογή, εισάγετε την αναφορά του πρώτου κελιού όπου βρίσκεται η λίστα στο φύλλο εργασίας σας μαζί με ένα HashTag (#) ( $E$5# σε αυτό το παράδειγμα).

  • Στη συνέχεια κάντε κλικ στο OK Θα εμφανιστεί μια αναπτυσσόμενη λίστα στο επιλεγμένο κελί σας, όπως αυτή.

Διαβάστε περισσότερα: Πώς να δημιουργήσετε δυναμική αναπτυσσόμενη λίστα χρησιμοποιώντας το VBA στο Excel

Πώς να δημιουργήσετε μια δυναμική μοναδική λίστα στο Excel βάσει κριτηρίων

Σε αυτή την ενότητα, θα δείξουμε πώς να δημιουργήσουμε μια μοναδική λίστα στο Excel με βάση κριτήρια. Θα χρησιμοποιήσουμε έναν συνδυασμό ΜΟΝΑΔΙΚΟ και ΦΊΛΤΡΟ λειτουργίες. Τροποποιήσαμε το σύνολο δεδομένων και προσθέσαμε τα αγαπημένα παιχνίδια κάθε μαθητή. Τώρα, θέλουμε να γνωρίζουμε το όνομα των παιχνιδιών αφαιρώντας τα διπλά με κριτήρια. Τα κριτήρια είναι ο μέσος όρος των βαθμών των μαθητών πρέπει να είναι μεγαλύτερος από 60 .

📌 Βήματα:

  • Βάλτε τον τύπο με βάση τον συνδυασμό ΜΟΝΑΔΙΚΟ και ΦΊΛΤΡΟ λειτουργίες για Κύτταρο G5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60)))

Παίρνουμε μια μοναδική λίστα βάσει κριτηρίων.

Επεξήγηση του τύπου:

  • FILTER(E5:E25,(D5:D25>60)

Αυτό φιλτράρει τις τιμές των Εύρος E5:E25 , με την προϋπόθεση ότι ο μέσος όρος βαθμολογίας πρέπει να είναι πάνω από 60 .

Αποτέλεσμα: [Τένις, βόλεϊ, ράγκμπι, τένις, ποδόσφαιρο, ράγκμπι, ράγκμπι, ποδόσφαιρο]

  • UNIQUE(FILTER(E5:E25,(D5:D25>60)))

Αυτό επιστρέφει όλες τις μοναδικές τιμές από το προηγούμενο αποτέλεσμα.

Αποτέλεσμα: [Τένις, βόλεϊ, ράγκμπι, ποδόσφαιρο]

Συμπέρασμα

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

Ο Hugh West είναι ένας εξαιρετικά έμπειρος εκπαιδευτής και αναλυτής του Excel με πάνω από 10 χρόνια εμπειρίας στον κλάδο. Είναι κάτοχος πτυχίου Λογιστικής και Χρηματοοικονομικής και μεταπτυχιακού στη Διοίκηση Επιχειρήσεων. Ο Hugh έχει πάθος για τη διδασκαλία και έχει αναπτύξει μια μοναδική προσέγγιση διδασκαλίας που είναι εύκολο να ακολουθηθεί και να κατανοηθεί. Οι εξειδικευμένες γνώσεις του στο Excel έχουν βοηθήσει χιλιάδες φοιτητές και επαγγελματίες παγκοσμίως να βελτιώσουν τις δεξιότητές τους και να διαπρέψουν στην καριέρα τους. Μέσω του ιστολογίου του, ο Hugh μοιράζεται τις γνώσεις του με τον κόσμο, προσφέροντας δωρεάν μαθήματα Excel και διαδικτυακή εκπαίδευση για να βοηθήσει άτομα και επιχειρήσεις να αξιοποιήσουν πλήρως τις δυνατότητές τους.