Σε αυτό το άρθρο, θα προσπαθήσουμε να βρούμε τη θέση του πρώτου μερικού αγώνα σε μια περιοχή.
Όπως γνωρίζουμε ότι η συνάρτηση MATCH επιστρέφει το ευρετήριο ή τη θέση της πρώτης αντιστοίχισης σε ένα εύρος. Ως εκ τούτου, είναι προφανές να χρησιμοποιήσετε αυτήν τη λειτουργία για να λάβετε τη θέση του πρώτου αγώνα σε ένα εύρος. Δεδομένου ότι υποστηρίζει τους χειριστές μπαλαντέρ, μπορούμε επίσης να χρησιμοποιήσουμε το MATCH για να κάνουμε μερικούς αγώνες.
Μόλις πάρουμε τη θέση της πρώτης θέσης αγώνα, μπορούμε να κάνουμε διάφορα πράγματα. Όπως η ανάκτηση αυτής της τιμής ή παρακείμενης ή μη παρακείμενης τιμής χρησιμοποιώντας τη συνάρτηση INDEX, ή η δημιουργία μιας δυναμικής συνάρτησης. Εξαρτάται από τις ανάγκες και τη δημιουργικότητά σας.
Γενικός τύπος για το πρώτο βρεθέν μερικό MATCH
Για συμβολοσειρά σκληρού κώδικα:
= MATCH ("*str*",εύρος,0)
Για αναφορά κελιού:
= MATCH ("*" & cell & "*", εύρος, 0)
Στρ: είναι το κείμενο ή η συμβολοσειρά που θέλετε να ταιριάξετε μερικώς στο εύρος. Μπορεί να είναι οποιοδήποτε πράγμα, ένα κελί ή μια κρυπτογραφημένη συμβολοσειρά.
Εύρος: είναι το εύρος στο οποίο θα αναζητήσετε str.
0: Είναι η παράμετρος για την ακριβή αντιστοίχιση. Μπορείτε επίσης να χρησιμοποιήσετε FALSE.
Σημειώστε ότι συνηθίζαμε * (astrisks) μπροστά και στο τέλος του str. Str. Αυτός είναι ο τελεστής μπαλαντέρ για αντιστοίχιση οποιασδήποτε τιμής που έχει οποιαδήποτε χορδή πριν και μετά από αυτήν…
Ας δούμε ένα παράδειγμα.
Εδώ έχω έναν δίσκο Win, Loss και Tie. Θέλουμε να πάρουμε την πρώτη θέση Win, Loss και Tie.
Έτσι, αν κάνω σκληρό κώδικα, τότε ο τύπος για την εύρεση της πρώτης θέσης μερικής αντιστοίχισης σε κάθε κελί θα είναι:
= ΑΓΩΝΑΣ ("*κέρδισε*", A2: A10,0)
= MATCH ("*απώλεια*", A2: A10,0)
= MATCH ("*ισοπαλία*", A2: A10,0)
= MATCH ("*" & C2 & "*", $ A $ 2: $ A $ 10,0)
Πως δουλεύει
Απλώς χρησιμοποιεί τη λειτουργικότητα του excel για να κάνει μερικούς αγώνες. MATCH αναζητά οποιαδήποτε συμβολοσειρά που περιέχει την παρεχόμενη συμβολοσειρά μεταξύ * (αστερίσκους) και επιστρέφει την πρώτη θέση που βρέθηκε.
Βρείτε τη θέση του πρώτου μερικού αγώνα σε εύρος χρησιμοποιώντας τη συνάρτηση VBA FirstPartMatch
Εάν αντιγράψετε τον παρακάτω κώδικα vba στη λειτουργική μονάδα vba στο excel, μπορείτε να χρησιμοποιήσετε αυτήν τη λειτουργία για να λάβετε την πρώτη θέση μερικής αντιστοίχισης. Για το παραπάνω παράδειγμα, απλά γράψτε αυτόν τον τύπο:
= FirstPartMatch (C2, $ A $ 2: $ A $ 10)
Θα πάρετε τη θέση του πρώτου αγώνα. Σαν αυτό.
Πως δουλεύει
Το πρώτο όρισμα είναι η συμβολοσειρά που θέλετε να αναζητήσετε για μερική αντιστοίχιση.
Το δεύτερο όρισμα είναι το εύρος στο οποίο θέλετε να λάβετε τη θέση της συμβολοσειράς σας.
= FirstPartMatch (str, range)
Για να χρησιμοποιήσετε αυτόν τον τύπο για μερική αντιστοίχιση, αντιγράψτε τον παρακάτω κώδικα στη μονάδα VBA.
Λειτουργία FirstPartMatch (str As String, rng As Range) Dim tmp, position As Long position = 0 tmp = 0 Για κάθε cll Σε rng tmp = tmp + 1 If InStr (1, LCase (cll.Value2), LCase (str)) > 0 Τότε position = tmp Exit For End If Next cll If position then FirstPartMatch = position Else FirstPartMatch = "#NA" End If End End
Case Sensitive Partial Match for Position
Η παραπάνω λειτουργία που ορίστηκε από τον χρήστη για την εύρεση της πρώτης μερικής αντιστοίχισης δεν θα κάνει διάκριση πεζών -κεφαλαίων. Αν θέλετε να είναι κεφαλαία, αφαιρέστε το Συνάρτηση Lcase από τη γραμμή 7
Τότε ο κωδικός για την διάκριση πεζών -κεφαλαίων θα είναι:
Λειτουργία FirstPartMatchCASE (str As String, rng As Range) Dim tmp, position As Long position = 0 tmp = 0 Για κάθε cll Σε rng tmp = tmp + 1 If InStr (1, cll.Value2, str)> 0 Στη συνέχεια θέση = tmp Exit For End If Next cll If position Τότε FirstPartMatchCASE = position Else FirstPartMatchCASE = "#NA" End If End End
Μπορείτε να δείτε ότι τα "κερδισμένα" και "ισοπαλία" σε αυτήν την περίπτωση δεν βρίσκονται. Δεδομένου ότι δεν υπάρχει πεζός λόγος ή ισοπαλία.
Ναι, λοιπόν, αυτοί είναι οι τρόποι για να βρείτε τη θέση του πρώτου μερικού αγώνα στο excel. Σας είπα ότι μπορείτε να βρείτε τη θέση μερικής αντιστοίχισης χρησιμοποιώντας προκαθορισμένη συνάρτηση MATCH και χρησιμοποιώντας συνάρτηση αντιστοίχισης που ορίζεται από το χρήστη. Εάν έχετε άλλες ιδέες ή απορίες, μοιραστείτε μαζί μας εδώ στην παρακάτω ενότητα σχολίων.
Πώς να χρησιμοποιήσετε τη συνάρτηση MATCH στο Excel
Πώς να χρησιμοποιήσετε τη συνάρτηση INDEX στο Excel
Vlookup Top 5 Values with Duplicate Values Using INDEX-MATCH στο Excel
Δημοφιλή άρθρα:
Η συνάρτηση VLOOKUP στο Excel
COUNTIF στο Excel 2016
Πώς να χρησιμοποιήσετε τη συνάρτηση SUMIF στο Excel