Μετάβαση στο κύριο περιεχόμενο

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

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

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


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

Όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης, πρέπει να εξαγάγετε δυναμικά μια λίστα μοναδικών τιμών από το εύρος B2: B9. Δοκιμάστε τον ακόλουθο τύπο πίνακα.

1. Επιλέξτε ένα κενό κελί όπως το D2, εισαγάγετε τον παρακάτω τύπο και πατήστε το Ctrl + αλλαγή + εισάγετε ταυτόχρονα πλήκτρα. (B2: B9 είναι τα δεδομένα στηλών που θέλετε να εξαγάγετε τις μοναδικές τιμές, το D1 είναι το παραπάνω κελί όπου βρίσκεται ο τύπος σας)

=IFERROR(INDEX($B$2:$B$9, MATCH(0,COUNTIF($D$1:D1, $B$2:$B$9), 0)),"")

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

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

Επιλέξτε και επισημάνετε εύκολα όλες τις μοναδικές τιμές σε μια σειρά στο Excel:

Η Επιλέξτε Διπλότυπα και μοναδικά κελιά χρησιμότητα του Kutools για Excel μπορεί να σας βοηθήσει να επιλέξετε και να επισημάνετε εύκολα όλες τις μοναδικές τιμές (συμπεριλάβετε τα πρώτα αντίγραφα) ή τις μοναδικές τιμές που εμφανίζονται μόνο μία φορά, καθώς και διπλές τιμές όπως χρειάζεστε όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.
Κατεβάστε το Kutools για Excel τώρα! (Δωρεάν διαδρομή 30 ημερών)


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

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

1. Τύπος άλλος + F11 ταυτόχρονα για να ανοίξετε το Microsoft Visual Basic για εφαρμογές παράθυρο.

2. Στο Microsoft Visual Basic για εφαρμογές παράθυρο, κάντε κλικ στην επιλογή Κύριο θέμα > Μονάδα μέτρησης. Στη συνέχεια, αντιγράψτε και επικολλήστε τον παρακάτω κώδικα VBA στο Μονάδα μέτρησης παράθυρο.

Κωδικός VBA: Εξαγωγή λίστας μοναδικών τιμών από ένα εύρος

Sub CreateUniqueList()
Dim xRng As Range
Dim xLastRow As Long
Dim xLastRow2 As Long
Dim I As Integer
On Error Resume Next
Set xRng = Application.InputBox("Please select range:", "Kutools for Excel", Selection.Address, , , , , 8)
If xRng Is Nothing Then Exit Sub
On Error Resume Next
xRng.Copy Range("D2")
xLastRow = xRng.Rows.Count + 1
ActiveSheet.Range("D2:D" & xLastRow).RemoveDuplicates Columns:=1, Header:=xlNo
xLastRow2 = Cells(Rows.Count, "B").End(xlUp).Row
For I = 1 To xLastRow2
  If ActiveSheet.Range("D2:D" & xLastRow2).Cells(I).Value = "" Then
     ActiveSheet.Range("D2:D" & xLastRow2).Cells(I).Delete
  End If
Next
End Sub

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

3. Επιστρέψτε στο φύλλο εργασίας, κάντε κλικ στο Κύριο θέμα > Σχήματα > ορθογώνιο παραλληλόγραμμο. Δείτε το στιγμιότυπο οθόνης:

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

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

Από τώρα και στο εξής, μπορείτε να επαναλάβετε το παραπάνω βήμα 5 για να ενημερώσετε αυτόματα τη λίστα μοναδικών τιμών.


Σχετικά Άρθρα:

Τα καλύτερα εργαλεία παραγωγικότητας γραφείου

🤖 Kutools AI Aide: Επανάσταση στην ανάλυση δεδομένων με βάση: Ευφυής Εκτέλεση   |  Δημιουργία κώδικα  |  Δημιουργία προσαρμοσμένων τύπων  |  Αναλύστε δεδομένα και δημιουργήστε γραφήματα  |  Επίκληση Λειτουργιών Kutools...
Δημοφιλή χαρακτηριστικά: Εύρεση, επισήμανση ή αναγνώριση διπλότυπων   |  Διαγραφή κενών γραμμών   |  Συνδυάστε στήλες ή κελιά χωρίς απώλεια δεδομένων   |   Γύρος χωρίς φόρμουλα ...
Σούπερ Αναζήτηση: VLookup πολλαπλών κριτηρίων    VLookup πολλαπλών τιμών  |   VLookup σε πολλά φύλλα   |   Ασαφής αναζήτηση ....
Σύνθετη αναπτυσσόμενη λίστα: Γρήγορη δημιουργία αναπτυσσόμενης λίστας   |  Εξαρτημένη αναπτυσσόμενη λίστα   |  Πολλαπλή αναπτυσσόμενη λίστα ....
Διαχειριστής στήλης: Προσθέστε έναν συγκεκριμένο αριθμό στηλών  |  Μετακίνηση στηλών  |  Εναλλαγή κατάστασης ορατότητας κρυφών στηλών  |  Συγκρίνετε εύρη και στήλες ...
Επιλεγμένα Χαρακτηριστικά: Εστίαση πλέγματος   |  Προβολή σχεδίου   |   Μεγάλη Formula Bar    Διαχείριση βιβλίου εργασίας & φύλλου   |  Βιβλιοθήκη πόρων (Αυτόματο κείμενο)   |  Επιλογή ημερομηνίας   |  Συνδυάστε φύλλα εργασίας   |  Κρυπτογράφηση/Αποκρυπτογράφηση κελιών    Αποστολή email ανά λίστα   |  Σούπερ φίλτρο   |   Ειδικό φίλτρο (φίλτρο με έντονη γραφή/πλάγια γραφή/διαγραφή...) ...
Κορυφαία 15 σύνολα εργαλείων12 Κείμενο Εργαλεία (Προσθήκη κειμένου, Κατάργηση χαρακτήρων, ...)   |   50 + Διάγραμμα Τύποι (Gantt διάγραμμα, ...)   |   40+ Πρακτικό ΜΑΘΗΜΑΤΙΚΟΙ τυποι (Υπολογίστε την ηλικία με βάση τα γενέθλια, ...)   |   19 Εισαγωγή Εργαλεία (Εισαγωγή κωδικού QR, Εισαγωγή εικόνας από το μονοπάτι, ...)   |   12 Μετατροπή Εργαλεία (Αριθμοί σε λέξεις, Μετατροπή Συναλλάγματος, ...)   |   7 Συγχώνευση & διαχωρισμός Εργαλεία (Σύνθετες σειρές συνδυασμού, Διαίρεση κελιών, ...)   |   ... κι αλλα

Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου.  Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...

Περιγραφή


Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
Comments (35)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
con este procedimiento de filtro se hace de forma muy rapida

1.EN ESTE EJEMPLO los datos a remover los duplicados estan en la col A de la fila 59 a la 239
2. se define un criterio de filtrado en este caso en la fila d56 el mismo titulo de la lista a remover duplicados y la d57 la dejo en blanco
3. una vez ejecutado se muestran los datos en la fila destino, que en mi caso fue la d59

Range("A59:A239").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range _
("D56:D57"), CopyToRange:=Range("D59"), Unique:=True
This comment was minimized by the moderator on the site
I would like to be able to do this exact same thing, except using two separate column ranges (B2:B9) as well as (D2:D9) is this possible?
This comment was minimized by the moderator on the site
Hi Anthony,
You can place the results in the same column as the original data. Such as column B in this case.
But you need to reference the top cell of the result cell in the formula as follows.
=IFERROR(INDEX($B$2:$B$9, MATCH(0,COUNTIF($B$11:B11, $B$2:$B$9), 0)),"") + Ctrl + Shift + Enter
This comment was minimized by the moderator on the site
Ik heb gemerkt dat de 'formule'-methode erg traag werkt bij grote datasets. Een goed alternatief is het gebruik van een draaitabel. Kies dan alleen de rijlabels, je krijgt dan een lijstje met unieke waarden. Het kan zijn dat je wat extra's krijgt "(leeg)" bijvoorbeeld. Je kunt deze er vervolgens uitfilteren. Helaas kun je maar op 1 criterium filteren. Ook daar zijn wel weer oplossingen voor, maar dat is wat complexer.
This comment was minimized by the moderator on the site
how to make the vba code work for a range where another formula was used?on column B I have a formula, referring to columns D and E.
If I use apply the code to column L (let's say), (obviously, properly modifying the cells in the code) the macro returns the formula applied to columns M and N... It works, then, but not as I want!How to keep the values in column B?thanks
This comment was minimized by the moderator on the site
thank you very much
This comment was minimized by the moderator on the site
I try the VBA Code and the formula. The code VBA is working very well but I can't keep a file with macro. But th problem is that I can't make the formula working. Did anybody have an idea ? Thank you
This comment was minimized by the moderator on the site
Hi Charlotte,
Thank you for your comment. You can keep the file with macro for future use by saving the workbook as an Excel Macro-Enabled Workbook.
For the formula problem, would you please provide a screenshot of your data? Thank you for your comment.
This comment was minimized by the moderator on the site
I'm using that =IFERROR(INDEX($B$2:$B$9, MATCH(0,COUNTIF($D$1:D1, $B$2:$B$9), 0)),"") formula which is great for one column but my data is spread across a range of columns and rows. Can I edit the formula to include the whole area? My data lives from AC4 to AR60...
This comment was minimized by the moderator on the site
Hi, thank you for your help.
Now, how can I have my values also sorted alphabetically? (I do not want to use the filter on my master table)
Should I use a COUNTIFS instead of COUNTIF?
Please HELP
This comment was minimized by the moderator on the site
Hi Alexis,
Sorry can't hep to sort the extracted value alphabetically at the same time with formula. Thank you for your comment.
This comment was minimized by the moderator on the site
I am trying to drag the formula down past my actual data so that I can input different sized data sets and not have to adjust anything. However, the last row after my actual data ends always returns a "0". I am using the unique values for something else in an adjacent column, and the 0 causes the last value to repeated (When I delete the 0 the value is no longer repeated). Any idea how to fix this? Also I am using Office 365 Business
This comment was minimized by the moderator on the site
If I do this for a thousand row excel sheet on the latest version of Excel on a Mac, it never returns. The first row works, but when I duplicate down, excel goes into a compute mode that has not returned values for over two hours now.

Any thoughts on how to do this for large lists (up to 2k rows) that will return 50 or 60 unique values?

I mocked this up in the "Numbers" app, and it's working perfectly there, taking only a couple minutes to calculate. It's just taking so long in Excel that I wonder if it will ever complete. I plan on letting it "run" overnight to see what will happen.
This comment was minimized by the moderator on the site
Check your Calculating options. It needs to be set to automatic. File > Options > Formulas > Calculating options > Workbook Calculation (Automatic selection)
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations