Note: The other languages of the website are Google-translated. Back to English

Πώς να επιστρέψετε πολλές τιμές αναζήτησης σε ένα κελί διαχωρισμένο με κόμμα;

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

doc επιστρέφει πολλαπλές τιμές διαχωρισμένες με κόμμα 1

Επιστρέψτε πολλές τιμές αναζήτησης σε ένα κελί διαχωρισμένο με κόμμα με συνάρτηση καθορισμένη από το χρήστη

Επιστρέψτε πολλές τιμές αναζήτησης σε ένα κελί διαχωρισμένο με κόμμα με το Kutools για Excel


Επιστρέψτε πολλές τιμές αναζήτησης σε ένα κελί διαχωρισμένο με κόμμα με συνάρτηση καθορισμένη από το χρήστη

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

1. Κρατήστε πατημένο το ALT + F11 για να ανοίξετε το Microsoft Visual Basic για εφαρμογές παράθυρο.

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

Κωδικός VBA: Επιστρέψτε πολλές τιμές αναζήτησης σε ένα κελί διαχωρισμένο με κόμμα

Function SingleCellExtract(LookupValue As String, LookupRange As Range, ColumnNumber As Integer, Char As String)
'Updateby Extendoffice
    Dim I As Long
    Dim xRet As String
    For I = 1 To LookupRange.Columns(1).Cells.Count
        If LookupRange.Cells(I, 1) = LookupValue Then
            If xRet = "" Then
                xRet = LookupRange.Cells(I, ColumnNumber) & Char
            Else
                xRet = xRet & "" & LookupRange.Cells(I, ColumnNumber) & Char
            End If
        End If
    Next
    SingleCellExtract = Left(xRet, Len(xRet) - 1)
End Function

3. Στη συνέχεια, αποθηκεύστε αυτόν τον κωδικό και κλείστε το παράθυρο της ενότητας, επιστρέψτε στο φύλλο εργασίας σας και εισαγάγετε αυτόν τον τύπο: = SingleCellExtract (D2, A2: B15,2, ",") σε ένα κενό κελί που θέλετε να επιστρέψετε το αποτέλεσμα. Και μετά πατήστε εισάγετε κλειδί για να λάβετε το αποτέλεσμα, δείτε το στιγμιότυπο οθόνης:

doc επιστρέφει πολλαπλές τιμές διαχωρισμένες με κόμμα 2

Note: Στον παραπάνω τύπο:

D2: υποδεικνύει τις τιμές κελιών που θέλετε να αναζητήσετε.

Α2: Β15: είναι το εύρος δεδομένων που θέλετε να ανακτήσετε τα δεδομένα.

2: ο αριθμός 2 είναι ο αριθμός στήλης που πρέπει να επιστραφεί η αντίστοιχη τιμή.

,: το κόμμα είναι το διαχωριστικό που θέλετε να διαχωρίσετε τις πολλαπλές τιμές.

Μπορείτε να τα αλλάξετε ανάλογα με τις ανάγκες σας.


Επιστρέψτε πολλές τιμές αναζήτησης σε ένα κελί διαχωρισμένο με κόμμα με το Kutools για Excel

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

Kutools για Excel : με περισσότερα από 300 εύχρηστα πρόσθετα Excel, δωρεάν δοκιμή χωρίς περιορισμό σε 30 ημέρες

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

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

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

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

doc επιστρέφει πολλαπλές τιμές διαχωρισμένες με κόμμα 4

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

doc επιστρέφει πολλαπλές τιμές διαχωρισμένες με κόμμα 5

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

doc επιστρέφει πολλαπλές τιμές διαχωρισμένες με κόμμα 6 2 doc επιστρέφει πολλαπλές τιμές διαχωρισμένες με κόμμα 7

Κάντε κλικ για να μάθετε περισσότερες λεπτομέρειες σχετικά με αυτό το βοηθητικό πρόγραμμα Advanced Combine Rows…

Κατεβάστε και δωρεάν δοκιμή Kutools για Excel τώρα!


Επίδειξη: Επιστροφή πολλαπλών τιμών αναζήτησης σε ένα κελί διαχωρισμένο με κόμμα με Kutools για Excel

Kutools για Excel: με περισσότερα από 300 εύχρηστα πρόσθετα του Excel, δωρεάν δοκιμή χωρίς περιορισμό σε 30 ημέρες. Λήψη και δωρεάν δοκιμή τώρα!

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

Το Kutools για Excel λύνει τα περισσότερα από τα προβλήματά σας και αυξάνει την παραγωγικότητά σας κατά 80%

  • Επαναχρησιμοποίηση: Εισαγάγετε γρήγορα σύνθετοι τύποι, γραφήματα και οτιδήποτε έχετε χρησιμοποιήσει στο παρελθόν. Κρυπτογράφηση κυττάρων με κωδικό πρόσβασης Δημιουργία λίστας αλληλογραφίας και στείλτε email ...
  • Super Formula Bar (επεξεργαστείτε εύκολα πολλές γραμμές κειμένου και τύπου). Διάταξη ανάγνωσης (εύκολη ανάγνωση και επεξεργασία μεγάλου αριθμού κελιών). Επικόλληση σε φιλτραρισμένο εύρος...
  • Συγχώνευση κελιών / σειρών / στηλών χωρίς απώλεια δεδομένων · Περιεχόμενο διαχωρισμού κελιών Συνδυάστε διπλές σειρές / στήλες... Αποτροπή διπλών κυττάρων; Συγκρίνετε τα εύρη...
  • Επιλέξτε Διπλότυπο ή Μοναδικό Σειρές; Επιλέξτε Κενές σειρές (όλα τα κελιά είναι κενά). Σούπερ εύρεση και ασαφής εύρεση σε πολλά βιβλία εργασίας. Τυχαία επιλογή ...
  • Ακριβές αντίγραφο Πολλαπλά κελιά χωρίς αλλαγή της αναφοράς τύπου. Αυτόματη δημιουργία αναφορών σε πολλαπλά φύλλα? Εισαγωγή κουκκίδων, Πλαίσια ελέγχου και άλλα ...
  • Εξαγωγή κειμένου, Προσθήκη κειμένου, Κατάργηση κατά θέση, Αφαιρέστε το διάστημα; Δημιουργία και εκτύπωση υποσύνολων σελιδοποίησης. Μετατροπή περιεχομένου και σχολίων μεταξύ κελιών...
  • Σούπερ φίλτρο (αποθηκεύστε και εφαρμόστε σχήματα φίλτρων σε άλλα φύλλα). Προηγμένη ταξινόμηση ανά μήνα / εβδομάδα / ημέρα, συχνότητα και άλλα. Ειδικό φίλτρο με έντονη, πλάγια ...
  • Συνδυάστε βιβλία εργασίας και φύλλα εργασίας; Συγχώνευση πινάκων βάσει βασικών στηλών. Διαχωρίστε τα δεδομένα σε πολλά φύλλα; Μαζική μετατροπή xls, xlsx και PDF...
  • Περισσότερα από 300 ισχυρά χαρακτηριστικά. Υποστηρίζει Office / Excel 2007-2021 και 365. Υποστηρίζει όλες τις γλώσσες. Εύκολη ανάπτυξη στην επιχείρηση ή τον οργανισμό σας. Πλήρεις δυνατότητες δωρεάν δοκιμής 30 ημερών. Εγγύηση επιστροφής χρημάτων 60 ημερών.
kte καρτέλα 201905

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

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
κάτω μέρος γραφείου
Σχόλια (16)
Βαθμολογήθηκε το 5 από το 5 · αξιολογήσεις 2
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Ενώ πρόκειται να επικολλήσω και να αποθηκεύσω τη μονάδα, εμφανίζεται ένα αναδυόμενο μήνυμα ότι σημαντική απώλεια του ελέγχου συμβατότητας λειτουργιών
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Ευχαριστώ για αυτήν την ανάρτηση. Ξέρετε πώς θα πήγαινα να χειριστώ τους δύο ξεχωριστούς ακεραίους που δημιουργεί. Για παράδειγμα, ας πούμε ότι η συνάρτηση '=SingleCellExtract' παράγει τώρα (1 , 2). Υπάρχει τρόπος να έχω δίπλα του ένα κελί που να το κάνει (1+.5 , 2+.5);
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αυτό λειτουργεί αλλά επιβραδύνει το excel μου κυρίως! Υπάρχουν συμβουλές για να βοηθήσετε στην ταχύτητα;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αυτό απλά δεν λειτουργεί. Δεν μπόρεσα να το βάλω να λειτουργήσει στη δική μου εφαρμογή, οπότε αντιγράφω/επικολλούσα το vba και τον τύπο και μου επέστρεφε ένα σφάλμα κάθε φορά
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
ευχαριστώ, πρώτα κατάφερα να το κάνω αυτό να λειτουργήσει χωρίς επιβράδυνση στην απόδοση. Χρησιμοποιώ τιμές και όχι αυτό το κείμενο, οπότε η ερώτησή μου είναι ότι θέλω να επαναφέρω όλα αυτά με λιγότερους από 19 βαθμούς σε μια λίστα. Μπορεί το μεμονωμένο κελί Εξαγωγή να λειτουργήσει για αυτό ή πρέπει να είναι μια συγκεκριμένη τιμή;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Η εντολή VB διακόπτεται όταν το εύρος είναι μεγαλύτερο από 154 σειρές (δηλ. :B154).
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Εμφανίζεται σφάλμα εάν αυξηθεί το μέγεθος του πίνακα
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Όταν ταιριάζουν 2 κριτήρια, τότε επιστρέφετε πολλές τιμές αναζήτησης σε ένα κελί διαχωρισμένο με κόμμα
A2=B2 Κατόπιν Αποτέλεσμα από το εύρος από "SingleCellExtract" - Παρακαλώ.......
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Καλημέρα,

ο κώδικας VBA λειτούργησε τέλεια με το φύλλο εργασίας μου, αρκετά σαφής και απλός, ωστόσο, προσπαθούσα να βρω έναν τρόπο να πω στο excel ότι επιστρέφει μόνο τις μοναδικές τιμές. Θα ήταν δυνατό χρησιμοποιώντας τον ίδιο κωδικό;
Βαθμολογήθηκε το 5 από το 5
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σας,

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

Παράδειγμα:
Lucy, Tom, Nicol, Akash, Apple

Παρακαλώ επαναλάβετε εάν έχετε οποιεσδήποτε προτάσεις.
Βαθμολογήθηκε το 4.5 από το 5
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου Μανικάντα
Για να διαχωρίσετε τις πολλαπλές τιμές με κόμμα και διάστημα, πρέπει απλώς να προσθέσετε ένα κενό πίσω από το κόμμα, αλλάξτε τον τύπο ως εξής: =SingleCellExtract(D2,A2:B15,2,", ").
Παρακαλώ δοκιμάστε, ελπίζω ότι μπορεί να σας βοηθήσει!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου Skyyang,

Ευχαριστώ για την επανάληψη!

Δοκίμασα ήδη με τον ίδιο τρόπο, αλλά στην τιμή του κελιού τελευταίο ένα επιπλέον κόμμα (,) που έρχεται παρακάτω είναι το παράδειγμα.

Lucy, Tom, Nicol, Akash, Apple,

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

Lucy, Tom, Nicol, Akash, Apple

Ευχαριστώ!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου Μανικάντα
Σε αυτήν την περίπτωση, μπορείτε να εφαρμόσετε την παρακάτω συνάρτηση που καθορίζεται από το χρήστη:

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


Αφού επικολλήσετε τον κώδικα, χρησιμοποιήστε αυτόν τον τύπο: =MultipleValues($A$2:$A$15,D2,$B$2:$B$15,", ")

Παρακαλώ δοκιμάστε, ελπίζω ότι αυτό μπορεί να σας βοηθήσει!
Εάν εξακολουθείτε να έχετε οποιοδήποτε άλλο πρόβλημα, παρακαλώ σχολιάστε εδώ.
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-return-multiple-matching-1.png
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου Skyyang,

Αυτό λειτουργεί τώρα, σας ευχαριστώ για τη γρήγορη απάντησή σας.

Είναι πολύ χρήσιμο για μένα για άλλη μια φορά Σας ευχαριστώ για τη βοήθειά σας.

Χαιρετισμούς,
Μανικάντα.
Βαθμολογήθηκε το 5 από το 5
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
No soy programador pero necesito ayuda para que la función de abajo en lugar devolverme esto

S-01-08-0017->Micro Post 1R, Μαύρο, Ανοξείδωτο ατσάλι -End,->4;S-01-08-0057->Micro Post 2R, Black, Stainless Steel -End,->2

me devuelva los valores en líneas diferentes.
S-01-08-0017->Micro Post 1R, Μαύρο, από ανοξείδωτο ατσάλι -End,->4
S-01-08-0057->Micro Post 2R, Μαύρο, από ανοξείδωτο ατσάλι -End,->2

La función es:
Συνάρτηση SingleCellExtract (LookupValue ως συμβολοσειρά, LookupRange ως εύρος, ColumnNumber ως ακέραιος αριθμός, Char ως συμβολοσειρά)
'Ενημέρωση Extendoffice
Dim I As Long
Dim xRet As String
Για I = 1 To LookupRange.Columns(1).Cells.Count
Αν LookupRange.Cells(I, 1) = LookupValue Τότε
Αν xRet = "" Τότε
xRet = LookupRange.Cells(I, ColumnNumber) & Char
Αλλού
xRet = xRet & "" & LookupRange.Cells(I, ColumnNumber) & Char
End If
End If
Επόμενο
SingleCellExtract = Left(xRet, Len(xRet) - 1)
Τέλος Λειτουργία
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου Yery,
Μήπως εννοούσατε να χωρίσετε ένα κελί σε πολλές σειρές με βάση τον χαρακτήρα ερωτηματικό;
Εάν ναι, ο ακόλουθος κώδικας VBA μπορεί να σας βοηθήσει:
Sub SplitAll()
    Dim xRg As Range
    Dim xRg1 As Range
    Dim xCell As Range
    Dim I As Long
    Dim xAddress As String
    Dim xUpdate As Boolean
    Dim xRet As Variant
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select a range", "Kutools for Excel", xAddress, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
        If xRg.Columns.Count > 1 Then
            MsgBox "You can't select multiple columns", , "Kutools for Excel"
            Exit Sub
            End If
            Set xRg1 = Application.InputBox("Split to (single cell):", "Kutools for Excel", , , , , , 8)
            Set xRg1 = xRg1.Range("A1")
            If xRg1 Is Nothing Then Exit Sub
                xUpdate = Application.ScreenUpdating
                Application.ScreenUpdating = False
                For Each xCell In xRg
                    xRet = Split(xCell.Value, ";")
                    xRg1.Worksheet.Range(xRg1.Offset(I, 0), xRg1.Offset(I + UBound(xRet, 1), 0)) = Application.WorksheetFunction.Transpose(xRet)
                    I = I + UBound(xRet, 1) + 1
                Next
                Application.ScreenUpdating = xUpdate
            End Sub

Παρακαλώ δοκιμάστε, ελπίζω να σας βοηθήσει!
Δεν υπάρχουν σχόλια δημοσιεύτηκε ακόμα
Αφήστε τα σχόλιά σας
Δημοσίευση ως επισκέπτης
×
Αξιολογήστε αυτήν την ανάρτηση:
0   Χαρακτήρες
Προτεινόμενες τοποθεσίες

Ακολουθησε μας

Πνευματικά δικαιώματα © 2009 - www.extendoffice.com. | Ολα τα δικαιώματα διατηρούνται. Τροφοδοτείται από ExtendOffice. | Sitemap
Το Microsoft και το λογότυπο του Office είναι εμπορικά σήματα ή σήματα κατατεθέντα της Microsoft Corporation στις Ηνωμένες Πολιτείες ή / και σε άλλες χώρες.
Προστατεύεται από το Sectigo SSL