XLOOKUP στο Excel: Πώς Λειτουργεί με Παραδείγματα

XLOOKUP στο Excel: Μάθετε τη σύνταξη της συνάρτησης με παραδείγματα και ασκήσεις και δείτε πώς αξιοποιείται επαγγελματικά για αναζήτηση και διαχείριση δεδομένων.

Εκπαιδευτής Ενηλίκων Νικόλαος Μπαλατσούκας Τηλ. (+30) 6977676785

Η συνάρτηση XLOOKUP στο excel αποτελεί βελτιωμένη έκδοση της vlookup. Ουσιαστικά η xlookup κάνει την ίδια δουλειά με τη vlookup αλλά με πιο ευέλικτο τρόπο. Χρησιμοποούμε την xlookup όταν γνωρίζουμε την τιμή μιας στήλης σε έναν πίνακα και θέλουμε να πάρουμε την τιμή στην ίδια γραμμή από μια άλλη στήλη.

Σύνταξη της XLOOKUP

Στη σύνταξη της XLOOKUP υπάρχουν τρεις υποχρεωτικές παράμετροι και μία προαιρετική.

Και εδώ βλέπουμε τη σύνταξη:
=XLOOKUP(lookup_value; lookup_array; return_array; [if_not_found])

Παράδειγμα σύνταξης της XLOOKUP

Υποθέτουμε ότι έχουμε το ακόλουθο dataset:

σύνταξη της XLOOKUP

Εφαρμόζουμε την XLOOKUP:
=XLOOKUP(1004;A2:A11;E2:E11;"Δεν βρέθηκε")

Επεξήγηση του τύπου:

Το αποτέλεσμα είναι 2100.

Σύγκριση της XLOOKUP με άλλες συναρτήσεις στο excel

Η XLOOKUP κάνει ότι και η VLOOKUP, αλλά πιο εύκολα και πιο ευέλικτα. Με την XLOOKUP η αναζήτηση μπορεί να γίνει είτε προς δεξιά ή προς τα αριστερά ενώ στη VLOOKUP μόνο προς τα δεξιά. Επίσης η XLOOKUP επιτρέπει exact match, approximate match, custom "Not Found", αναζήτηση πρώτης/τελευταίας εμφάνισης. Παρόμοια δουλειά κάνουν και οι συναρτήσεις INDEX/MATCH.

Σύγκριση της XLOOKUP με τη VLOOKUP

Ακολουθούν παραδείγματα που βοηθούν να καταλάβουμε τη διαφορά ανάμεσα σε XLOOKUP και VLOOKUP

1. Απλή αναζήτηση προς τα δεξιά

Θέλουμε από το EmpID 1004 να βρούμε το Salary.

VLOOKUP
=VLOOKUP(1004;A2:F11;5;FALSE)
Αποτέλεσμα: 2100

XLOOKUP
=XLOOKUP(1004;A2:A11;E2:E11)
Αποτέλεσμα: 2100

Εδώ κάνουν ουσιαστικά την ίδια δουλειά. Η XLOOKUP όμως δεν χρειάζεται να μετρήσουμε ότι το Salary είναι η 5η στήλη.

2. Αναζήτηση προς τα αριστερά

Θέλουμε από το ManagerID 9005 να βρούμε το Name.
=XLOOKUP(9005;F2:F11;B2:B11)
Αποτέλεσμα: Petros
Αυτό είναι σημαντική διαφορά: η στήλη αναζήτησης F βρίσκεται δεξιά από τη στήλη αποτελέσματος B.

Η κλασική VLOOKUP:
=VLOOKUP(9005;F2:B11;...;FALSE)
δεν μπορεί να λειτουργήσει έτσι, γιατί η VLOOKUP αναζητά στην πρώτη στήλη του table array και επιστρέφει τιμή από στήλη στα δεξιά.

3. Exact match

Θέλουμε να βρούμε το Department του εργαζομένου 1008.
=XLOOKUP(1008;A2:A11;C2:C11)
Αποτέλεσμα: Marketing
Στην XLOOKUP το exact match είναι το default.

Στη VLOOKUP συνήθως γράφουμε:
=VLOOKUP(1008;A2:F11;3;FALSE)
Το FALSE είναι απαραίτητο για exact match.

4. Custom "Not Found"

Αν ψάξουμε EmpID που δεν υπάρχει, π.χ. 1050:
=XLOOKUP(1050;A2:A11;B2:B11;"Δεν βρέθηκε εργαζόμενος")
Αποτέλεσμα:
Δεν βρέθηκε εργαζόμενος

Με VLOOKUP θα χρειαζόμασταν συνήθως:
=IFERROR(VLOOKUP(1050;A2:F11;2;FALSE);"Δεν βρέθηκε εργαζόμενος")

Άρα η XLOOKUP έχει ενσωματωμένο το [if_not_found].

5. Πρώτη εμφάνιση

Εδώ το dataset σου είναι πολύ καλό παράδειγμα, επειδή υπάρχουν επαναλαμβανόμενα ManagerID.
Για το ManagerID 9004 υπάρχουν:
- Kostas — EmpID 1006
- Sofia — EmpID 1007

Αν γράψουμε:
=XLOOKUP(9004;F2:F11;B2:B11)
παίρνουμε:
Kostas
Η XLOOKUP από προεπιλογή ψάχνει από πάνω προς τα κάτω, άρα επιστρέφει την πρώτη εμφάνιση.

6. Τελευταία εμφάνιση

Αν θέλουμε για το ίδιο ManagerID την τελευταία εμφάνιση:
=XLOOKUP(9004;F2:F11;B2:B11;"";0;-1)
Αποτέλεσμα:
Sofia
Το τελευταίο όρισμα -1 σημαίνει:
Search last-to-first
Δηλαδή η XLOOKUP ξεκινά την αναζήτηση από το τέλος προς την αρχή.
Αυτό είναι μια δυνατότητα που δεν προσφέρει τόσο απλά η VLOOKUP.

7. Επιστροφή πολλών στηλών ταυτόχρονα

Ένα ακόμη πολύ καλό παράδειγμα:
=XLOOKUP(1005;A2:A11;B2:F11)
Η XLOOKUP μπορεί να επιστρέψει ολόκληρη τη γραμμή.

Σύγκριση της XLOOKUP με τη MATCH / INDEX

Σε πολύ κόσμο υπάρχει η αντίληψη ότι η XLOOKUP είναι πάντα καλύτερη. Αυτό ισχύει για τις περισσότερες καθημερινές αναζητήσεις στις οποίες η XLOOKUP είναι πιο βολική. Όμως υπάρχουν περιπτώσεις όπου το INDEX/MATCH έχει είναι πιο κατάλληλο ή πιο ευέλικτο.

1. Απλό lookup: καλύτερο το XLOOKUP

Θέλουμε το Salary του EmpID 1005.

XLOOKUP
=XLOOKUP(1005;A2:A11;E2:E11)
Επιστρέφει: 2800

INDEX/MATCH
=INDEX(E2:E11;MATCH(1005;A2:A11;0))
Επιστρέφει: 2800

Εδώ η XLOOKUP έχει σαφές πρακτικό πλεονέκτημα: λιγότερη σύνταξη και διαβάζεται ευκολότερα.

2. Δεν υπάρχει η τιμή καλύτερο το XLOOKUP

Ψάχνουμε EmpID 1050, που δεν υπάρχει.

XLOOKUP
=XLOOKUP(1050;A2:A11;B2:B11;"Δεν βρέθηκε")

INDEX/MATCH
=IFERROR(INDEX(B2:B11;MATCH(1050;A2:A11;0));"Δεν βρέθηκε")

Η XLOOKUP έχει το [if_not_found] ενσωματωμένο.
Πλεονέκτημα: XLOOKUP, ειδικά όταν θέλεις καθαρούς τύπους για business users.

3. Θέλω την τελευταία εμφάνιση καλύτερο το XLOOKUP

Στο dataset το ManagerID 9005 εμφανίζεται δύο φορές:
- Petros
- Dimitra
Θέλουμε τον τελευταίο εργαζόμενο με ManagerID 9005.

Με XLOOKUP:
=XLOOKUP(9005;F2:F11;B2:B11;"";0;-1)
Επιστρέφει: Dimitra
Το -1 λέει στην XLOOKUP να ψάξει από κάτω προς τα πάνω.
Με INDEX/MATCH το αντίστοιχο lookup τελευταίας εμφάνισης απαιτεί πιο σύνθετη τεχνική.

Πλεονέκτημα: XLOOKUP.

4. Θέλω πολλά στοιχεία μαζί καλύτερο το XLOOKUP

Θέλουμε για τον εργαζόμενο 1005 όλα τα στοιχεία από Name έως ManagerID:
=XLOOKUP(1005;A2:A11;B2:F11)
Μπορεί να κάνει spill και να επιστρέψει:
Eleni | IT | Senior | 2800 | 9003
Με ένα lookup παίρνεις πολλές στήλες.
Πλεονέκτημα: XLOOKUP, ειδικά στο σύγχρονο Excel με dynamic arrays.

Πού αρχίζει να έχει ενδιαφέρον το INDEX/MATCH;

5. Κάνω μία αναζήτηση και θέλω να χρησιμοποιήσω τη θέση πολλές φορές → INDEX/MATCH

Ας πούμε ότι στο H2 έχουμε το EmpID:
1005
Μπορούμε να βρούμε μία φορά τη θέση:
=MATCH(H2;A2:A11;0)
Επιστρέφει: 5
Και μετά να χρησιμοποιούμε αυτή τη θέση σε διαφορετικές στήλες:
=INDEX(B2:B11;5)
Επιστρέφει: Eleni
=INDEX(C2:C11;5)
Επιστρέφει: IT
=INDEX(E2:E11;5)
Επιστρέφει: 2800

Εδώ φαίνεται μια σημαντική εννοιολογική διαφορά:
XLOOKUP: «Βρες Χ και επέστρεψε Υ.»
INDEX/MATCH: «Βρες πρώτα πού βρίσκεται το Χ. Μετά χρησιμοποίησε αυτή τη θέση όπου θέλεις.»

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

6. Αναζήτηση και σε γραμμή και σε στήλη: καλύτερο το INDEX/MATCH

Εδώ το INDEX/MATCH δείχνει ένα από τα πιο ωραία πλεονεκτήματά του.

Ας υποθέσουμε ότι θέλουμε:
«Βρες τον εργαζόμενο 1005 και επέστρεψε τη στήλη που γράφει Salary.»
Δεν θέλουμε δηλαδή να βάλουμε hard-coded τη στήλη E.
Μπορούμε να γράψουμε:
=INDEX(A2:F11;
MATCH(1005;A2:A11;0);
MATCH("Salary";A1:F1;0))

Το πρώτο MATCH βρίσκει:
ποια γραμμή; Επιστρέφει: EmpID 1005
Το δεύτερο MATCH:
ποια στήλη; Επιστρέφει: Salary
και το INDEX βρίσκει την τομή.

Αυτό είναι το κλασικό two-way lookup και είναι μια περίπτωση όπου το INDEX/MATCH είναι πολύ φυσικό.

Χρήση της XLOOKUP στην ανάλυση δεδομένων

Η XLOOKUP είναι πολύ χρήσιμη στην ανάλυση δεδομένων διότι προσφέρει δυνατότητες data enrichment, mapping, joining πληροφοριών και reconciliation μεταξύ datasets.

Στην πράξη, data enrichment και joining επικαλύπτονται αρκετά: το joining είναι ο μηχανισμός με τον οποίο συχνά πραγματοποιούμε το enrichment. Το reconciliation έχει διαφορετικό στόχο: δεν θέλουμε απλώς να προσθέσουμε δεδομένα, αλλά να εντοπίσουμε αποκλίσεις μεταξύ δύο πηγών.

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

1. Data Enrichment — εμπλουτισμός δεδομένων

Έστω ότι έχουμε δεύτερο dataset με πληροφορίες για τα Departments:
Data Enrichment στο excel με XLOOKUP
Θέλουμε να προσθέσουμε το Location στον αρχικό πίνακα εργαζομένων.
=XLOOKUP(C2;$H$2:$H$6;$I$2:$I$6;"Unknown")
Για την Anna, η XLOOKUP παίρνει το Sales, το βρίσκει στον δεύτερο πίνακα και επιστρέφει Athens.
Ο αρχικός πίνακας εμπλουτίζεται:
excel XLOOKUP Data Enrichment αποτέλεσμα συνάρτησης
Αυτό είναι data enrichment: παίρνουμε ένα dataset και του προσθέτουμε πληροφορία από άλλο dataset μέσω ενός κοινού key (Department).

2. Mapping — αντιστοίχιση τιμών

Έστω ότι θέλουμε να μετατρέψουμε τα Level σε αριθμητικό Level Score:
excel XLOOKUP αντιστοίχιση τιμών
Χρησιμοποιούμε:
=XLOOKUP(D2;$H$2:$H$4;$I$2:$I$4;"Unknown")
και παίρνουμε:
excel XLOOKUP αποτέλεσμα αντιστοίχισης τιμών
Εδώ η XLOOKUP λειτουργεί ως mapping tool:
Junior → 1, Mid → 2, Senior → 3
Αυτό είναι ιδιαίτερα χρήσιμο όταν θέλουμε να μετατρέψουμε codes, categories ή IDs σε πιο χρήσιμες τιμές.

3. Joining — ένωση πληροφοριών από δύο datasets

Έστω ότι το HR μας στέλνει δεύτερο αρχείο:
ένωση πληροφοριών από δύο datasets στο excel με XLOOKUP
Κοινό πεδίο μεταξύ των δύο datasets είναι το EmpID.
Στον αρχικό πίνακα γράφουμε:
=XLOOKUP(A2;$H$2:$H$6;$I$2:$I$6;"No Bonus")
Έτσι ουσιαστικά κάνουμε ένα απλό join:
Employees + Bonus μέσω EmpID
και παίρνουμε:
αποτέλεσμα ένωσης πληροφοριών από δύο datasets στο excel με XLOOKUP
Η λογική είναι αντίστοιχη με ένα join βάσει key που θα κάναμε σε SQL, Power Query ή Python.

4. Reconciliation — έλεγχος δύο datasets

Αυτό είναι ίσως το πιο ωραίο παράδειγμα για data analysis.
Έστω ότι έχουμε το Salary από το HR system και θέλουμε να το συγκρίνουμε με ένα δεύτερο αρχείο από το Payroll:
έλεγχος δύο datasets στο excel με XLOOKUP
Πρώτα φέρνουμε το Payroll Salary:
=XLOOKUP(A2;$H$2:$H$6;$I$2:$I$6;"Not Found")
και μετά συγκρίνουμε:
=IF(E2=G2;"OK";"Mismatch")
Αποτέλεσμα:
αποτέλεσμα ελέγχου δύο datasets στο excel με XLOOKUP
Αυτό είναι reconciliation: χρησιμοποιούμε ένα κοινό identifier (EmpID) για να αντιστοιχίσουμε εγγραφές από δύο πηγές και στη συνέχεια ελέγχουμε αν οι πληροφορίες συμφωνούν.

Ασκήσεις XLOOKUP

Ακολουθούν ασκήσεις για να κάνετε εξάσκηση στην XLOOKUP. Σε όλες τις ασκήσεις χρησιμοποιούμε το παραπάνω dataset:

  1. Βρες το Name του εργαζομένου με EmpID 1006.
  2. Βρες το Salary του εργαζομένου με EmpID 1008.
  3. Βρες το Department του εργαζομένου με EmpID 1003.
  4. Κάνε αναζήτηση με βάση το Name: για "Eleni", επέστρεψε το EmpID της.
  5. Για "Petros", επέστρεψε το Salary του.
  6. Πρόκληση: Ο χρήστης γράφει ένα EmpID. Αν υπάρχει, εμφάνισε το όνομα του εργαζομένου. Αν δεν υπάρχει, εμφάνισε "Employee not found".

Αν θέλετε να εξασκηθείτε περισσότερο, στην ιστοσελίδα μας θα βρείτε πολλές ασκήσεις excel.

Σεμινάρια excel για εργαζομένους

Για εργαζομένους και στελέχη που θέλουν να χρησιμοποιούν το Excel με μεγαλύτερη ταχύτητα και αποτελεσματικότητα, πραγματοποιούνται εξειδικευμένα σεμινάρια Excel για επιχειρήσεις από τον εκπαιδευτή ενηλίκων Νικόλαο Μπαλατσούκα. Το εκπαιδευτικό πρόγραμμα μπορεί να καλύψει από βασικές λειτουργίες μέχρι προχωρημένες συναρτήσεις Excel, ανάλογα με τις ανάγκες των συμμετεχόντων. Παράλληλα, έχουμε δημοσιεύσει στην ιστοσελίδα μας πολλά αναλυτικά παραδείγματα, ώστε οι επισκέπτες να έχουν πρόσβαση σε χρήσιμο υλικό για μελέτη και εξάσκηση. Εδώ μπορείτε να ενημερωθείτε για τα σεμινάρια excel για εργαζομένους.