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

Πώς να εξαγάγετε μοναδικές τιμές από πολλές στήλες στο Excel;

Ας υποθέσουμε ότι έχετε πολλές στήλες με πολλές τιμές, ορισμένες τιμές επαναλαμβάνονται στην ίδια στήλη ή σε διαφορετική στήλη. Και τώρα θέλετε να βρείτε τις τιμές που υπάρχουν σε κάθε στήλη μόνο μία φορά. Υπάρχουν γρήγορα κόλπα για να εξαγάγετε μοναδικές τιμές από πολλές στήλες στο Excel;


Εξαγάγετε μοναδικές τιμές από πολλές στήλες με τύπο πίνακα

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

1. Υποθέτοντας τις τιμές σας στο εύρος Α2: Γ9, εισαγάγετε τον ακόλουθο τύπο στο κελί E2:

=INDIRECT(TEXT(MIN(IF(($A$2:$C$9<>"")*(COUNTIF($E$1:E1,$A$2:$C$9)=0),ROW($2:$9)*100+COLUMN($A:$C),7^8)),"R0C00"),)&""

Note: Στον παραπάνω τύπο, Α2: Γ9 υποδεικνύει το εύρος των κελιών που θέλετε να εξαγάγετε τις μοναδικές τιμές, E1: E1 είναι το πρώτο κελί της στήλης που θέλετε να τοποθετήσετε το αποτέλεσμα, $ 2: $ 9 στέκεται μπροστά από τις σειρές περιέχει τα κελιά που θέλετε να χρησιμοποιήσετε και $ A: $ C υποδεικνύει ότι οι στήλες περιέχουν τα κελιά που θέλετε να χρησιμοποιήσετε. Αλλάξτε τα στο δικό σας.

2. Στη συνέχεια πατήστε Shift + Ctrl + Enter πλήκτρα μαζί και, στη συνέχεια, σύρετε τη λαβή πλήρωσης για να εξαγάγετε τις μοναδικές τιμές έως ότου εμφανιστούν κενά κελιά. Δείτε το στιγμιότυπο οθόνης:


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

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

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

2. Κάντε κλικ σε ένα κελί στα δεδομένα σας και πατήστε Alt + D και μετά πατήστε P κλειδί αμέσως για να ανοίξετε το PivotTable και PivotChart Wizard, επιλέξτε Πολλαπλά εύρη ενοποίησης στο βήμα 1 του οδηγού, δείτε το στιγμιότυπο οθόνης:

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

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

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

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

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


Εξαγάγετε μοναδικές τιμές από πολλές στήλες με κώδικα VBA

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

1. Κρατήστε πατημένο το ALT + F11 και ανοίγει το Παράθυρο Microsoft Visual Basic for Applications.

2. Κλίκ Κύριο θέμα > Μονάδα μέτρησηςκαι επικολλήστε τον ακόλουθο κώδικα στο παράθυρο της ενότητας.

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

Sub Uniquedata()
'Updateby Extendoffice
Dim rng As Range
Dim InputRng As Range, OutRng As Range
Set dt = CreateObject("Scripting.Dictionary")
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
For Each rng In InputRng
    If rng.Value <> "" Then
        dt(rng.Value) = ""
    End If
Next
OutRng.Range("A1").Resize(dt.Count) = Application.WorksheetFunction.Transpose(dt.Keys)
End Sub

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

4. Και στη συνέχεια κάντε κλικ στο κουμπί OK, θα εμφανιστεί ένα άλλο πλαίσιο προτροπής για να σας επιτρέψει να επιλέξετε ένα μέρος για να βάλετε το αποτέλεσμα, δείτε το στιγμιότυπο οθόνης:

5. Πατήστε OK για να κλείσετε αυτό το παράθυρο διαλόγου και όλες οι μοναδικές τιμές έχουν εξαχθεί ταυτόχρονα.


Εξαγάγετε μοναδικές τιμές από μία μόνο στήλη με ένα καταπληκτικό χαρακτηριστικό

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

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

Μετά την εγκατάσταση Kutools για Excel, κάντε το ως εξής:

1. Κάντε κλικ σε ένα κελί όπου θέλετε να εξάγετε το αποτέλεσμα. (Note: Μην κάνετε κλικ σε ένα κελί στην πρώτη σειρά.)

2. Στη συνέχεια κάντε κλικ στο κουμπί Kutools > Βοηθός τύπου > Βοηθός τύπου, δείτε το στιγμιότυπο οθόνης:

3. Στην Βοηθός τύπων πλαίσιο διαλόγου, κάντε τις ακόλουθες λειτουργίες:

  • Αγορά Κείμενο Επιλογή από το Τύπος Χαρακτηριστικά αναπτυσσόμενη λίστα
  • Στη συνέχεια επιλέξτε Εξαγάγετε κελιά με μοναδικές τιμές (συμπεριλάβετε το πρώτο αντίγραφο) από το Επιλέξτε ένα fromula πλαίσιο λίστας;
  • Στα δεξιά Εισαγωγή επιχειρημάτων ενότητα, επιλέξτε μια λίστα κελιών που θέλετε να εξαγάγετε μοναδικές τιμές.

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

Δωρεάν λήψη του Kutools για Excel τώρα!


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

  • Μετρήστε τον αριθμό των μοναδικών και διακριτών τιμών από μια λίστα
  • Ας υποθέσουμε ότι έχετε μια μεγάλη λίστα τιμών με μερικά διπλά στοιχεία, τώρα, θέλετε να μετρήσετε τον αριθμό των μοναδικών τιμών (οι τιμές που εμφανίζονται στη λίστα μόνο μία φορά) ή διακριτές τιμές (όλες οι διαφορετικές τιμές στη λίστα, αυτό σημαίνει μοναδικό τιμές + 1η διπλή τιμή) σε μια στήλη όπως φαίνεται το αριστερό στιγμιότυπο οθόνης. Αυτό το άρθρο, θα μιλήσω για τον τρόπο αντιμετώπισης αυτής της εργασίας στο Excel.
  • Εξαγωγή μοναδικών τιμών βάσει κριτηρίων στο Excel
  • Ας υποθέσουμε, έχετε το ακόλουθο εύρος δεδομένων που θέλετε να παραθέσετε μόνο τα μοναδικά ονόματα της στήλης Β με βάση ένα συγκεκριμένο κριτήριο της στήλης Α για να λάβετε το αποτέλεσμα όπως φαίνεται παρακάτω το στιγμιότυπο οθόνης. Πώς θα μπορούσατε να αντιμετωπίσετε αυτήν την εργασία στο Excel γρήγορα και εύκολα;
  • Να επιτρέπονται μόνο μοναδικές τιμές στο Excel
  • Εάν θέλετε να διατηρήσετε μόνο μοναδικές τιμές που εισάγονται σε μια στήλη φύλλου εργασίας και να αποτρέψετε τα διπλότυπα, αυτό το άρθρο θα παρουσιάσει μερικά γρήγορα κόλπα για να αντιμετωπίσετε αυτήν την εργασία.
  • Αθροίστε μοναδικές τιμές βάσει κριτηρίων στο Excel
  • Για παράδειγμα, έχω ένα εύρος δεδομένων που περιέχει στήλες Όνομα και Παραγγελία, τώρα, για να συνοψίσω μόνο μοναδικές τιμές στη στήλη Παραγγελία με βάση τη στήλη Όνομα όπως φαίνεται το ακόλουθο στιγμιότυπο οθόνης. Πώς να επιλύσετε αυτήν την εργασία γρήγορα και εύκολα στο Excel;

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

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

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

kte καρτέλα 201905


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

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
Comments (31)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Thank you for this solution, however what if the columns are in separate excel sheet? or is in separate columns instead of a table?
This comment was minimized by the moderator on the site
Hello, Jon,
The methods in this article ar only works well for a range of data, if your data in separate columns, you should copy and paste them into one range first, and then apply the formula or VBA code.
Thank you!
This comment was minimized by the moderator on the site
Thank you for this great article.

For people who are using the array formular in non-English Excel there must be taken special care of the text format string: in your example: "R0C00".
For German this would translate to "Z0S00". However, "S" is a special character refering to seconds for time formating. This character needs to be escaped and therefore the correct format string for German Excel is "Z0\S00".

I hope this helps someone in the future :-)
This comment was minimized by the moderator on the site
Hello, Michael H.
Thanks for your kindly explanation.
Hope this can help others in the future.😄
This comment was minimized by the moderator on the site
Thank you for this great article.

For people who are using the array formular in non-English Excel there must be taken special care of the text format string: in your example: "R0C00".
For German this would translate to "Z0S00". However, "S" is a special character refering to seconds for time formating. This character needs to be escaped and therefore the correct format string for German Excel is "Z0\S00".

I hope this helps someone in the future :-)
This comment was minimized by the moderator on the site
Hello Sir! The VBA worked wonders, thank you very much for that! I was wondering, If I change the original data, is it possible to refresh the column with the unique values automatically?
Rated 5 out of 5
This comment was minimized by the moderator on the site
Hello Ioannis,

Glad to help. After you change the original data, the VBA can not refresh the result automatically. And the easiest way I can think of is to press Ctrl + Alt + F9 to refresh all results in worksheets in all open workbooks. Have a nice day.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
The array formula at the top is working great when used with data in the same sheet, however when I try to use it to reference the same exact data from another sheet the formula returns nothing. I'm unable to figure out why. Is there a limitation with array functions that prevents you from referencing ranges in a different sheet?

Thanks for any insight you can provide.
This comment was minimized by the moderator on the site
Hello Erin,

Glad to help. The INDIRECT function in this formula is more complicated to use when referencing data in other worksheets. It is not recommended to use this feature when referencing ranges in different worksheets.

For example: Now the data is in Sheet1, I want to reference the content of cell C2 of Sheet1 in Sheet2. First, in any two cells in Sheet2, such as D1 and D2, enter Sheet1 and C2, respectively. At this point, enter the formula in the empty cell of Sheet2:
=INDIRECT("'"&D1&"'!"&D2), then the content of cell C2 in Sheet1 can be returned.

As you can see, it make things way more complex. Hope my explanation can help. Have a nice day.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
Czy to żart?
This comment was minimized by the moderator on the site
can we create uniqdata function instead of macro?
This comment was minimized by the moderator on the site
Hi, İlhan,If you like a User Defined Function to create a formula for solving this problem, the below code may help you:After inserting the code, select a list of cells where you want to put the results. Then type this formula:=Uniques(A1:C4)  in the formula bar.Press Ctrl+Shift+Enter keys together. 


Function Uniques(ByVal inputRange As Range)
Dim inputArray As Variant
Dim myColl As New Collection
Dim xVal As Variant
Dim outArray() As Variant
On Error Resume Next
With inputRange
inputArray = Application.Intersect(.Cells, .Parent.UsedRange).Value
End With
On Error GoTo 0
On Error Resume Next
For Each xVal In inputArray
myColl.*** Item:=xVal, Key:=(CStr(xVal) & TypeName(xVal))
Next xVal
myColl.Remove "String"
On Error GoTo 0
ReDim outArray(1 To Application.Max(myColl.Count, Application.Caller.Cells.Count))
For xVal = 1 To UBound(outArray)
outArray(xVal) = vbNullString
Next xVal
For xVal = 1 To Application.Min(myColl.Count, Application.Caller.Cells.Count)
outArray(xVal) = myColl(xVal)
Next xVal
If Application.Caller.Columns.Count = 1 Then
Uniques = Application.Transpose(outArray)
Else
Uniques = outArray
End If
End Function
This comment was minimized by the moderator on the site
Thanks for the code. I'm using the VBA code of this page. Is there a way to add a sorting code after the unique values are extracted so it sorts it automatically?
This comment was minimized by the moderator on the site
Regarding the formula version, could you explain in more detail what this portion is doing? *100+COLUMN($A:$C),7^8)),"R0C00") Specifically, what are the *100, 7^8, and "R0C000" doing? I'm understanding everything else, but I can't figure out what these are for.
This comment was minimized by the moderator on the site
Little late for my response here but...
ROW($2:$9)*100 - this is multiplying the row number *100, so if it's in row 5, now the number is 500
COLUMN($A:$C) - this gets added to the row*100 number, so if it's row 5 col 2, then the number is 502.
7^8)), - this (I think) is to have a max value for the min statement from earlier.
"R0C00") - this formats the text based on the number. In the example, we had 502 so this gives R5C02 (row 5, col 02).

If you have a lot of columns but not many rows, then you could change it to ROW($2:$9)*1000+COLUMN($A:$C),7^8)),"R0C000")
This comment was minimized by the moderator on the site
i've adjusted to my sheet but am only returning the first value in the defined array... what am i missing?
This comment was minimized by the moderator on the site
Hello, Cody,
The above formula works well in my worksheet, could you give a screenshot of your data problem here?
Thank you!
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