Πίνακας περιεχομένων
Ενώ εργάζεστε με μεγάλες ποσότητες δεδομένων στο Excel, μερικές φορές μπορεί να βρεθείτε σε μια κατάσταση όπου πρέπει να αναζητήσετε τιμές που εμφανίζονται πολλές φορές στο σύνολο δεδομένων σας. Έτσι, πρέπει να δείτε αυτά τα δεδομένα σε ένα κελί. Σε αυτό το σεμινάριο, θα σας δείξουμε πώς να χρησιμοποιήσετε το VLOOKUP για πολλαπλές τιμές σε ένα κελί στο Excel.
Σε γενικές γραμμές, δεν χρησιμοποιούμε άμεσα το VLOOKUP Θα βρούμε πολλαπλές τιμές σε ένα κελί που θα είναι παρόμοια με τη συνάρτηση VLOOKUP. Ελπίζουμε να βρείτε αυτό το σεμινάριο χρήσιμο.
Κατεβάστε το βιβλίο ασκήσεων
Vlookup Πολλαπλές τιμές σε ένα Cell.xlsm2 Εύκολες μέθοδοι για Vlookup για πολλαπλές τιμές σε ένα κελί
Τώρα, θα σας δείξουμε 2 τρόπους για να αναζητήσετε πολλαπλές τιμές σε ένα κελί στο Excel. Ο πρώτος είναι η χρήση της εντολής Τύποι και η δεύτερη χρησιμοποιεί το VBA κωδικούς. Σε αυτό το άρθρο θα εξετάσουμε τόσο τις επαναλαμβανόμενες όσο και τις μη επαναλαμβανόμενες τιμές. Έτσι, μπορείτε να επιλέξετε την καταλληλότερη μέθοδο ανάλογα με το πρόβλημά σας.
Για να καταδείξουμε αυτό το πρόβλημα, θα χρησιμοποιήσουμε το ακόλουθο σύνολο δεδομένων:
Εδώ, έχουμε κάποιους πωλητές Ονόματα και την πώλησή τους Προϊόντα Τώρα, ο στόχος μας είναι να βρούμε τα προϊόντα πώλησης κάθε πωλητή.
1. Χρήση τύπων για την προβολή πολλαπλών τιμών σε ένα κελί στο Excel
Το TEXTJOIN θα είναι η συνάρτηση που θα χρησιμοποιήσουμε για την υλοποίηση αυτής της μεθόδου. TEXTJOIN σας επιτρέπει να ενώσετε 2 ή περισσότερες συμβολοσειρές μαζί με κάθε τιμή να χωρίζεται από ένα διαχωριστικό Κυρίως, συνδυάζουμε διάφορες συναρτήσεις με τη συνάρτηση TEXTJOIN για να εφαρμόσουμε τον τύπο μας.
Το TEXTJOIN είναι διαθέσιμη μόνο για το Excel 2019 και το Office 365.Η βασική σύνταξη της συνάρτησης TEXTJOIN:
=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
Εδώ, ο διαχωριστής μας θα είναι ένα κόμμα ( ","
) για να διαχωρίσετε τιμές σε ένα κελί.
1.1 Οι λειτουργίες TEXTJOIN και IF
Τώρα, αυτός ο τύπος είναι αρκετά εύκολος στη χρήση. Αυτός ο τύπος θα αναζητήσει τις τιμές και θα τις εισάγει επίσης σε ένα κελί με ένα διαχωριστικό, το κόμμα. Αλλά, θυμηθείτε ότι αυτός ο τύπος θα επιστρέψει την τιμή με τα αντίγραφα.
Το βασικό συντακτικό:
=TEXTJOIN(", ",TRUE,IF(lookup_value=lookup_range,,finding_range,""))
📌 Βήματα
1. Πρώτον, πληκτρολογήστε τον ακόλουθο τύπο στο Κελί F5 :
=TEXTJOIN(", ",TRUE,IF(E5=B5:B13,C5:C13,""))
2. Στη συνέχεια, πατήστε Μπείτε μέσα.
3. Τέλος, σύρετε το Χειρολαβή πλήρωσης εικονίδιο πάνω από το εύρος των κελιών F6:F7 .
Στο τέλος, καταφέρνουμε να χρησιμοποιήσουμε VLOOKUP πολλαπλές τιμές σε ένα κελί.
🔎 Ανάλυση της φόρμουλας
Χρησιμοποιούμε αυτή την ανάλυση μόνο για το άτομο "John".
➤ IF(E5=B5:B13,C5:C13,"")
Αυτή η συνάρτηση επιστρέφει τον ακόλουθο πίνακα:
{"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}
➤ TEXTJOIN(", ",TRUE,IF(E5=B5:B13,C5:C13,""))
Τέλος, η TEXTJOIN θα επιστρέψει το ακόλουθο αποτέλεσμα:
{Κινητό, τηλεόραση, ψυγείο, κινητό}
Διαβάστε περισσότερα: Excel VLOOKUP για να επιστρέψετε πολλαπλές τιμές σε ένα κελί που χωρίζονται με κόμμα
1.2 Οι λειτουργίες TEXTJOIN και MATCH (χωρίς διπλότυπα)
Τώρα, αν θέλετε πολλαπλές τιμές σε ένα κελί, μπορείτε να χρησιμοποιήσετε αυτόν τον τύπο. Αυτός ο τύπος είναι ένας συνδυασμός των τύπων TEXTJOIN και ΜΑΤΣ Αυτός ο τύπος είναι λίγο περίπλοκος στη χρήση, αλλά σίγουρα θα δώσει τις επιθυμητές τιμές.
📌 ΒΗΜΑΤΑ
1. Πρώτον, πληκτρολογήστε τον ακόλουθο τύπο στο Κελί F5 :
=TEXTJOIN(",", TRUE, IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, "")))
2. Στη συνέχεια, πατήστε Μπείτε μέσα.
3. Τέλος, σύρετε το Χειρολαβή πλήρωσης εικονίδιο πάνω από το εύρος των κελιών F6:F7 .
Στο τέλος, καταφέρνουμε να χρησιμοποιήσουμε VLOOKUP πολλαπλές τιμές σε ένα κελί χωρίς διπλές τιμές.
🔎 Ανάλυση της φόρμουλας
Χρησιμοποιούμε αυτή την ανάλυση μόνο για το άτομο "John".
➤ ROW(C5:C13)
Επιστρέφει έναν πίνακα από {5;6;7;8;9;10;11;12;13}
➤ MATCH(ROW(C5:C13), ROW(C5:C13))
Επιστρέφει: {1;2;3;4;5;6;7;8;9}
➤ IF(E5=B5:B13, C5:C13, "")
Επιστρέφει: {"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}
➤ MATCH(C5:C13, IF(E5=B5:B13, C5:C13, "")
Αυτή η συνάρτηση επιστρέφει: {8;8;7;9;7;7;7;8;7}
➤ IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")
Επιστρέφει: {1;1;"";4;"";6;"";1;""}
➤ IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13))), C5:C13, "")
Επιστρέφει: {"Mobile";"";"";"TV";"";"Fridge";"";"";""}
➤ TEXTJOIN(",", TRUE, IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, "")))
Το τελικό αποτέλεσμα θα είναι Κινητό, τηλεόραση, ψυγείο .
Διαβάστε περισσότερα: Πώς να εκτελέσετε το VLOOKUP με πολλαπλές γραμμές στο Excel (5 μέθοδοι)
1.3 Οι λειτουργίες TEXTJOIN και UNIQUE (χωρίς διπλότυπα)
Τώρα, η ΜΟΝΑΔΙΚΟ είναι διαθέσιμη μόνο στο Excel 365. Έτσι, αν χρησιμοποιείτε το Excel 365, τότε μπορείτε σίγουρα να χρησιμοποιήσετε αυτόν τον τύπο. Ο προηγούμενος τύπος είναι λίγο δύσκολος, αλλά αυτός ο τύπος θα διευκολύνει τον τρόπο αναζήτησης τιμών σε ένα κελί. Η συνάρτηση UNIQUE επιστρέφει μια λίστα μοναδικών τιμών σε μια λίστα ή μια περιοχή. Τώρα, η διαφορά μεταξύ του πρώτου και του τρίτου τύπου είναι η χρήση του ΜΟΝΑΔΙΚΟ συνάρτηση πριν από την ΕΆΝ λειτουργία.
Η βασική σύνταξη της συνάρτησης UNIQUE:
=UNIQUE (array, [by_col], [exactly_once])
array - Εύρος ή πίνακας από τον οποίο θα εξαχθούν μοναδικές τιμές.
by_col - [προαιρετικό] Τρόπος σύγκρισης και εξαγωγής. Ανά γραμμή = FALSE (προεπιλογή)- ανά στήλη = TRUE.
exactly_once - [προαιρετικό] TRUE = τιμές που εμφανίζονται μία φορά, FALSE= όλες οι μοναδικές τιμές (προεπιλογή)
📌 ΒΗΜΑΤΑ
1. Πρώτον, πληκτρολογήστε τον ακόλουθο τύπο στο Κελί F5 :
=TEXTJOIN(", ",TRUE,UNIQUE(IF(E5=B5:B13,C5:C13,"")))
2. Στη συνέχεια, πατήστε Μπείτε μέσα.
3. Τέλος, σύρετε το Χειρολαβή πλήρωσης εικονίδιο πάνω από το εύρος των κελιών F6:F7.
Όπως μπορείτε να δείτε, έχουμε χρησιμοποιήσει με επιτυχία VLOOKUP πολλαπλές τιμές σε ένα κελί.
🔎 Ανάλυση της φόρμουλας
Χρησιμοποιούμε αυτή την ανάλυση μόνο για το άτομο "John".
➤ IF(E5=B5:B13,C5:C13,"")
Επιστρέφει {"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}
➤ UNIQUE(IF(E5=B5:B13,C5:C13,""))
Επιστρέφει {"Mobile";"";"TV";"Fridge"}
➤ TEXTJOIN(", ",TRUE,UNIQUE(IF(E5=B5:B13,C5:C13,"")))
Τελικό αποτέλεσμα Κινητό,τηλεόραση,ψυγείο
Διαβάστε περισσότερα: Πώς να Vlookup και να επιστρέψετε πολλαπλές τιμές σε Drop Down List
2. Χρήση κωδικών VBA για την αναζήτηση πολλαπλών τιμών σε ένα κελί
Το TEXTJOIN είναι διαθέσιμη μόνο για MS Excel 2019 και MS Excel 365 Έτσι, αν γνωρίζετε καλά τους κωδικούς VBA του Excel, αυτοί οι δύο κωδικοί θα είναι πολύ πρακτικοί για εσάς. Ο πρώτος θα είναι με αντίγραφα και ο δεύτερος χωρίς αντίγραφα. Έτσι, επιλέξτε τη μέθοδο ανάλογα με το πρόβλημά σας.
2.1 Κωδικοί VBA Πολλαπλές τιμές σε ένα κελί
📌 ΒΗΜΑΤΑ
1. Πρώτον. Πιέστε Alt+F11 για να ανοίξετε το Visual Basic Editor.
2. Στη συνέχεια, κάντε κλικ στο Εισαγωγή> Ενότητα .
3. Στη συνέχεια, πληκτρολογήστε τον ακόλουθο κώδικα:
Function MultipleValues(work_range As Range, criteria As Variant, merge_range As Range, Optional Separator As String = ",") As Variant Dim outcome As String On Error Resume Next If work_range.Count merge_range.Count Then MultipleValues = CVErr(xlErrRef) Exit Function End If For i = 1 To work_range.Count If work_range.Cells(i).Value = criteria Then outcome = outcome & Separator &,merge_range.Cells(i).Value End If Next i If outcome "" Then outcome = VBA.Mid(outcome, VBA.Len(Separator) + 1) End If MultipleValues = outcome Exit Function End Function
4. Τώρα, μεταβείτε στο φύλλο εργασίας σας. Στη συνέχεια, πληκτρολογήστε τον ακόλουθο τύπο στο Κελί F5 :
=MultipleValues(B5:B13,E5,C5:C13,",")
5. Στη συνέχεια, πατήστε ENTER.
6. Τέλος, σύρετε το εικονίδιο Fill Handle πάνω από την περιοχή κελιών F6:F7.
Στο τέλος, χρησιμοποιήσαμε VLOOKUP πολλαπλές τιμές σε ένα κελί .
Διαβάστε περισσότερα: VLOOKUP για την επιστροφή πολλαπλών τιμών οριζόντια στο Excel
2.2 Κώδικες VBA για την ΑΝΑΖΗΤΗΣΗ πολλαπλών τιμών σε ένα κελί (χωρίς αντίγραφα)
📌 ΒΗΜΑΤΑ
1. Πρώτον. Πιέστε Alt+F11 για να ανοίξετε το Visual Basic Editor.
2. Στη συνέχεια, κάντε κλικ στο Εισαγωγή> Ενότητα .
3. Στη συνέχεια, πληκτρολογήστε τον ακόλουθο κώδικα:
Function ValuesNoDup(target As String, search_range As Range, ColumnNumber As Integer) Dim i As Long Dim outcome As String For i = 1 To search_range.Columns(1).Cells.Count If search_range.Cells(i, 1) = target Then For J = 1 To i - 1 If search_range.Cells(J, 1) = target Then If search_range.Cells(J, ColumnNumber) = search_range.Cells(i, ColumnNumber) Then GoTo Skip End If End If Next J outcome =outcome &? " " & search_range.Cells(i, ColumnNumber) & "," Skip: End If Next i ValuesNoDup = Left(outcome, Len(outcome) - 1) End Function
4. Αφού εισαγάγετε τον κώδικα, στη συνέχεια κάντε κλικ στο κουμπί Εργαλεία> Αναφορές στο ανοιχτό παράθυρο της Microsoft Visual Basic for Applications και, στη συνέχεια, στο παράθυρο που ανοίγει Αναφορές - VBAProject, επιλέξτε το πλαίσιο διαλόγου Χρόνος εκτέλεσης σεναρίων της Microsoft στην επιλογή Διαθέσιμες αναφορές Κάντε κλικ στο OK .
5. Τώρα, μεταβείτε στο φύλλο εργασίας σας. Στη συνέχεια, πληκτρολογήστε τον ακόλουθο τύπο στο Κελί F5 :
=ValuesNoDup(E5,B5:B13,2)
Εδώ, 2 είναι ο αριθμός στήλης του συνόλου δεδομένων.
6. Στη συνέχεια, πατήστε Εισάγετε το .
7. Τέλος, σύρετε το Χειρολαβή πλήρωσης εικονίδιο πάνω από το εύρος των κελιών F6:F7.
Όπως μπορείτε να δείτε, έχουμε χρησιμοποιήσει VLOOKUP πολλαπλές τιμές σε ένα κελί χωρίς αντίγραφα.
Διαβάστε περισσότερα: Πώς να VLOOKUP και να επιστρέψετε πολλαπλές τιμές στο Excel (8 μέθοδοι)
Συμπέρασμα
Εν κατακλείδι, ελπίζω ότι αυτό το σεμινάριο θα σας βοηθήσει να vlookup πολλαπλές τιμές σε ένα κελί στο Excel. Κατεβάστε το βιβλίο ασκήσεων και δοκιμάστε τα μόνοι σας. Σίγουρα, θα αναπτύξετε τις γνώσεις σας στο Excel. Επίσης, μη διστάσετε να δώσετε σχόλια στην ενότητα σχολίων. Τα πολύτιμα σχόλιά σας μας δίνουν κίνητρο να δημιουργήσουμε πολλά άρθρα όπως αυτά. Μην ξεχάσετε να ελέγξετε την ιστοσελίδα μας ExcelWIKI για προβλήματα και λύσεις που σχετίζονται με το Excel.