XLOOKUP vs INDEX-MATCH στο Excel (Όλες οι πιθανές συγκρίσεις)

  • Μοιραστείτε Αυτό
Hugh West

Σήμερα θα κάνω μια συγκριτική ανάλυση των το XLOOKUP εναντίον Λειτουργίες INDEX-MATCH στο Excel Στις προηγούμενες εκδόσεις του Excel , χρησιμοποιούσαμε το HLOOKUP , το VLOOKUP , και το INDEX-MATCH συναρτήσεις για την αναζήτηση μιας συγκεκριμένης τιμής σε ένα εύρος κελιών. Ωστόσο, με την εμφάνιση των Office 365 , το Excel μας έχει παράσχει μια νέα και δυναμική συνάρτηση που ονομάζεται XLOOKUP συνάρτηση για να εκτελέσετε μια παρόμοια λειτουργία πιο εξελιγμένα. Σε αυτό το άρθρο, θα προσπαθήσω να συγκρίνω τις ευρέως χρησιμοποιούμενες συναρτήσεις, τις XLOOKUP και το INDEX-MATCH .

Κατεβάστε το βιβλίο ασκήσεων

Αποκτήστε αυτό το αρχείο δείγματος για καλύτερη κατανόηση.

XLOOKUP vs INDEX-MATCH Functions.xlsx

Εισαγωγή στη συνάρτηση XLOOKUP

Το XLOOKUP χρησιμοποιείται για την εύρεση μιας συγκεκριμένης τιμής μέσα σε ένα εύρος κελιών ή έναν πίνακα. Στη συνέχεια, επιστρέφει την αντίστοιχη πρώτη αντιστοιχία. Δείχνει επίσης την πλησιέστερη ή κατά προσέγγιση αντιστοιχία όταν δεν υπάρχει ακριβής αντιστοιχία.

Σύνταξη:

=XLOOKUP(lookup_value,lookup_array,return_array,[if_not_found],[match_mode],[search_mode])

Επιχειρήματα:

  • Lookup_value : Είναι η τιμή που αναζητούμε σε μια συγκεκριμένη στήλη του εύρους.
  • Lookup_array : Είναι ο πίνακας στον οποίο αναζητούμε το lookup_value Μπορεί να είναι τόσο γραμμή όσο και στήλη.
  • Return_array: Είναι η στήλη από την οποία η αντίστοιχη τιμή του lookup_value θα επιστραφεί.

Προαιρετικά επιχειρήματα:

  • If_not_found : Είναι η τιμή που θα επιστραφεί σε περίπτωση που το lookup_array δεν έχει την τιμή lookup_value.
  • Match_mode : Είναι ένας αριθμός που δηλώνει τον τύπο της αντιστοιχίας του lookup_value Αυτό είναι ένα προαιρετικό όρισμα. Μπορεί να περιέχει τέσσερις τιμές.
  1. Όταν είναι 0 , XLOOKUP θα αναζητήσει ακριβή αντιστοιχία (Προεπιλογή).
  2. Όταν είναι 1 , XLOOKUP Αν δεν βρεθεί ακριβής αντιστοιχία, θα γίνει αντιστοίχιση με την αμέσως μικρότερη τιμή.
  3. Όταν είναι -1 , XLOOKUP Αν δεν βρεθεί ακριβής αντιστοιχία, θα γίνει αντιστοίχιση με την αμέσως μεγαλύτερη τιμή.
  4. Όταν είναι 2 , XLOOKUP θα αναζητήσει πρώτα μια κατά προσέγγιση αντιστοιχία χρησιμοποιώντας Wildcards (ισχύει μόνο για τιμές αναζήτησης συμβολοσειρών).
  • Λειτουργία αναζήτησης_mode : Είναι ένας αριθμός που δηλώνει τον τύπο της λειτουργίας αναζήτησης που πραγματοποιείται στη συστοιχία lookup_array. Είναι επίσης προαιρετικός. Μπορεί επίσης να έχει τέσσερις τιμές:
  1. Εάν είναι 1 , XLOOKUP θα ψάξει από πάνω προς τα κάτω στο lookup_array (Προεπιλογή).
  2. Όταν είναι -1 , XLOOKUP θα ψάξει από κάτω προς τα πάνω στο
  3. Εάν είναι 2 , XLOOKUP θα πραγματοποιήσει μια δυαδική αναζήτηση με αύξουσα σειρά.
  4. Όταν είναι -2 , XLOOKUP θα πραγματοποιήσει μια δυαδική αναζήτηση με φθίνουσα σειρά.

Εισαγωγή στις συναρτήσεις INDEX-MATCH

Ο συνδυασμός των INDEX-MATCH χρησιμοποιείται για την άντληση μιας τιμής από μια δεδομένη θέση και την αντιστοίχισή της με την περιοχή προέλευσης.

Σύνταξη:

=INDEX(array,MATCH(lookup_value,lookup_array,match_type),no_of_column)

Επιχειρήματα:

Για τη λειτουργία INDEX:

  • Συστοιχία : Είναι μια σειρά κελιών από τα οποία θέλουμε να εξάγουμε μια τιμή.
  • MATCH(lookup_value,lookup_array,match_type): Είναι ο αριθμός γραμμής της περιοχής όπου η lookup_value ταιριάζει με μια συγκεκριμένη τιμή στο lookup_array .
  • No_of_column: Είναι ο αριθμός της στήλης του πίνακα από την οποία θέλουμε να επιστρέψουμε μια τιμή που αντιστοιχεί στο lookup_value .

Για τη λειτουργία MATCH:

  • Lookup_value: Είναι η αξία που αναζητούμε.
  • Lookup_array: Είναι ο πίνακας στον οποίο ψάχνουμε για το lookup_value Μπορεί να είναι και γραμμή και στήλη.
  • Match_type: Είναι ένας ακέραιος αριθμός που δηλώνει τον τύπο της αντιστοιχίας που αναζητούμε. Είναι προαιρετικός.
  1. Όταν είναι -1 , ΜΑΤΣ Σε περίπτωση που δεν βρεθεί ακριβής αντιστοιχία, θα ψάξει για την αμέσως μεγαλύτερη τιμή (Προεπιλογή) (αντίθετα από την επιλογή XLOOKUP ).

Αλλά η προϋπόθεση είναι ότι η lookup_array πρέπει να είναι ταξινομημένη σε αύξουσα σειρά. Διαφορετικά, θα εμφανιστεί σφάλμα.

  1. Όταν είναι 1 , ΜΑΤΣ Σε περίπτωση που δεν βρεθεί ακριβής αντιστοιχία, θα ψάξει για την αμέσως μικρότερη τιμή (αντίθετα από την XLOOKUP ).

Αλλά η προϋπόθεση είναι ότι η lookup_array πρέπει να ταξινομηθεί με φθίνουσα σειρά αυτή τη φορά. Διαφορετικά, θα εμφανιστεί σφάλμα.

  1. Όταν είναι 0 , ΜΑΤΣ θα αναζητήσει μια ακριβή αντιστοιχία.

Διαβάστε περισσότερα: Πώς να επιλέξετε συγκεκριμένα δεδομένα στο Excel (6 μέθοδοι)

7 Συγκρίσεις μεταξύ των χρήσεων των λειτουργιών XLOOKUP και INDEX-MATCH

Τώρα που αναλύσαμε τον τύπο, ας συζητήσουμε κάποιες ομοιότητες και διαφορές μεταξύ των δύο συναρτήσεων. Πριν περάσουμε στις κύριες συζητήσεις, παρουσιάζω τα κύρια σημεία σε έναν πίνακα για τη διευκόλυνσή σας.

Σημείο συζήτησης Ομοιότητα/Ανομοιότητα Επεξήγηση
Στήλη lookup_array Ομοιότητα Και οι δύο υποστηρίζουν μια στήλη ως lookup_array.
Σειρά lookup_array Ομοιότητα Και οι δύο υποστηρίζουν μια γραμμή ως lookup_array.
Δεν υπάρχει αντιστοίχιση της lookup_value Ανομοιότητα Το XLOOKUP έχει την προεπιλεγμένη επιλογή ρύθμισης για μη αντιστοίχιση της lookup_value. Αλλά το INDEX-MATCH δεν έχει.
Κατά προσέγγιση αντιστοιχία Μερική ομοιότητα Το XLOOKUP μπορεί να βρει την επόμενη μικρότερη ή την επόμενη μεγαλύτερη τιμή όταν δεν υπάρχει ακριβής αντιστοιχία. Το INDEX-MATCH μπορεί επίσης να το κάνει, αλλά η σειρά lookup_array πρέπει να ταξινομηθεί σε αύξουσα ή φθίνουσα σειρά.
Αντιστοίχιση Wildcards Ομοιότητα Και οι δύο υποστηρίζουν την αντιστοίχιση Wildcards.
Αντιστοίχιση πολλαπλών τιμών Μερική ομοιότητα Το XLOOKUP μπορεί να βρει είτε την πρώτη είτε την τελευταία τιμή όταν ταιριάζουν πολλές τιμές. Αλλά το INDEX-MATCH μπορεί να επιστρέψει μόνο την πρώτη τιμή που ταιριάζει.
Τύπος συστοιχίας Ομοιότητα Και οι δύο υποστηρίζουν τον τύπο συστοιχίας.

1. XLOOKUP και INDEX-MATCH για την αναζήτηση τιμής σε στήλη

Υπάρχει μια ομοιότητα μεταξύ των δύο λειτουργιών από αυτή την άποψη. Για την XLOOKUP και το INDEX-MATCH , η lookup_array μπορεί να είναι στήλη και για τις δύο συναρτήσεις. Εδώ ψάχνουμε για την ακριβή Βαθμοί στη Φυσική του ονόματος του μαθητή στο C ell F5 , Jennifer Marlo Θέλαμε να ψάξουμε από πάνω προς τα κάτω στο Όνομα μαθητή στήλη και επιστρέφει " Δεν βρέθηκε " σε περίπτωση που δεν βρέθηκε καμία αντιστοιχία.

  • Για το XLOOKUP , εφαρμόστε τον τύπο στο Κύτταρο G5 .
=XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)

  • Για το INDEX-MATCH , χρησιμοποιήστε αυτόν τον τύπο στο Κύτταρο G5 .
=INDEX(B5:D16,MATCH(F5,C5:C16,0),3)

Διαβάστε περισσότερα: Πώς να αντιστοιχίσετε πολλαπλά κριτήρια από διαφορετικές συστοιχίες στο Excel

2. XLOOKUP και INDEX-MATCH για την αναζήτηση τιμής στη γραμμή

Υπάρχει επίσης μια ομοιότητα μεταξύ των δύο λειτουργιών από αυτή την άποψη. Για την XLOOKUP και το INDEX-MATCH , το lookup_array μπορεί επίσης να είναι μια γραμμή και για τις δύο συναρτήσεις. Για παράδειγμα, έχουμε ένα νέο σύνολο δεδομένων με την IDs , Ονόματα , και Βαθμοί στη Φυσική και Βαθμοί .

Ας θεωρήσουμε για μια στιγμή ότι πρόκειται για ένα πολύ ευρύ σύνολο δεδομένων και δεν γνωρίζουμε ποιος είναι ο αριθμός των Βαθμός Στη συνέχεια, για να μάθουμε το βαθμό ενός συγκεκριμένου μαθητή, πρέπει να χρησιμοποιήσουμε τη στήλη Σειρά τίτλων (B4:E4) ως lookup_array και η λέξη " Βαθμός " ως το lookup_value Μπορούμε να το πετύχουμε χρησιμοποιώντας τόσο το XLOOKUP και το INDEX-MATCH .

  • Για να μάθετε το βαθμό του 3ος μαθητής , το XLOOKUP ο τύπος θα είναι κάπως έτσι στο Κύτταρο G5 .
=XLOOKUP("Grade",B4:E4,B7:E7, "Not Found",0,1)

  • Για την περίπτωση αυτή, η INDEX-MATCH τύπος θα είναι:
=INDEX(B5:E16,3,MATCH("Grade",B4:E4,0))

3. XLOOKUP και INDEX-MATCH όταν δεν βρίσκεται καμία αντιστοιχία

Οι δύο συναρτήσεις είναι ανόμοιες από αυτή την άποψη. Εάν η lookup_value δεν ταιριάζει με καμία τιμή στο αρχείο lookup_array , μπορείτε να ορίσετε μια σταθερή τιμή που θα επιστρέφεται στο XLOOKUP Για να το κάνετε αυτό, πρέπει να ορίσετε αυτή την τιμή στο αρχείο if_not_found Από την άλλη πλευρά, δεν υπάρχει τέτοια επιλογή στο INDEX-MATCH Θα επιστρέψει ένα σφάλμα. Πρέπει να χρησιμοποιήσετε το η συνάρτηση IFERROR έξω για να χειριστούμε το σφάλμα. Στο δεδομένο σύνολο δεδομένων, θα βρούμε το Όνομα μαθητή με το ID 100 .

  • Για το σκοπό αυτό, χρησιμοποιήστε τα εξής XLOOKUP τύπος σε Κύτταρο G5 .
=XLOOKUP(100,B5:B16,C5:C16,"Not Found",0,1)

  • Από την άλλη πλευρά, εφαρμόστε αυτό το INDEX-MATCH φόρμουλα.
=INDEX(B5:E16,MATCH(100,B5:B16,0),2)

  • Καθώς επιστρέφει ένα σφάλμα, πρέπει να χρησιμοποιήσετε ένα IFERROR συνάρτηση έξω για να χειριστεί αυτό το σφάλμα.
=IFERROR(INDEX(B5:E16,MATCH(100,B5:B16,0),2), "Δεν βρέθηκε")

Παρόμοιες αναγνώσεις

  • Excel INDEX MATCH για την επιστροφή πολλαπλών τιμών σε ένα κελί
  • Τύπος INDEX-MATCH του Excel για την επιστροφή πολλαπλών τιμών οριζόντια
  • Πώς να χρησιμοποιήσετε τον τύπο INDEX-MATCH στο Excel για να δημιουργήσετε πολλαπλά αποτελέσματα
  • [Διορθωμένο!] INDEX MATCH που δεν επιστρέφει σωστή τιμή στο Excel (5 λόγοι)
  • Πώς να χρησιμοποιήσετε το INDEX MATCH αντί του VLOOKUP στο Excel (3 τρόποι)

4. XLOOKUP και INDEX-MATCH στην περίπτωση προσεγγιστικών αντιστοιχιών

Υπάρχει μια μερική ομοιότητα μεταξύ των δύο λειτουργιών από αυτή την άποψη. XLOOKUP συνάρτηση, εάν η lookup_value δεν ταιριάζει με καμία τιμή στο lookup_array , μπορείτε να τροποποιήσετε τον τύπο ώστε να επιστρέφει την αμέσως μικρότερη ή την αμέσως μεγαλύτερη τιμή. Ορίστε το όρισμα match_type στο -1 αν θέλετε την επόμενη μικρότερη τιμή και να την ορίσετε σε 1 αν θέλετε την επόμενη μεγαλύτερη τιμή.

Για παράδειγμα, θα βρούμε τον μαθητή με βαθμό 50 ή το επόμενο μεγαλύτερο σήμα.

  • Για να βρείτε την τιμή, εφαρμόστε το εξής XLOOKUP φόρμουλα.
=XLOOKUP(50,D5:D16,C5:C16,"Not Found",1,1)

  • Όπως μπορείτε να δείτε, δεν υπάρχει κανένας μαθητής με βαθμό 50 Γι' αυτό δείχνει το αμέσως επόμενο. 50 , 51 από Desmond Hayes .

Υπάρχει η ίδια επιλογή στο INDEX-MATCH formula. Αλλά το μειονέκτημα είναι ότι πρέπει να ταξινομήσετε τη σειρά lookup_array σε φθίνουσα σειρά αν θέλετε την επόμενη μεγαλύτερη τιμή. Διαφορετικά, θα επιστρέψει σφάλμα. Και για να πάρετε την επόμενη μικρότερη τιμή, πρέπει να ταξινομήσετε σε αύξουσα σειρά.

  • Πρώτα απ' όλα, εισαγάγετε αυτόν τον τύπο στο Κύτταρο G5 .
=INDEX(B5:E16,MATCH(50,D5:D16,-1),2)

  • Ως αποτέλεσμα, θα δείτε ότι το αποτέλεσμα εμφανίζει ένα #N/A σφάλμα.
  • Επομένως, ταξινομήστε το Εύρος κυττάρων D5:D16 με αύξουσα σειρά και θα λάβετε τη σωστή τιμή.

Ειδική σημείωση: Στο XLOOKUP λειτουργία, -1 λειτουργεί για την επόμενη μικρότερη τιμή, αλλά στο INDEX-MATCH , -1 λειτουργεί για την επόμενη μεγαλύτερη τιμή. Ομοίως στο XLOOKUP συνάρτηση, το 1 λειτουργεί για την επόμενη μεγαλύτερη τιμή, αλλά στη συνάρτηση INDEX-MATCH, 1 λειτουργεί για την επόμενη μικρότερη τιμή.

Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε το INDEX και το Match για μερική αντιστοίχιση (2 τρόποι)

5. XLOOKUP και INDEX-MATCH σε περίπτωση αντιστοίχισης μπαλαντέρ

Υπάρχει μια ομοιότητα μεταξύ των δύο λειτουργιών από αυτή την άποψη. XLOOKUP και το INDEX-MATCH , και οι δύο υποστηρίζουν Wildcards Εδώ, θα βρούμε κάθε μαθητή με " Marlo " ως το δεύτερο όνομα. Ας ακολουθήσουμε τα παρακάτω βήματα για να δούμε XLOOKUP εναντίον INDEX-MATCH σύγκριση.

  • Πρώτον, εφαρμόστε αυτό το XLOOKUP τύπος σε Κύτταρο G5 για να λάβετε την έξοδο.
=XLOOKUP("*Marlo*",C5:C16,C5:C16,"Not Found",2,1)

Σημείωση: Για να χρησιμοποιήσετε μπαλαντέρ σε XLOOKUP , πρέπει να ορίσετε το match_type επιχείρημα στο 2 Διαφορετικά, δεν θα λειτουργήσει.

  • Από την άλλη πλευρά, η INDEX-MATCH φόρμουλα για την επίτευξη του ίδιου στόχου θα είναι η εξής.
=INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)

Διαβάστε περισσότερα: INDEX MATCH πολλαπλά κριτήρια με μπαλαντέρ στο Excel (Πλήρης οδηγός)

6. XLOOKUP και INDEX-MATCH Όταν πολλαπλές τιμές ταιριάζουν με την τιμή αναζήτησης

Αυτό το παράδειγμα δείχνει XLOOKUP εναντίον INDEX-MATCH όταν πολλαπλές τιμές ταιριάζουν με την τιμή αναζήτησης. Υπάρχει επίσης μια μερική ομοιότητα μεταξύ των δύο συναρτήσεων από αυτή την άποψη. XLOOKUP και το INDEX-MATCH και οι δύο επιστρέφουν μόνο μία τιμή σε περίπτωση που πολλαπλές τιμές στο lookup_array ταιριάζει με το lookup_value . Αλλά στο XLOOKUP συνάρτηση, μπορείτε να τροποποιήσετε την αναζήτηση ώστε να λαμβάνετε είτε την πρώτη είτε την τελευταία αντιστοιχία. Για να λάβετε την πρώτη τιμή που ταιριάζει, ορίστε το search_type επιχείρημα στο 1 Και για να λάβετε την τελευταία τιμή που ταιριάζει, ορίστε το search_type επιχείρημα στο -1 . Αλλά σε INDEX-MATCH Δεν έχετε καμία επιλογή. Θα λάβετε μόνο την πρώτη τιμή που ταιριάζει.

  • Για να πάρει ο πρώτος μαθητής που πήρε 100 , μπορείτε να χρησιμοποιήσετε αυτό XLOOKUP τύπος σε Κύτταρο G5 .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,1)

  • Μαζί με αυτό, θα πάρετε τον τελευταίο μαθητή με 100 χρησιμοποιώντας αυτό XLOOKUP φόρμουλα.
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,-1)

  • Αντίθετα, θα λάβετε μόνο την πρώτη τιμή που ταιριάζει με αυτό το INDEX-MATCH φόρμουλα.
=INDEX(B5:E16,MATCH(100,D5:D16,0),2)

7. XLOOKUP και INDEX-MATCH στην περίπτωση πολλαπλών τιμών αναζήτησης

Σε αυτό το παράδειγμα, θα επιδείξουμε XLOOKUP εναντίον INDEX-MATCH σε περίπτωση πολλαπλών τιμών αναζήτησης. Υπάρχει μια ομοιότητα μεταξύ των δύο λειτουργιών από αυτή την άποψη. Και οι δύο επιτρέπουν πολλαπλές lookup_values (Τύπος συστοιχίας).

  • Για το XLOOKUP η ακόλουθη φόρμουλα θα λειτουργήσει.
=XLOOKUP(G5:G8,B5:B16,E5:E16,"Not Found",0,1)

  • Στη συνέχεια, για INDEX-MATCH , η ακόλουθη λειτουργία θα λειτουργήσει επίσης.
=INDEX(B5:E16,MATCH(G5:G8,B5:B16,0),4)

Πλεονεκτήματα & Μειονεκτήματα της συνάρτησης XLOOKUP

Υπάρχουν ορισμένα πλεονεκτήματα και μειονεκτήματα της χρήσης του XLOOKUP λειτουργία. Ας τις δούμε εν συντομία.

Πλεονεκτήματα

  • Ορίστε μια προεπιλεγμένη τιμή για τις περιπτώσεις που δεν υπάρχει ταύτιση.
  • Μπορεί να αναζητήσει κατά προσέγγιση αντιστοιχίες χωρίς να ταξινομήσει τα lookup_array .
  • Έχετε πρόσβαση στην αναζήτηση τόσο από το πρώτο όσο και από το τελευταίο κελί του lookup_array .

Μειονεκτήματα

  • Λειτουργεί πιο αργά από το INDEX-MATCH λειτουργία.
  • Διαθέσιμο σε Office 365 μόνο.

Πλεονεκτήματα & μειονεκτήματα των λειτουργιών INDEX-MATCH

Το INDEX-MATCH λειτουργίες έχουν επίσης μερικά από τα ακόλουθα πλεονεκτήματα και μειονεκτήματα.

Πλεονεκτήματα

  • Λειτουργεί γρηγορότερα από το XLOOKUP λειτουργία.
  • Διαθέσιμο στο παλιό Excel εκδόσεις.

Μειονεκτήματα

  • Δεν μπορεί να χειριστεί σφάλματα όταν δεν υπάρχει αντιστοιχία.
  • Χρειάζεται το lookup_array να ταξινομηθούν για προσεγγιστικές αντιστοιχίες.
  • Επιστρέφει μόνο την πρώτη τιμή όταν πολλαπλές τιμές ταιριάζουν με το lookup_value .

Συμπέρασμα

Τέλος, βρισκόμαστε στο τέλος του μακροσκελούς άρθρου μας. Εδώ προσπαθήσαμε να δημιουργήσουμε μια συγκριτική ανάλυση των XLOOKUP έναντι του INDEX-MATCH συναρτήσεις στο Excel. Ενημερώστε μας για τις διορατικές προτάσεις σας σχετικά με αυτό. ExcelWIKI για περισσότερα σεμινάρια.

Ο Hugh West είναι ένας εξαιρετικά έμπειρος εκπαιδευτής και αναλυτής του Excel με πάνω από 10 χρόνια εμπειρίας στον κλάδο. Είναι κάτοχος πτυχίου Λογιστικής και Χρηματοοικονομικής και μεταπτυχιακού στη Διοίκηση Επιχειρήσεων. Ο Hugh έχει πάθος για τη διδασκαλία και έχει αναπτύξει μια μοναδική προσέγγιση διδασκαλίας που είναι εύκολο να ακολουθηθεί και να κατανοηθεί. Οι εξειδικευμένες γνώσεις του στο Excel έχουν βοηθήσει χιλιάδες φοιτητές και επαγγελματίες παγκοσμίως να βελτιώσουν τις δεξιότητές τους και να διαπρέψουν στην καριέρα τους. Μέσω του ιστολογίου του, ο Hugh μοιράζεται τις γνώσεις του με τον κόσμο, προσφέροντας δωρεάν μαθήματα Excel και διαδικτυακή εκπαίδευση για να βοηθήσει άτομα και επιχειρήσεις να αξιοποιήσουν πλήρως τις δυνατότητές τους.