Λειτουργία MATCH του Excel με παραδείγματα τύπων

  • Μοιραστείτε Αυτό
Michael Brown

Αυτό το σεμινάριο εξηγεί πώς να χρησιμοποιείτε τη συνάρτηση MATCH στο Excel με παραδείγματα τύπων. Δείχνει επίσης πώς να βελτιώσετε τους τύπους αναζήτησης κάνοντας δυναμικό τύπο με VLOOKUP και MATCH.

Στο Microsoft Excel, υπάρχουν πολλές διαφορετικές συναρτήσεις αναζήτησης/αναφοράς που μπορούν να σας βοηθήσουν να βρείτε μια συγκεκριμένη τιμή σε μια σειρά κελιών, και η MATCH είναι μία από αυτές. Βασικά, προσδιορίζει μια σχετική θέση ενός στοιχείου σε μια σειρά κελιών. Ωστόσο, η συνάρτηση MATCH μπορεί να κάνει πολύ περισσότερα από την καθαρή της ουσία.

    Συνάρτηση MATCH του Excel - σύνταξη και χρήσεις

    Η συνάρτηση MATCH στο Excel αναζητά μια καθορισμένη τιμή σε μια περιοχή κελιών και επιστρέφει τη σχετική θέση της τιμής αυτής.

    Η σύνταξη της συνάρτησης MATCH έχει ως εξής:

    MATCH(lookup_value, lookup_array, [match_type])

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

    Lookup_array (απαιτείται) - η περιοχή κελιών για αναζήτηση.

    Match_type (προαιρετικό) - ορίζει τον τύπο αντιστοιχίας. Μπορεί να είναι μία από τις ακόλουθες τιμές: 1, 0, -1. Το όρισμα match_type με τιμή 0 επιστρέφει μόνο την ακριβή αντιστοιχία, ενώ οι άλλοι δύο τύποι επιτρέπουν την κατά προσέγγιση αντιστοιχία.

    • 1 ή παραλείπεται (προεπιλογή) - βρίσκει το μεγαλύτερη τιμή στον πίνακα αναζήτησης που είναι μικρότερος ή ίσος με την τιμή αναζήτησης. Απαιτεί ταξινόμηση του πίνακα αναζήτησης σε αύξουσα σειρά, από το μικρότερο προς το μεγαλύτερο ή από το Α προς το Ω.
    • 0 - βρείτε την πρώτη τιμή στον πίνακα που είναι ακριβώς ίσα στην τιμή αναζήτησης. Δεν απαιτείται ταξινόμηση.
    • -1 - βρείτε το μικρότερη τιμή στον πίνακα που είναι μεγαλύτερη ή ίση με την τιμή αναζήτησης. Ο πίνακας αναζήτησης πρέπει να ταξινομηθεί κατά φθίνουσα σειρά, από το μεγαλύτερο προς το μικρότερο ή από το Ζ προς το Α.

    Για να κατανοήσουμε καλύτερα τη συνάρτηση MATCH, ας φτιάξουμε έναν απλό τύπο με βάση αυτά τα δεδομένα: τα ονόματα των μαθητών στη στήλη Α και οι βαθμολογίες τους στις εξετάσεις στη στήλη Β, ταξινομημένες από το μεγαλύτερο προς το μικρότερο, Laura ), μεταξύ άλλων, χρησιμοποιούν αυτόν τον απλό τύπο:

    =MATCH("Laura", A2:A8, 0)

    Προαιρετικά, μπορείτε να τοποθετήσετε την τιμή αναζήτησης σε κάποιο κελί (E1 σε αυτό το παράδειγμα) και να αναφέρετε αυτό το κελί στον τύπο του Excel Match:

    =MATCH(E1, A2:A8, 0)

    Όπως βλέπετε στο παραπάνω στιγμιότυπο, τα ονόματα των μαθητών εισάγονται με μια αυθαίρετη σειρά, και επομένως ορίζουμε το match_type σε 0 (ακριβής αντιστοιχία), επειδή μόνο αυτός ο τύπος αντιστοιχίας δεν απαιτεί ταξινόμηση των τιμών στον πίνακα αναζήτησης. Τεχνικά, ο τύπος Match επιστρέφει τη σχετική θέση της Laura στο εύρος. Αλλά επειδή οι βαθμολογίες είναι ταξινομημένες από τη μεγαλύτερη προς τη μικρότερη, μας λέει επίσης ότι η Laura έχει την 5η καλύτερη βαθμολογία μεταξύ όλων των μαθητών.

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

    4 πράγματα που πρέπει να γνωρίζετε για τη συνάρτηση MATCH

    Όπως μόλις είδατε, η χρήση της MATCH στο Excel είναι εύκολη. Ωστόσο, όπως συμβαίνει με σχεδόν κάθε άλλη συνάρτηση, υπάρχουν μερικές ιδιαιτερότητες που πρέπει να γνωρίζετε:

    1. Η συνάρτηση MATCH επιστρέφει το σχετική θέση της τιμής αναζήτησης στον πίνακα, όχι την ίδια την τιμή.
    2. Το MATCH είναι case-insensitive , που σημαίνει ότι δεν κάνει διάκριση μεταξύ πεζών και κεφαλαίων χαρακτήρων όταν πρόκειται για τιμές κειμένου.
    3. Εάν ο πίνακας αναζήτησης περιέχει πολλές εμφανίσεις της τιμής αναζήτησης, επιστρέφεται η θέση της πρώτης τιμής.
    4. Εάν η τιμή αναζήτησης δεν βρεθεί στον πίνακα αναζήτησης, επιστρέφεται το σφάλμα #N/A.

    Πώς να χρησιμοποιήσετε το MATCH στο Excel - παραδείγματα τύπων

    Τώρα που γνωρίζετε τις βασικές χρήσεις της συνάρτησης MATCH του Excel, ας συζητήσουμε μερικά ακόμη παραδείγματα τύπων που υπερβαίνουν τα βασικά.

    Μερική αντιστοίχιση με μπαλαντέρ

    Όπως και πολλές άλλες συναρτήσεις, η MATCH κατανοεί τους ακόλουθους χαρακτήρες μπαλαντέρ:

    • Ερωτηματικό (?) - αντικαθιστά οποιονδήποτε μεμονωμένο χαρακτήρα
    • Αστερίσκος (*) - αντικαθιστά οποιαδήποτε ακολουθία χαρακτήρων

    Σημείωση. Τα μπαλαντέρ μπορούν να χρησιμοποιηθούν μόνο σε τύπους αντιστοίχισης με match_type 0.

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

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

    Αν υποθέσουμε ότι τα ονόματα των μεταπωλητών βρίσκονται στην περιοχή A2:A11 και αναζητάτε το όνομα που αρχίζει με "car", ο τύπος έχει ως εξής:

    =MATCH("car*", A2:A11,0)

    Για να κάνετε τον τύπο Match πιο ευέλικτο, μπορείτε να πληκτρολογήσετε την τιμή αναζήτησης σε κάποιο κελί (E1 σε αυτό το παράδειγμα) και να συνδέσετε το κελί αυτό με τον χαρακτήρα μπαλαντέρ, όπως παρακάτω:

    =MATCH(E1& "*", A2:A11,0)

    Όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης, ο τύπος επιστρέφει το 2, που είναι η θέση του "Carter":

    Για να αντικαταστήσετε μόνο έναν χαρακτήρα στην τιμή αναζήτησης, χρησιμοποιήστε τον τελεστή "?" μπαλαντέρ, όπως παρακάτω:

    =MATCH("ba?er", A2:A11,0)

    Ο παραπάνω τύπος θα ταιριάξει με το όνομα " Baker " και επανεκτελέστε τη σχετική του θέση, η οποία είναι 5.

    Τύπος MATCH με ευαισθησία στην πεζότητα

    Όπως αναφέρθηκε στην αρχή αυτού του σεμιναρίου, η συνάρτηση MATCH δεν διακρίνει κεφαλαίους και πεζούς χαρακτήρες. Για να φτιάξετε έναν τύπο Match με ευαισθησία στην πεζότητα, χρησιμοποιήστε τη MATCH σε συνδυασμό με τη συνάρτηση EXACT που συγκρίνει τα κελιά με ακρίβεια, συμπεριλαμβανομένης της πεζότητας των χαρακτήρων.

    Ακολουθεί ο γενικός τύπος για την αντιστοίχιση δεδομένων με βάση την πεζότητα:

    MATCH(TRUE, EXACT( πίνακας αναζήτησης , τιμή αναζήτησης ), 0)

    Ο τύπος λειτουργεί με την ακόλουθη λογική:

    • Η συνάρτηση EXACT συγκρίνει την τιμή αναζήτησης με κάθε στοιχείο του πίνακα αναζήτησης. Εάν τα συγκρινόμενα κελιά είναι ακριβώς ίσα, η συνάρτηση επιστρέφει TRUE, διαφορετικά FALSE.
    • Και στη συνέχεια, η συνάρτηση MATCH συγκρίνει την TRUE (που είναι η δική της lookup_value ) με κάθε τιμή στον πίνακα που επιστρέφει η EXACT και επιστρέφει τη θέση της πρώτης αντιστοιχίας.

    Λάβετε υπόψη σας ότι πρόκειται για έναν τύπο πίνακα που απαιτεί το πάτημα των πλήκτρων Ctrl + Shift + Enter για να ολοκληρωθεί σωστά.

    Αν υποθέσουμε ότι η τιμή αναζήτησης βρίσκεται στο κελί E1 και ο πίνακας αναζήτησης είναι A2:A9, ο τύπος έχει ως εξής:

    =MATCH(TRUE, EXACT(A2:A9,E1),0)

    Το ακόλουθο στιγμιότυπο οθόνης δείχνει τον τύπο Match στο Excel που είναι ευαίσθητος στην πεζότητα:

    Συγκρίνετε 2 στήλες για αντιστοιχίες και διαφορές (ISNA MATCH)

    Ο έλεγχος δύο λιστών για αντιστοιχίες και διαφορές είναι μια από τις πιο συνηθισμένες εργασίες στο Excel και μπορεί να γίνει με διάφορους τρόπους. Ένας από αυτούς είναι ο τύπος ISNA/MATCH:

    IF(ISNA(MATCH( 1η τιμή στη λίστα List1 , Λίστα2 , 0))), "Not in List 1", "")

    Για κάθε τιμή της λίστας 2 που δεν υπάρχει στη λίστα 1, ο τύπος επιστρέφει " Όχι στον κατάλογο 1 "Και να πώς:

    • Η συνάρτηση MATCH αναζητά μια τιμή από τη λίστα 1 μέσα στη λίστα 2. Αν βρεθεί μια τιμή, επιστρέφει τη σχετική της θέση, διαφορετικά #N/A σφάλμα.
    • Η συνάρτηση ISNA στο Excel κάνει μόνο ένα πράγμα - ελέγχει για σφάλματα #N/A (που σημαίνει "μη διαθέσιμο"). Εάν μια δεδομένη τιμή είναι σφάλμα #N/A, η συνάρτηση επιστρέφει TRUE, διαφορετικά FALSE. Στην περίπτωσή μας, TRUE σημαίνει ότι μια τιμή από τη λίστα 1 δεν βρίσκεται στη λίστα 2 (δηλαδή επιστρέφεται σφάλμα #N/A από τη MATCH).
    • Επειδή μπορεί να είναι πολύ μπερδεμένο για τους χρήστες σας να βλέπουν TRUE για τιμές που δεν εμφανίζονται στη λίστα 1, τυλίγετε τη συνάρτηση IF γύρω από την ISNA για να εμφανίσετε " Όχι στον κατάλογο 1 ", ή όποιο άλλο κείμενο θέλετε.

    Για παράδειγμα, για να συγκρίνετε τις τιμές στη στήλη Β με τις τιμές στη στήλη Α, ο τύπος παίρνει την ακόλουθη μορφή (όπου Β2 είναι το πιο πάνω κελί):

    =IF(ISNA(MATCH(B2,A:A,0)), "Not in List 1", "")

    Όπως θυμάστε, η συνάρτηση MATCH στο Excel δεν λαμβάνει υπόψη την πεζότητα από μόνη της. Για να την κάνετε να διακρίνει την πεζότητα των χαρακτήρων, ενσωματώστε τη συνάρτηση EXACT στην εντολή lookup_array και θυμηθείτε να πατήσετε Ctrl + Shift + Enter για να ολοκληρώσετε αυτό το τύπος συστοιχίας :

    =IF(ISNA(MATCH(TRUE, EXACT(A:A, B2),0)), "Not in List 1", "")

    Το ακόλουθο στιγμιότυπο οθόνης δείχνει και τους δύο τύπους σε δράση:

    Για να μάθετε άλλους τρόπους σύγκρισης δύο λιστών στο Excel, ανατρέξτε στο ακόλουθο σεμινάριο: Πώς να συγκρίνετε 2 στήλες στο Excel.

    Excel VLOOKUP και MATCH

    Αυτό το παράδειγμα προϋποθέτει ότι έχετε ήδη κάποιες βασικές γνώσεις της συνάρτησης VLOOKUP του Excel. Και αν έχετε, οι πιθανότητες είναι ότι έχετε συναντήσει τους πολυάριθμους περιορισμούς της (λεπτομερή επισκόπηση των οποίων μπορείτε να βρείτε στο Γιατί δεν λειτουργεί η VLOOKUP του Excel) και αναζητάτε μια πιο ισχυρή εναλλακτική λύση.

    Ένα από τα πιο ενοχλητικά μειονεκτήματα του VLOOKUP είναι ότι σταματάει να λειτουργεί μετά την εισαγωγή ή τη διαγραφή μιας στήλης μέσα σε έναν πίνακα αναζήτησης. Αυτό συμβαίνει επειδή το VLOOKUP τραβάει μια αντίστοιχη τιμή με βάση τον αριθμό της στήλης επιστροφής που καθορίζετε (αριθμός δείκτη). Επειδή το αριθμός δείκτη είναι "σκληρά κωδικοποιημένη" στον τύπο, το Excel δεν είναι σε θέση να την προσαρμόσει όταν προστίθεται ή διαγράφεται μια νέα στήλη ή στήλες από τον πίνακα.

    Η συνάρτηση MATCH του Excel ασχολείται με ένα σχετική θέση μιας τιμής αναζήτησης, γεγονός που την καθιστά ιδανική για το col_index_num Με άλλα λόγια, αντί να καθορίσετε τη στήλη επιστροφής ως στατικό αριθμό, χρησιμοποιείτε τη MATCH για να λάβετε την τρέχουσα θέση της εν λόγω στήλης.

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

    Υποθέτοντας ότι η τιμή αναζήτησης βρίσκεται στο κελί F1, ο πίνακας είναι $A$1:$C$2 (είναι καλή πρακτική να τον κλειδώνετε χρησιμοποιώντας απόλυτες αναφορές κελιών αν σκοπεύετε να αντιγράψετε τον τύπο σε άλλα κελιά), ο τύπος έχει ως εξής:

    =VLOOKUP(F1, $A$1:$C$8, 3, FALSE)

    Το 3ο όρισμα ( col_index_num ) ορίζεται σε 3 επειδή η Μαθηματικό σκορ που θέλουμε να τραβήξουμε είναι η 3η στήλη του πίνακα. Όπως μπορείτε να δείτε στο παρακάτω στιγμιότυπο οθόνης, αυτός ο κανονικός τύπος Vlookup λειτουργεί καλά:

    Αλλά μόνο μέχρι να εισαγάγετε ή να διαγράψετε μια ή περισσότερες στήλες:

    Οπότε, γιατί το σφάλμα #REF!; Επειδή col_index_num σε 3 λέει στο Excel να πάρει μια τιμή από την τρίτη στήλη, ενώ τώρα υπάρχουν μόνο 2 στήλες στον πίνακα.

    Για να αποφύγετε τέτοια φαινόμενα, μπορείτε να κάνετε τον τύπο Vlookup πιο δυναμικό, συμπεριλαμβάνοντας την ακόλουθη συνάρτηση Match:

    MATCH(E2,A1:C1,0)

    Πού:

    • E2 είναι η τιμή αναζήτησης, η οποία είναι ακριβώς ίσα στο όνομα της στήλης επιστροφής, δηλαδή της στήλης από την οποία θέλετε να αντλήσετε μια τιμή ( Μαθηματικό σκορ σε αυτό το παράδειγμα).
    • A1:C1 είναι ο πίνακας αναζήτησης που περιέχει τις επικεφαλίδες των πινάκων.

    Και τώρα, συμπεριλάβετε αυτή τη συνάρτηση Match στο col_index_num όρισμα του τύπου Vlookup, όπως αυτό:

    =VLOOKUP(F1,$A$1:$C$8, MATCH(E2,$A$1:$C$1, 0), FALSE)

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

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

    Excel HLOOKUP και MATCH

    Με παρόμοιο τρόπο, μπορείτε να χρησιμοποιήσετε τη συνάρτηση MATCH του Excel για να βελτιώσετε τις φόρμουλες HLOOKUP. Η γενική αρχή είναι ουσιαστικά η ίδια όπως στην περίπτωση του Vlookup: χρησιμοποιείτε τη συνάρτηση Match για να λάβετε τη σχετική θέση της στήλης επιστροφής, και παρέχετε αυτόν τον αριθμό στη συνάρτηση row_index_num του τύπου Hlookup.

    Αν υποθέσουμε ότι η τιμή αναζήτησης βρίσκεται στο κελί B5, ο πίνακας είναι B1:H3, το όνομα της γραμμής επιστροφής (τιμή αναζήτησης για το MATCH) βρίσκεται στο κελί A6 και οι επικεφαλίδες των γραμμών είναι A1:A3, ο πλήρης τύπος έχει ως εξής:

    =HLOOKUP(B5, B1:H3, MATCH(A6, A1:A3, 0), FALSE)

    Όπως μόλις είδατε, ο συνδυασμός Hlookup/Vlookup & Match είναι σίγουρα μια βελτίωση σε σχέση με τους κανονικούς τύπους Hlookup και Vlookup. Ωστόσο, η λειτουργία MATCH δεν εξαλείφει όλους τους περιορισμούς τους. Ειδικότερα, ένας τύπος Vlookup Match εξακολουθεί να μην μπορεί να κοιτάξει στα αριστερά του, και ο τύπος Hlookup Match αποτυγχάνει να αναζητήσει σε οποιαδήποτε γραμμή εκτός από την πιο πάνω.

    Για να ξεπεράσετε τους παραπάνω (και μερικούς άλλους) περιορισμούς, εξετάστε το ενδεχόμενο να χρησιμοποιήσετε έναν συνδυασμό INDEX MATCH, ο οποίος παρέχει έναν πραγματικά ισχυρό και ευέλικτο τρόπο αναζήτησης στο Excel, ανώτερο από το Vlookup και το Hlookup από πολλές απόψεις. Λεπτομερείς οδηγίες και παραδείγματα τύπων θα βρείτε στο INDEX & MATCH στο Excel - μια καλύτερη εναλλακτική λύση στο VLOOKUP.

    Με αυτόν τον τρόπο χρησιμοποιείτε τους τύπους MATCH στο Excel. Ελπίζω ότι τα παραδείγματα που συζητήθηκαν σε αυτό το σεμινάριο θα αποδειχθούν χρήσιμα στη δουλειά σας. Σας ευχαριστώ για την ανάγνωση και ελπίζω να σας δω στο blog μας την επόμενη εβδομάδα!

    Βιβλίο ασκήσεων για κατέβασμα

    Παραδείγματα τύπων του Excel MATCH (.xlsx αρχείο)

    Ο Michael Brown είναι ένας αφοσιωμένος λάτρης της τεχνολογίας με πάθος για την απλοποίηση πολύπλοκων διαδικασιών χρησιμοποιώντας εργαλεία λογισμικού. Με περισσότερο από μια δεκαετία εμπειρίας στον κλάδο της τεχνολογίας, έχει βελτιώσει τις δεξιότητές του στο Microsoft Excel και το Outlook, καθώς και στα Φύλλα Google και στα Έγγραφα. Το blog του Michael είναι αφιερωμένο στο να μοιράζεται τη γνώση και την τεχνογνωσία του με άλλους, παρέχοντας εύκολες συμβουλές και σεμινάρια για τη βελτίωση της παραγωγικότητας και της αποτελεσματικότητας. Είτε είστε έμπειρος επαγγελματίας είτε αρχάριος, το ιστολόγιο του Michael προσφέρει πολύτιμες πληροφορίες και πρακτικές συμβουλές για να αξιοποιήσετε στο έπακρο αυτά τα βασικά εργαλεία λογισμικού.