Πίνακας περιεχομένων
Το σεμινάριο εισάγει το XLOOKUP - τη νέα λειτουργία για κάθετη και οριζόντια αναζήτηση στο Excel. Αριστερή αναζήτηση, τελευταία αντιστοίχιση, Vlookup με πολλαπλά κριτήρια και πολλά άλλα πράγματα που παλαιότερα απαιτούσαν πτυχίο πυρηνικής επιστήμης για να επιτευχθούν, έχουν πλέον γίνει τόσο εύκολα όσο το ABC.
Κάθε φορά που χρειάζεται να κάνετε αναζήτηση στο Excel, ποια συνάρτηση θα χρησιμοποιήσετε; Είναι ο ακρογωνιαίος λίθος VLOOKUP ή το οριζόντιο αδελφάκι του HLOOKUP; Σε μια πιο σύνθετη περίπτωση, θα βασιστείτε στον κανονικό συνδυασμό INDEX MATCH ή θα αναθέσετε την εργασία στο Power Query; Τα καλά νέα είναι ότι δεν έχετε πλέον να επιλέξετε - όλες αυτές οι μέθοδοι δίνουν τη θέση τους σε έναν πιο ισχυρό και ευέλικτο διάδοχο, τη συνάρτηση XLOOKUP.
Πώς είναι καλύτερη η XLOOKUP; Με πολλούς τρόπους! Μπορεί να κοιτάξει κάθετα και οριζόντια, αριστερά και πάνω, να κάνει αναζήτηση με πολλαπλά κριτήρια και ακόμη και να επιστρέψει μια ολόκληρη στήλη ή γραμμή δεδομένων, όχι μόνο μια τιμή. Χρειάστηκε να περάσουν πάνω από 3 δεκαετίες στη Microsoft, αλλά τελικά κατάφερε να σχεδιάσει μια ισχυρή συνάρτηση που ξεπερνά πολλά απογοητευτικά σφάλματα και αδυναμίες της VLOOKUP.
Η λειτουργία XLOOKUP είναι διαθέσιμη μόνο στο Excel για το Microsoft 365, το Excel 2021 και το Excel για το διαδίκτυο.
Συνάρτηση XLOOKUP του Excel - σύνταξη και χρήσεις
Η συνάρτηση XLOOKUP στο Excel αναζητά μια περιοχή ή έναν πίνακα για μια καθορισμένη τιμή και επιστρέφει τη σχετική τιμή από μια άλλη στήλη. Μπορεί να αναζητήσει τόσο κάθετα όσο και οριζόντια και να εκτελέσει ακριβή αντιστοίχιση (προεπιλογή), κατά προσέγγιση (πλησιέστερη) αντιστοίχιση ή μπαλαντέρ (μερική) αντιστοίχιση.
Η σύνταξη της συνάρτησης XLOOKUP έχει ως εξής:
XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])Τα 3 πρώτα ορίσματα είναι υποχρεωτικά και τα τρία τελευταία είναι προαιρετικά.
- Lookup_value - η τιμή για την οποία θα γίνει αναζήτηση.
- Lookup_array - η περιοχή ή ο πίνακας όπου θα γίνει η αναζήτηση.
- Return_array - η περιοχή ή ο πίνακας από τον οποίο θα επιστρέφονται οι τιμές.
- If_not_found [προαιρετικό] - η τιμή που επιστρέφεται εάν δεν βρεθεί καμία αντιστοιχία. Εάν παραλειφθεί, επιστρέφεται σφάλμα #N/A.
- Match_mode [προαιρετικό] - ο τύπος αντιστοίχισης που θα εκτελεστεί:
- 0 ή παραλείπεται (προεπιλογή) - ακριβής αντιστοιχία. Εάν δεν βρεθεί, επιστρέφεται σφάλμα #N/A.
- -1 - ακριβής αντιστοιχία ή η αμέσως μικρότερη. Εάν δεν βρεθεί ακριβής αντιστοιχία, επιστρέφεται η αμέσως μικρότερη τιμή.
- 1 - ακριβής αντιστοιχία ή η αμέσως μεγαλύτερη. Εάν δεν βρεθεί ακριβής αντιστοιχία, επιστρέφεται η αμέσως μεγαλύτερη τιμή.
- 2 - αντιστοιχία χαρακτήρων μπαλαντέρ.
- Λειτουργία αναζήτησης_mode [προαιρετικό] - η κατεύθυνση της αναζήτησης:
- 1 ή παραλείπεται (προεπιλογή) - για αναζήτηση από τον πρώτο προς τον τελευταίο.
- -1 - για αναζήτηση με αντίστροφη σειρά, από την τελευταία στην πρώτη.
- 2 - δυαδική αναζήτηση σε δεδομένα ταξινομημένα με αύξουσα σειρά.
- -2 - δυαδική αναζήτηση σε δεδομένα ταξινομημένα κατά φθίνουσα σειρά.
Σύμφωνα με τη Microsoft, δυαδική αναζήτηση περιλαμβάνεται για προχωρημένους χρήστες. Είναι ένας ειδικός αλγόριθμος που βρίσκει τη θέση μιας τιμής αναζήτησης μέσα σε έναν ταξινομημένο πίνακα συγκρίνοντας την με το μεσαίο στοιχείο του πίνακα. Η δυαδική αναζήτηση είναι πολύ πιο γρήγορη από την κανονική αναζήτηση, αλλά λειτουργεί σωστά μόνο σε ταξινομημένα δεδομένα.
Βασικός τύπος XLOOKUP
Για να κατανοήσουμε καλύτερα, ας δημιουργήσουμε έναν τύπο Xlookup στην απλούστερη μορφή του για να εκτελέσουμε μια ακριβή αναζήτηση. Για το σκοπό αυτό, θα χρειαστούμε μόνο τα 3 πρώτα ορίσματα.
Ας υποθέσουμε ότι έχετε έναν συγκεντρωτικό πίνακα με πληροφορίες για τους πέντε ωκεανούς της Γης. Θέλετε να πάρετε την έκταση ενός συγκεκριμένου ωκεανού εισόδου σε F1 ( lookup_value Με τα ονόματα των ωκεανών στα A2:A6 ( lookup_array ) και τις περιοχές C2:C6 ( return_array ), ο τύπος έχει ως εξής:
=XLOOKUP(F1, A2:A6, C2:C6)
Μεταφρασμένο σε απλά αγγλικά, λέει: αναζητήστε την τιμή F1 στα A2:A6 και επιστρέψτε μια τιμή από τα C2:C6 στην ίδια γραμμή. Χωρίς αριθμούς δεικτών στηλών, χωρίς ταξινόμηση, χωρίς άλλες γελοίες ιδιορρυθμίες του Vlookup! Απλά λειτουργεί :)
XLOOKUP vs. VLOOKUP στο Excel
Σε σύγκριση με την παραδοσιακή VLOOKUP, η XLOOKUP έχει πολλά πλεονεκτήματα. Με ποιο τρόπο είναι καλύτερη από την VLOOKUP; Ακολουθεί ένας κατάλογος με τα 10 καλύτερα χαρακτηριστικά που ξεπερνούν κάθε άλλη συνάρτηση αναζήτησης στο Excel:
- Κάθετη και οριζόντια αναζήτηση . Η συνάρτηση XLOOKUP πήρε το όνομά της λόγω της ικανότητάς της να κοιτάζει προς τα πάνω τόσο κάθετα όσο και οριζόντια.
- Κοιτάξτε προς οποιαδήποτε κατεύθυνση: δεξιά, αριστερά, κάτω ή επάνω. Ενώ το VLOOKUP μπορεί να κάνει αναζήτηση μόνο στην αριστερή στήλη και το HLOOKUP στην επάνω γραμμή, το XLOOKUP δεν έχει τέτοιους περιορισμούς. Η περιβόητη αναζήτηση αριστερά στο Excel δεν είναι πλέον πρόβλημα!
- Ακριβής αντιστοιχία από προεπιλογή Στις περισσότερες περιπτώσεις, θα αναζητάτε μια ακριβή αντιστοιχία και η XLOOKUP την επιστρέφει εξ ορισμού (σε αντίθεση με τη λειτουργία VLOOKUP που έχει ως προεπιλογή την κατά προσέγγιση αντιστοιχία). Φυσικά, μπορείτε να βάλετε την XLOOKUP να εκτελέσει και μια κατά προσέγγιση αντιστοιχία, αν χρειαστεί.
- Μερική αντιστοίχιση με μπαλαντέρ Όταν γνωρίζετε μόνο ένα μέρος της τιμής αναζήτησης και όχι ολόκληρη, η αντιστοίχιση με μπαλαντέρ είναι χρήσιμη.
- Αναζήτηση με αντίστροφη σειρά Παλαιότερα, για να λάβετε την τελευταία εμφάνιση, έπρεπε να αντιστρέψετε τη σειρά των δεδομένων της πηγής σας. Τώρα, απλά ορίζετε το search_mode σε -1 για να αναγκάσετε τον τύπο Xlookup να κάνει αναζήτηση από πίσω και να επιστρέψει την τελευταία αντιστοιχία.
- Επιστροφή πολλαπλών τιμών . χειριζόμενοι με το return_array μπορείτε να αντλήσετε μια ολόκληρη γραμμή ή στήλη δεδομένων που σχετίζονται με την τιμή αναζήτησης.
- Αναζήτηση με πολλαπλά κριτήρια . Το Excel XLOOKUP χειρίζεται πίνακες εγγενώς, γεγονός που καθιστά δυνατή την εκτέλεση αναζήτησης με πολλαπλά κριτήρια.
- Εάν η λειτουργικότητα σφάλματος Παραδοσιακά, χρησιμοποιούμε τη συνάρτηση IFNA για να παγιδεύσουμε τα λάθη #N/A. Το XLOOKUP ενσωματώνει αυτή τη λειτουργία στο if_not_found όρισμα που επιτρέπει την έξοδο του δικού σας κειμένου αν δεν βρεθεί έγκυρη αντιστοιχία.
- Εισαγωγές/διαγραφές στηλών Ένα από τα πιο ενοχλητικά ζητήματα με το VLOOKUP είναι ότι η προσθήκη ή η αφαίρεση στηλών καταστρέφει έναν τύπο, επειδή η στήλη επιστροφής προσδιορίζεται από τον αριθμό του δείκτη της. Με το XLOOKUP, παρέχετε την περιοχή επιστροφής, όχι τον αριθμό, που σημαίνει ότι μπορείτε να εισάγετε και να αφαιρείτε όσες στήλες χρειάζεστε χωρίς να καταστρέφετε τίποτα.
- Καλύτερη απόδοση . το VLOOKUP μπορεί να επιβραδύνει τα φύλλα εργασίας σας επειδή περιλαμβάνει ολόκληρο τον πίνακα στους υπολογισμούς, με αποτέλεσμα να επεξεργάζεται πολύ περισσότερα κελιά από όσα πραγματικά χρειάζονται. το XLOOKUP χειρίζεται μόνο τους πίνακες αναζήτησης και επιστροφής από τους οποίους πραγματικά εξαρτάται.
Πώς να χρησιμοποιήσετε το XLOOKUP στο Excel - παραδείγματα τύπων
Τα παρακάτω παραδείγματα παρουσιάζουν τις πιο χρήσιμες λειτουργίες του XLOOKUP σε δράση. Επιπλέον, θα ανακαλύψετε μερικές μη τετριμμένες χρήσεις που θα απογειώσουν τις δεξιότητές σας στο Excel.
Κοιτάξτε πάνω κάθετα και οριζόντια
Το Microsoft Excel χρησιμοποιούσε δύο συναρτήσεις για διαφορετικούς τύπους αναζήτησης, καθεμία από τις οποίες είχε τη δική της σύνταξη και τους δικούς της κανόνες χρήσης: VLOOKUP για κάθετη αναζήτηση σε μια στήλη και HLOOKUP για οριζόντια αναζήτηση σε μια γραμμή.
Η συνάρτηση XLOOKUP μπορεί να κάνει και τα δύο με την ίδια σύνταξη. Η διαφορά έγκειται στο τι παρέχετε για τους πίνακες αναζήτησης και επιστροφής.
Για v-lookup, παρέχετε στήλες:
=XLOOKUP(E1, A2:A6, B2:B6)
Για το h-lookup, πληκτρολογήστε γραμμές αντί για στήλες:
=XLOOKUP(I1, B1:F1, B2:F2)
Αριστερή αναζήτηση που εκτελείται εγγενώς
Σε προηγούμενες εκδόσεις του Excel, ο τύπος INDEX MATCH ήταν ο μόνος αξιόπιστος τρόπος για να κοιτάξετε προς τα αριστερά ή προς τα πάνω. Τώρα, δεν χρειάζεται πλέον να συνδυάζετε δύο συναρτήσεις, όπου θα αρκούσε μία. Απλώς καθορίστε τον πίνακα αναζήτησης στόχου και το XLOOKUP θα τον χειριστεί χωρίς πρόβλημα, ανεξάρτητα από τη θέση του.
Για παράδειγμα, ας προσθέσουμε το Κατάταξη στήλη στα αριστερά του πίνακα του δείγματός μας. Ο στόχος είναι να λάβουμε την κατάταξη της εισόδου ωκεανού στην F1. Το VLOOKUP θα σκόνταφτε εδώ επειδή μπορεί να επιστρέψει μόνο μια τιμή από μια στήλη στα δεξιά της στήλης αναζήτησης. Ένας τύπος Xlookup αντιμετωπίζει με ευκολία:
=XLOOKUP(F1, B2:B6, A2:A6)
Με παρόμοιο τρόπο, μπορείτε να κοιτάξετε παραπάνω όταν κάνετε οριζόντια αναζήτηση σε σειρές.
XLOOKUP με ακριβή και κατά προσέγγιση αντιστοιχία
Η συμπεριφορά του αγώνα ελέγχεται από το 5ο όρισμα που ονομάζεται match_mode Από προεπιλογή, πραγματοποιείται ακριβής αντιστοίχιση.
Παρακαλούμε προσέξτε ότι ακόμη και όταν επιλέγετε μια κατά προσέγγιση αντιστοιχία ( match_mode σε 1 ή -1), η συνάρτηση εξακολουθεί να αναζητά πρώτα μια ακριβή αντιστοιχία. Η διαφορά έγκειται στο τι επιστρέφει αν δεν βρεθεί ακριβής τιμή αναζήτησης.
Όρισμα Match_mode:
- 0 ή παραλείπεται - ακριβής αντιστοιχία- αν δεν βρεθεί - σφάλμα #N/A.
- -1 - ακριβής αντιστοιχία- αν δεν βρεθεί - επόμενο μικρότερο στοιχείο.
- 1 - ακριβής αντιστοιχία- αν δεν βρεθεί - επόμενο μεγαλύτερο στοιχείο.
Ακριβής αντιστοιχία XLOOKUP
Αυτή είναι η επιλογή που πιθανότατα χρησιμοποιείτε στο 99% των περιπτώσεων που κάνετε αναζήτηση στο Excel. Δεδομένου ότι η ακριβής αντιστοίχιση είναι η προεπιλεγμένη συμπεριφορά του XLOOKUP, μπορείτε να παραλείψετε το match_mode και δώστε μόνο τα 3 πρώτα απαιτούμενα ορίσματα.
Σε ορισμένες περιπτώσεις, ωστόσο, μια ακριβής αντιστοίχιση δεν θα λειτουργήσει. Ένα τυπικό σενάριο είναι όταν ο πίνακας αναζήτησης δεν περιέχει όλες τις τιμές, αλλά μάλλον "ορόσημα" ή "όρια", όπως εκπτώσεις βάσει ποσότητας, προμήθειες βάσει πωλήσεων κ.λπ.
Ο πίνακας αναζήτησης του δείγματός μας δείχνει τη συσχέτιση μεταξύ των βαθμολογιών των εξετάσεων και των βαθμών. Όπως μπορείτε να δείτε στο παρακάτω στιγμιότυπο οθόνης, η ακριβής αντιστοίχιση λειτουργεί μόνο όταν η βαθμολογία ενός συγκεκριμένου μαθητή ταιριάζει ακριβώς με την τιμή στον πίνακα αναζήτησης (όπως ο Christian στη σειρά 3). Σε όλες τις άλλες περιπτώσεις, επιστρέφεται ένα σφάλμα #N/A.
=XLOOKUP(F2, $B$2:$B$6, $C$2:$C$6)
Για να πάρουμε τους βαθμούς αντί για #N/A σφάλματα, πρέπει να αναζητήσουμε μια κατά προσέγγιση ταύτιση, όπως φαίνεται στο επόμενο παράδειγμα.
Προσεγγιστική αντιστοιχία XLOOKUP
Για να εκτελέσετε μια κατά προσέγγιση αναζήτηση, ορίστε το match_mode σε -1 ή 1, ανάλογα με τον τρόπο οργάνωσης των δεδομένων σας.
Στην περίπτωσή μας, ο πίνακας αναζήτησης παραθέτει τα κατώτερα όρια των βαθμών. Έτσι, ορίζουμε match_mode σε -1 για να αναζητήσετε την επόμενη μικρότερη τιμή όταν δεν βρεθεί ακριβής αντιστοιχία:
=XLOOKUP(F11, $B$11:$B$15, $C$11:$C$15, ,-1)
Για παράδειγμα, ο Μπράιαν έχει βαθμολογία 98 (F2). Ο τύπος αναζητά αυτή την τιμή αναζήτησης στα στοιχεία B2:B6, αλλά δεν μπορεί να τη βρει. Στη συνέχεια, αναζητά το αμέσως μικρότερο στοιχείο και βρίσκει το 90, το οποίο αντιστοιχεί στον βαθμό Α:
Αν ο πίνακας αναζήτησης περιείχε τα ανώτερα όρια των βαθμών, θα θέταμε match_mode σε 1 για να αναζητήσετε το επόμενο μεγαλύτερο στοιχείο, εάν η ακριβής αντιστοίχιση αποτύχει:
=XLOOKUP(F2, $B$2:$B$6, $C$2:$C$6, ,1)
Ο τύπος αναζητά το 98 και πάλι δεν μπορεί να το βρει. Αυτή τη φορά, προσπαθεί να βρει την αμέσως μεγαλύτερη τιμή και βρίσκει το 100, που αντιστοιχεί στον βαθμό Α:
Συμβουλή. Όταν αντιγράφετε έναν τύπο Xlookup σε πολλαπλά κελιά, κλειδώστε τις περιοχές αναζήτησης ή επιστροφής με απόλυτες αναφορές κελιών (όπως $B$2:$B$6) για να αποτρέψετε την αλλαγή τους.
XLOOKUP με μερική αντιστοίχιση (μπαλαντέρ)
Για να εκτελέσετε αναζήτηση μερικής αντιστοίχισης, ορίστε το match_mode σε 2, το οποίο δίνει εντολή στη συνάρτηση XLOOKUP να επεξεργαστεί τους χαρακτήρες μπαλαντέρ:
- Ένας αστερίσκος (*) - αντιπροσωπεύει οποιαδήποτε ακολουθία χαρακτήρων.
- Ένα ερωτηματικό (?) - αντιπροσωπεύει οποιονδήποτε μεμονωμένο χαρακτήρα.
Για να δείτε πώς λειτουργεί, αναλογιστείτε το ακόλουθο παράδειγμα. Στη στήλη Α, έχετε μερικά μοντέλα smartphone και, στη στήλη Β, τη χωρητικότητα της μπαταρίας τους. Είστε περίεργοι για τη μπαταρία ενός συγκεκριμένου smartphone. Το πρόβλημα είναι ότι δεν είστε σίγουροι ότι μπορείτε να πληκτρολογήσετε το όνομα του μοντέλου ακριβώς όπως εμφανίζεται στη στήλη Α. Για να το ξεπεράσετε αυτό, πληκτρολογήστε το μέρος που σίγουρα υπάρχει και αντικαταστήστε το υπόλοιποχαρακτήρες με μπαλαντέρ.
Για παράδειγμα, για να λάβετε πληροφορίες σχετικά με την μπαταρία του iPhone X, χρησιμοποιήστε τον ακόλουθο τύπο:
=XLOOKUP("*iphone X*", A2:A8, B2:B8, ,2)
Ή, εισάγετε το γνωστό μέρος της τιμής αναζήτησης σε κάποιο κελί και συνδέστε την αναφορά του κελιού με τους χαρακτήρες μπαλαντέρ:
=XLOOKUP("*"&E1& "*", A2:A8, B2:B8, ,2)
XLOOKUP με αντίστροφη σειρά για να λάβετε την τελευταία εμφάνιση
Σε περίπτωση που ο πίνακάς σας περιέχει πολλές εμφανίσεις της τιμής αναζήτησης, μπορεί μερικές φορές να χρειαστεί να επιστρέψετε την τιμή τελευταίος αγώνας Για να το κάνετε αυτό, ρυθμίστε τον τύπο Xlookup ώστε η αναζήτηση να γίνεται με αντίστροφη σειρά.
Η κατεύθυνση της αναζήτησης ελέγχεται από το 6ο όρισμα που ονομάζεται search_mode :
- 1 ή παραλείπεται (προεπιλογή) - αναζητά από την πρώτη προς την τελευταία τιμή, δηλαδή από πάνω προς τα κάτω με κάθετη αναζήτηση ή από αριστερά προς τα δεξιά με οριζόντια αναζήτηση.
- -1 - αναζητά με αντίστροφη σειρά από την τελευταία στην πρώτη τιμή.
Ως παράδειγμα, ας επιστρέψουμε την τελευταία πώληση που πραγματοποιήθηκε από έναν συγκεκριμένο πωλητή. Για το σκοπό αυτό, συγκεντρώνουμε τα τρία πρώτα απαιτούμενα ορίσματα (G1 για lookup_value , B2:B9 για lookup_array και D2:D9 για return_array ) και βάλτε -1 στο 5ο όρισμα:
=XLOOKUP(G1, B2:B9, D2:D9, , , ,-1)
Απλό και εύκολο, έτσι δεν είναι;
XLOOKUP για την επιστροφή πολλαπλών στηλών ή γραμμών
Ένα ακόμη εκπληκτικό χαρακτηριστικό του XLOOKUP είναι η ικανότητά του να επιστρέφει περισσότερες από μία τιμές που αφορούν την ίδια αντιστοιχία. Όλα γίνονται με την τυπική σύνταξη και χωρίς επιπλέον χειρισμούς!
Από τον παρακάτω πίνακα, ας υποθέσουμε ότι θέλετε να ανακτήσετε όλα τα στοιχεία που αφορούν τον πωλητή που σας ενδιαφέρει (F2). Αυτό που πρέπει να κάνετε είναι να δώσετε ένα εύρος τιμών, όχι μία μόνο στήλη ή γραμμή, για το return_array επιχείρημα:
=XLOOKUP(F2, A2:A7, B2:D7)
Πληκτρολογείτε τον τύπο στο επάνω αριστερό κελί της περιοχής αποτελεσμάτων και το Excel διαχέει αυτόματα τα αποτελέσματα σε γειτονικά κενά κελιά. Στην περίπτωσή μας, η σειρά επιστροφής (B2:D7) περιλαμβάνει 3 στήλες ( Ημερομηνία , Στοιχείο και Ποσό ), και οι τρεις τιμές επιστρέφονται στην περιοχή G2:I2.
Αν προτιμάτε να τακτοποιήσετε τα αποτελέσματα κάθετα σε μια στήλη, τοποθετήστε το XLOOKUP στη συνάρτηση TRANSPOSE για να αναποδογυρίσετε τον επιστρεφόμενο πίνακα:
=TRANSPOSE(XLOOKUP(G1, A2:A7, B2:D7))
Με παρόμοιο τρόπο, μπορείτε να επιστρέψετε μια ολόκληρη στήλη δεδομένων, ας πούμε την Ποσό Για το σκοπό αυτό, χρησιμοποιήστε το κελί F1 που περιέχει το "Ποσό" ως lookup_value , το εύρος A1:D1 που περιέχει τις επικεφαλίδες των στηλών ως lookup_array και το εύρος A2:D7 που περιέχει όλα τα δεδομένα ως return_array .
=XLOOKUP(F1, A1:D1, A2:D7)
Σημείωση. Επειδή οι πολλαπλές τιμές συμπληρώνονται σε γειτονικά κελιά, βεβαιωθείτε ότι έχετε αρκετά κενά κελιά προς τα δεξιά ή προς τα κάτω. Εάν το Excel δεν μπορεί να βρει αρκετά κενά κελιά, εμφανίζεται ένα σφάλμα #SPILL!
Συμβουλή. Το XLOOKUP μπορεί όχι μόνο να επιστρέψει πολλαπλές καταχωρίσεις αλλά και να τις αντικαταστήσει με άλλες τιμές που καθορίζετε. Ένα παράδειγμα μιας τέτοιας μαζικής αντικατάστασης μπορείτε να βρείτε εδώ: Πώς να αναζητήσετε και να αντικαταστήσετε πολλαπλές τιμές με το XLOOKUP.
XLOOKUP με πολλαπλά κριτήρια
Ένα άλλο μεγάλο πλεονέκτημα του XLOOKUP είναι ότι χειρίζεται πίνακες εγγενώς. Λόγω αυτής της δυνατότητας, μπορείτε να αξιολογήσετε πολλαπλά κριτήρια απευθείας στο lookup_array επιχείρημα:
XLOOKUP(1, ( criteria_range1 = κριτήρια1 ) * ( criteria_range2 = κριτήρια2 ) * (...), return_array )Πώς λειτουργεί αυτή η φόρμουλα : Το αποτέλεσμα κάθε ελέγχου κριτηρίων είναι ένας πίνακας τιμών TRUE και FALSE. Ο πολλαπλασιασμός των πινάκων μετατρέπει τα TRUE και FALSE σε 1 και 0, αντίστοιχα, και παράγει τον τελικό πίνακα αναζήτησης. Όπως γνωρίζετε, ο πολλαπλασιασμός με το 0 δίνει πάντα μηδέν, οπότε στον πίνακα αναζήτησης, μόνο τα στοιχεία που πληρούν όλα τα κριτήρια αντιπροσωπεύονται από 1. Και επειδή η τιμή αναζήτησης είναι "1", το Excel παίρνει το πρώτο "1" στο lookup_array (πρώτη αντιστοιχία) και επιστρέφει την τιμή από return_array στην ίδια θέση.
Για να δούμε τον τύπο σε δράση, ας τραβήξουμε ένα ποσό από το D2:D10 ( return_array ) με τους ακόλουθους όρους:
- Κριτήριο1 (ημερομηνία) = G1
- Κριτήρια2 (πωλητής) = G2
- Κριτήρια3 (στοιχείο) = G3
Με ημερομηνίες στο A2:A10 ( criteria_range1 ), ονόματα πωλητών στα B2:B10 ( criteria_range2 ) και στοιχεία στα C2:C10 ( criteria_range3 ), ο τύπος παίρνει αυτή τη μορφή:
=XLOOKUP(1, (B2:B10=G1) * (A2:A10=G2) * (C2:C10=G3), D2:D10)
Αν και η συνάρτηση XLOOKUP του Excel επεξεργάζεται πίνακες, λειτουργεί ως κανονικός τύπος και ολοκληρώνεται με ένα συνηθισμένο πάτημα του πλήκτρου Enter.
Ο τύπος XLOOKUP με πολλαπλά κριτήρια δεν περιορίζεται σε συνθήκες "ίσο με". Μπορείτε να χρησιμοποιήσετε και άλλους λογικούς τελεστές. Για παράδειγμα, για να φιλτράρετε τις παραγγελίες που έγιναν την ημερομηνία G1 ή νωρίτερα, βάλτε "<=G1" στο πρώτο κριτήριο:
=XLOOKUP(1, (A2:A10<=G1) * (B2:B10=G2) * (C2:C10=G3), D2:D10)
Διπλό XLOOKUP
Για να βρείτε μια τιμή στο σημείο τομής μιας συγκεκριμένης γραμμής και στήλης, εκτελέστε τη λεγόμενη διπλή αναζήτηση ή αναζήτηση μήτρας Ναι, το XLOOKUP του Excel μπορεί να το κάνει και αυτό! Απλώς ενστερνίζεστε μια συνάρτηση μέσα σε μια άλλη:
XLOOKUP( lookup_value1 , lookup_array1 , XLOOKUP( lookup_value2 , lookup_array2 , data_values ))Πώς λειτουργεί αυτή η φόρμουλα : Ο τύπος βασίζεται στην ικανότητα του XLOOKUP να επιστρέφει μια ολόκληρη γραμμή ή στήλη. Η εσωτερική συνάρτηση αναζητά την τιμή αναζήτησης και επιστρέφει μια στήλη ή μια γραμμή σχετικών δεδομένων. Αυτός ο πίνακας πηγαίνει στην εξωτερική συνάρτηση ως η return_array .
Για αυτό το παράδειγμα, θα βρούμε τις πωλήσεις που πραγματοποίησε ένας συγκεκριμένος πωλητής μέσα σε ένα συγκεκριμένο τρίμηνο. Για το σκοπό αυτό, εισάγουμε τις τιμές αναζήτησης στο H1 (όνομα πωλητή) και στο H2 (τρίμηνο) και κάνουμε ένα αμφίδρομο Xlookup με τον ακόλουθο τύπο:
=XLOOKUP(H1, A2:A6, XLOOKUP(H2, B1:E1, B2:E6))
Ή το αντίστροφο:
=XLOOKUP(H2, B1:E1, XLOOKUP(H1, A2:A6, B2:E6))
Όπου A2:A6 είναι τα ονόματα των πωλητών, B1:E1 είναι τεταρτημόρια (επικεφαλίδες στηλών) και B2:E6 είναι τιμές δεδομένων.
Μια αμφίδρομη αναζήτηση μπορεί επίσης να πραγματοποιηθεί με έναν τύπο INDEX Match και με μερικούς άλλους τρόπους. Για περισσότερες πληροφορίες, ανατρέξτε στην ενότητα Αμφίδρομη αναζήτηση στο Excel.
Εάν σφάλμα XLOOKUP
Όταν η τιμή αναζήτησης δεν βρεθεί, το Excel XLOOKUP επιστρέφει ένα σφάλμα #N/A. Αρκετά οικείο και κατανοητό για τους έμπειρους χρήστες, μπορεί να είναι μάλλον μπερδεμένο για τους αρχάριους. Για να αντικαταστήσετε την τυπική σημείωση σφάλματος με ένα φιλικό προς το χρήστη μήνυμα, πληκτρολογήστε το δικό σας κείμενο στο 4ο όρισμα με όνομα if_not_found .
Επιστροφή στο πρώτο παράδειγμα που συζητήθηκε σε αυτό το σεμινάριο. Εάν κάποιος εισάγει ένα μη έγκυρο όνομα ωκεανού στο E1, ο ακόλουθος τύπος θα του πει ρητά ότι "Δεν βρέθηκε αντιστοιχία":
=XLOOKUP(E1, A2:A6, B2:B6, "Δεν βρέθηκε καμία αντιστοιχία")
Σημειώσεις:
- Το if_not_found παγιδεύει μόνο τα σφάλματα #N/A, όχι όλα τα σφάλματα.
- Τα σφάλματα #N/A μπορούν επίσης να αντιμετωπιστούν με IFNA και VLOOKUP, αλλά η σύνταξη είναι λίγο πιο πολύπλοκη και ο τύπος είναι πιο μακροσκελής.
XLOOKUP με ευαισθησία στην πεζότητα
Από προεπιλογή, η συνάρτηση XLOOKUP αντιμετωπίζει τα πεζά και κεφαλαία γράμματα ως τους ίδιους χαρακτήρες. Για να γίνει ευαίσθητη στην πεζότητα, χρησιμοποιήστε τη συνάρτηση EXACT για το lookup_array επιχείρημα:
XLOOKUP(TRUE, EXACT( lookup_value , lookup_array ), return_array )Πώς λειτουργεί αυτή η φόρμουλα : Η συνάρτηση EXACT συγκρίνει την τιμή αναζήτησης με κάθε τιμή στον πίνακα lookup και επιστρέφει TRUE αν είναι ακριβώς ίδιες, συμπεριλαμβανομένης της πεζότητας των γραμμάτων, διαφορετικά FALSE. Αυτός ο πίνακας λογικών τιμών πηγαίνει στο lookup_array Ως αποτέλεσμα, το XLOOKUP αναζητά την τιμή TRUE στον παραπάνω πίνακα και επιστρέφει μια αντιστοιχία από τον πίνακα επιστροφής.
Για παράδειγμα, για να λάβετε την τιμή από B2:B7 ( return_array ) για το στοιχείο στο E1 ( lookup_value) , ο τύπος στο E2 είναι:
=XLOOKUP(TRUE, EXACT(E1, A2:A7), B2:B7, "Δεν βρέθηκε")
Σημείωση: Εάν υπάρχουν δύο ή περισσότερες ακριβώς ίδιες τιμές στον πίνακα αναζήτησης (συμπεριλαμβανομένης της πεζότητας των γραμμάτων), επιστρέφεται η πρώτη αντιστοιχία που βρέθηκε.
Το Excel XLOOKUP δεν λειτουργεί
Εάν ο τύπος σας δεν λειτουργεί σωστά ή οδηγεί σε σφάλμα, το πιθανότερο είναι ότι αυτό οφείλεται στους ακόλουθους λόγους:
Το XLOOKUP δεν είναι διαθέσιμο στο Excel μου
Η συνάρτηση XLOOKUP δεν είναι συμβατή προς τα πίσω. Είναι διαθέσιμη μόνο στο Excel για το Microsoft 365 και το Excel 2021 και δεν εμφανίζεται σε προηγούμενες εκδόσεις.
Το XLOOKUP επιστρέφει λάθος αποτέλεσμα
Εάν ο προφανώς σωστός τύπος Xlookup σας επιστρέφει μια λανθασμένη τιμή, οι πιθανότητες είναι ότι η περιοχή αναζήτησης ή επιστροφής "μετατοπίστηκε" όταν ο τύπος αντιγράφηκε προς τα κάτω ή προς τα απέναντι. Για να αποτρέψετε αυτό το ενδεχόμενο, φροντίστε να κλειδώνετε πάντα και τις δύο περιοχές με απόλυτες αναφορές κελιών (όπως $A$2:$A$10).
Το XLOOKUP επιστρέφει σφάλμα #N/A
Ένα σφάλμα #N/A σημαίνει απλώς ότι η τιμή αναζήτησης δεν βρέθηκε. Για να το διορθώσετε, δοκιμάστε να αναζητήσετε μια προσεγγιστική αντιστοιχία ή ενημερώστε τους χρήστες σας ότι δεν βρέθηκε καμία αντιστοιχία.
Το XLOOKUP επιστρέφει σφάλμα #VALUE
Εμφανίζεται σφάλμα #VALUE! εάν οι πίνακες αναζήτησης και επιστροφής έχουν ασύμβατες διαστάσεις. Για παράδειγμα, δεν είναι δυνατή η αναζήτηση σε έναν οριζόντιο πίνακα και η επιστροφή τιμών από έναν κατακόρυφο πίνακα.
Το XLOOKUP επιστρέφει σφάλμα #REF
Το σφάλμα #REF! εμφανίζεται όταν γίνεται αναζήτηση μεταξύ δύο διαφορετικών βιβλίων εργασίας, εκ των οποίων το ένα είναι κλειστό. Για να διορθώσετε το σφάλμα, απλώς ανοίξτε και τα δύο αρχεία.
Όπως μόλις είδατε, η XLOOKUP έχει πολλά φοβερά χαρακτηριστικά που την καθιστούν τη συνάρτηση για σχεδόν κάθε αναζήτηση στο Excel. Σας ευχαριστώ για την ανάγνωση και ελπίζω να σας δω στο blog μας την επόμενη εβδομάδα!
Βιβλίο ασκήσεων για κατέβασμα
Παραδείγματα τύπων XLOOKUP του Excel (.xlsx αρχείο)