Πίνακας περιεχομένων
Αυτό το σεμινάριο δείχνει πώς να χρησιμοποιείτε τα INDEX και MATCH στο Excel και πώς είναι καλύτερα από το VLOOKUP.
Σε μερικά πρόσφατα άρθρα, κάναμε μια καλή προσπάθεια να εξηγήσουμε τα βασικά της συνάρτησης VLOOKUP στους αρχάριους και να δώσουμε πιο σύνθετα παραδείγματα τύπων VLOOKUP στους ισχυρούς χρήστες. Και τώρα, θα προσπαθήσω αν όχι να σας πείσω να μην χρησιμοποιήσετε τη VLOOKUP, τουλάχιστον να σας δείξω έναν εναλλακτικό τρόπο για να κάνετε μια κάθετη αναζήτηση στο Excel.
"Τι το χρειάζομαι αυτό;", θα αναρωτηθείτε ίσως. Επειδή το VLOOKUP έχει πολλούς περιορισμούς που μπορεί να σας εμποδίσουν να έχετε το επιθυμητό αποτέλεσμα σε πολλές περιπτώσεις. Από την άλλη πλευρά, ο συνδυασμός INDEX MATCH είναι πιο ευέλικτος και έχει πολλά φοβερά χαρακτηριστικά που τον καθιστούν ανώτερο από το VLOOKUP από πολλές απόψεις.
Οι συναρτήσεις INDEX και MATCH του Excel - τα βασικά
Δεδομένου ότι ο στόχος αυτού του σεμιναρίου είναι να επιδείξει έναν εναλλακτικό τρόπο για να κάνετε ένα vlookup στο Excel χρησιμοποιώντας έναν συνδυασμό των συναρτήσεων INDEX και MATCH, δεν θα σταθούμε πολύ στη σύνταξη και τις χρήσεις τους. Θα καλύψουμε μόνο τα ελάχιστα απαραίτητα για την κατανόηση της γενικής ιδέας και στη συνέχεια θα ρίξουμε μια εις βάθος ματιά σε παραδείγματα τύπων που αποκαλύπτουν όλα τα πλεονεκτήματα της χρήσης της INDEX MATCH αντί της VLOOKUP.
Συνάρτηση INDEX - σύνταξη και χρήση
Η συνάρτηση INDEX του Excel επιστρέφει μια τιμή σε έναν πίνακα με βάση τους αριθμούς γραμμής και στήλης που καθορίζετε. Η σύνταξη της συνάρτησης INDEX είναι απλή:
INDEX(array, row_num, [column_num])Ακολουθεί μια πολύ απλή επεξήγηση κάθε παραμέτρου:
- array - μια σειρά κελιών από τα οποία θέλετε να επιστρέψετε μια τιμή.
- row_num - ο αριθμός γραμμής στον πίνακα από τον οποίο θέλετε να επιστρέψετε μια τιμή. Αν παραλειφθεί, απαιτείται το column_num.
- column_num - ο αριθμός στήλης στον πίνακα από τον οποίο θέλετε να επιστρέψετε μια τιμή. Αν παραλειφθεί, απαιτείται row_num.
Για περισσότερες πληροφορίες, ανατρέξτε στη λειτουργία INDEX του Excel.
Και εδώ είναι ένα παράδειγμα του τύπου INDEX στην απλούστερη μορφή του:
=INDEX(A1:C10,2,3)
Ο τύπος ψάχνει στα κελιά A1 έως C10 και επιστρέφει την τιμή του κελιού της 2ης γραμμής και της 3ης στήλης, δηλαδή του κελιού C2.
Πολύ εύκολο, σωστά; Ωστόσο, όταν εργάζεστε με πραγματικά δεδομένα, δύσκολα θα ξέρετε ποια γραμμή και ποια στήλη θέλετε, και εδώ είναι που η συνάρτηση MATCH είναι χρήσιμη.
Συνάρτηση MATCH - σύνταξη και χρήση
Η συνάρτηση MATCH του Excel αναζητά μια τιμή αναζήτησης σε μια περιοχή κελιών και επιστρέφει την σχετική θέση αυτής της τιμής στο εύρος.
Η σύνταξη της συνάρτησης MATCH έχει ως εξής:
MATCH(lookup_value, lookup_array, [match_type])- lookup_value - τον αριθμό ή την τιμή κειμένου που αναζητάτε.
- lookup_array - ένα εύρος κυττάρων που αναζητούνται.
- match_type - καθορίζει αν θα επιστρέφεται ακριβής αντιστοιχία ή η πλησιέστερη αντιστοιχία:
- 1 ή παραλείπεται - βρίσκει τη μεγαλύτερη τιμή που είναι μικρότερη ή ίση με την τιμή αναζήτησης. Απαιτεί ταξινόμηση του πίνακα αναζήτησης σε αύξουσα σειρά.
- 0 - βρίσκει την πρώτη τιμή που είναι ακριβώς ίση με την τιμή αναζήτησης. Στο συνδυασμό INDEX / MATCH, χρειάζεστε σχεδόν πάντα μια ακριβή αντιστοιχία, οπότε ορίζετε το τρίτο όρισμα της συνάρτησης MATCH σε 0.
- -1 - βρίσκει τη μικρότερη τιμή που είναι μεγαλύτερη ή ίση με την lookup_value. Απαιτεί ταξινόμηση του πίνακα lookup σε φθίνουσα σειρά.
Για παράδειγμα, εάν η περιοχή B1:B3 περιέχει τις τιμές "New-York", "Paris", "London", ο παρακάτω τύπος επιστρέφει τον αριθμό 3, επειδή το "London" είναι η τρίτη καταχώρηση στην περιοχή:
=MATCH("London",B1:B3,0)
Για περισσότερες πληροφορίες, ανατρέξτε στη λειτουργία MATCH του Excel.
Εκ πρώτης όψεως, η χρησιμότητα της συνάρτησης MATCH μπορεί να φαίνεται αμφισβητήσιμη. Ποιος ενδιαφέρεται για τη θέση μιας τιμής σε ένα εύρος τιμών; Αυτό που θέλουμε να γνωρίζουμε είναι η ίδια η τιμή.
Επιτρέψτε μου να σας υπενθυμίσω ότι η σχετική θέση της τιμής αναζήτησης (δηλ. οι αριθμοί γραμμών και στηλών) είναι ακριβώς αυτό που πρέπει να δώσετε στην εντολή row_num και column_num Όπως θυμάστε, το Excel INDEX μπορεί να βρει την τιμή στη συμβολή μιας δεδομένης γραμμής και στήλης, αλλά δεν μπορεί να προσδιορίσει ποια ακριβώς γραμμή και στήλη θέλετε.
Πώς να χρησιμοποιήσετε τη συνάρτηση INDEX MATCH στο Excel
Τώρα που γνωρίζετε τα βασικά, πιστεύω ότι έχει ήδη αρχίσει να γίνεται κατανοητό πώς λειτουργούν μαζί η MATCH και η INDEX. Με λίγα λόγια, η INDEX βρίσκει την τιμή αναζήτησης με βάση τους αριθμούς των στηλών και των γραμμών και η MATCH παρέχει αυτούς τους αριθμούς. Αυτό είναι όλο!
Για κάθετη αναζήτηση, χρησιμοποιείτε τη συνάρτηση MATCH μόνο για τον προσδιορισμό του αριθμού γραμμής και παρέχετε το εύρος των στηλών απευθείας στην INDEX:
INDEX ( στήλη για να επιστρέψετε μια τιμή από , MATCH ( τιμή αναζήτησης , στήλη για να κοιτάξετε προς τα πάνω , 0))Ακόμα δυσκολεύεστε να το καταλάβετε; Ίσως είναι πιο εύκολο να το καταλάβετε με ένα παράδειγμα. Ας υποθέσουμε ότι έχετε έναν κατάλογο με τις πρωτεύουσες των κρατών και τον πληθυσμό τους:
Για να βρείτε τον πληθυσμό μιας συγκεκριμένης πρωτεύουσας, π.χ. της πρωτεύουσας της Ιαπωνίας, χρησιμοποιήστε τον ακόλουθο τύπο INDEX MATCH:
=INDEX(C2:C10, MATCH("Japan", A2:A10, 0))
Τώρα, ας αναλύσουμε τι ακριβώς κάνει κάθε συστατικό αυτού του τύπου:
- Η συνάρτηση MATCH αναζητά την τιμή αναζήτησης "Japan" στο εύρος A2:A10 και επιστρέφει τον αριθμό 3, επειδή η "Japan" είναι η τρίτη στον πίνακα αναζήτησης.
- Ο αριθμός γραμμής πηγαίνει απευθείας στο row_num όρισμα της INDEX, δίνοντάς της εντολή να επιστρέψει μια τιμή από την εν λόγω γραμμή.
Έτσι, ο παραπάνω τύπος μετατρέπεται σε ένα απλό INDEX(C2:C,3) που λέει ότι πρέπει να γίνει αναζήτηση στα κελιά C2 έως C10 και να αντληθεί η τιμή από το 3ο κελί σε αυτή την περιοχή, δηλαδή το C4, επειδή ξεκινάμε να μετράμε από τη δεύτερη γραμμή.
Δεν θέλετε να εισάγετε την πόλη στον τύπο; Εισάγετε την πόλη σε κάποιο κελί, ας πούμε στο F1, δώστε την αναφορά του κελιού στην εντολή MATCH και θα λάβετε έναν δυναμικό τύπο αναζήτησης:
=INDEX(C2:C10, MATCH(F1,A2:A10,0))
Σημαντική σημείωση! Ο αριθμός των γραμμών στο array όρισμα του INDEX θα πρέπει να αντιστοιχεί στον αριθμό των γραμμών της lookup_array όρισμα της MATCH, διαφορετικά ο τύπος θα παράγει εσφαλμένο αποτέλεσμα.
Περίμενε, περίμενε... γιατί δεν χρησιμοποιούμε απλά τον ακόλουθο τύπο Vlookup; Ποιος ο λόγος να χάνουμε χρόνο προσπαθώντας να καταλάβουμε τις μυστικές ανατροπές του Excel MATCH INDEX;
=VLOOKUP(F1, A2:C10, 3, FALSE)
Σε αυτή την περίπτωση, δεν έχει κανένα νόημα :) Αυτό το απλό παράδειγμα είναι μόνο για σκοπούς επίδειξης, ώστε να έχετε μια αίσθηση του πώς λειτουργούν μαζί οι λειτουργίες INDEX και MATCH. Άλλα παραδείγματα που ακολουθούν παρακάτω θα σας δείξουν την πραγματική δύναμη αυτού του συνδυασμού που αντιμετωπίζει εύκολα πολλά σύνθετα σενάρια όταν το VLOOKUP σκοντάφτει.
Συμβουλές:
- Στο Excel 365 και στο Excel 2021, μπορείτε να χρησιμοποιήσετε έναν πιο σύγχρονο τύπο INDEX XMATCH.
- Για το Google Sheets, δείτε παραδείγματα τύπων με INDEX MATCH σε αυτό το άρθρο.
INDEX MATCH vs. VLOOKUP
Όταν αποφασίζετε ποια συνάρτηση να χρησιμοποιήσετε για κάθετες αναζητήσεις, οι περισσότεροι γκουρού του Excel συμφωνούν ότι η INDEX MATCH είναι πολύ καλύτερη από την VLOOKUP. Ωστόσο, πολλοί άνθρωποι εξακολουθούν να παραμένουν με την VLOOKUP, πρώτον, επειδή είναι απλούστερη και, δεύτερον, επειδή δεν κατανοούν πλήρως όλα τα οφέλη από τη χρήση του τύπου INDEX MATCH στο Excel. Χωρίς τέτοια κατανόηση κανείς δεν είναι διατεθειμένος να επενδύσει το χρόνο του για να μάθει μια πιο σύνθετησύνταξη.
Παρακάτω, θα επισημάνω τα βασικά πλεονεκτήματα του MATCH INDEX έναντι του VLOOKUP, και εσείς θα αποφασίσετε αν είναι μια αξιόλογη προσθήκη στο οπλοστάσιό σας στο Excel.
4 κύριοι λόγοι για να χρησιμοποιήσετε INDEX MATCH αντί για VLOOKUP
- Αναζήτηση από δεξιά προς αριστερά. Όπως γνωρίζει κάθε μορφωμένος χρήστης, το VLOOKUP δεν μπορεί να κοιτάξει προς τα αριστερά, πράγμα που σημαίνει ότι η τιμή αναζήτησης θα πρέπει πάντα να βρίσκεται στην πιο αριστερή στήλη του πίνακα. Το INDEX MATCH μπορεί να κάνει αριστερή αναζήτηση με ευκολία! Το ακόλουθο παράδειγμα το δείχνει σε δράση: Πώς να κάνετε Vlookup μια τιμή προς τα αριστερά στο Excel.
- Εισαγωγή ή διαγραφή στηλών με ασφάλεια. Οι τύποι VLOOKUP σπάνε ή παρέχουν εσφαλμένα αποτελέσματα όταν διαγράφεται ή προστίθεται μια νέα στήλη σε έναν πίνακα αναζήτησης, επειδή η σύνταξη του VLOOKUP απαιτεί τον καθορισμό του αριθμού δείκτη της στήλης από την οποία θέλετε να αντλήσετε τα δεδομένα. Φυσικά, όταν προσθέτετε ή διαγράφετε στήλες, ο αριθμός δείκτη αλλάζει.
Με το INDEX MATCH, καθορίζετε το εύρος των στηλών επιστροφής και όχι έναν αριθμό δείκτη. Ως αποτέλεσμα, μπορείτε να εισάγετε και να αφαιρείτε όσες στήλες θέλετε χωρίς να ανησυχείτε για την ενημέρωση κάθε σχετικού τύπου.
- Κανένα όριο για το μέγεθος μιας τιμής αναζήτησης. Όταν χρησιμοποιείτε τη συνάρτηση VLOOKUP, το συνολικό μήκος των κριτηρίων αναζήτησης δεν μπορεί να υπερβαίνει τους 255 χαρακτήρες, διαφορετικά θα καταλήξετε στο σφάλμα #VALUE! Έτσι, εάν το σύνολο δεδομένων σας περιέχει μεγάλες συμβολοσειρές, το INDEX MATCH είναι η μόνη λειτουργική λύση.
- Υψηλότερη ταχύτητα επεξεργασίας. Εάν οι πίνακές σας είναι σχετικά μικροί, δεν θα υπάρχει σχεδόν καμία σημαντική διαφορά στην απόδοση του Excel. Εάν όμως τα φύλλα εργασίας σας περιέχουν εκατοντάδες ή χιλιάδες γραμμές και, κατά συνέπεια, εκατοντάδες ή χιλιάδες τύπους, το MATCH INDEX θα λειτουργεί πολύ πιο γρήγορα από το VLOOKUP, επειδή το Excel θα πρέπει να επεξεργάζεται μόνο τις στήλες αναζήτησης και επιστροφής και όχι ολόκληρο τον πίνακα.
Ο αντίκτυπος του VLOOKUP στις επιδόσεις του Excel μπορεί να είναι ιδιαίτερα αισθητός εάν το βιβλίο εργασίας σας περιέχει σύνθετους τύπους συστοιχιών όπως το VLOOKUP και το SUM. Το θέμα είναι ότι ο έλεγχος κάθε τιμής στη συστοιχία απαιτεί ξεχωριστή κλήση της συνάρτησης VLOOKUP. Έτσι, όσο περισσότερες τιμές περιέχει η συστοιχία σας και όσο περισσότερες τύποι συστοιχιών έχετε σε ένα βιβλίο εργασίας, τόσο πιο αργή είναι η απόδοση του Excel.
Excel INDEX MATCH - παραδείγματα τύπων
Γνωρίζοντας τους λόγους για τους οποίους πρέπει να μάθετε τη συνάρτηση MATCH INDEX, ας περάσουμε στο πιο ενδιαφέρον μέρος και ας δούμε πώς μπορείτε να εφαρμόσετε τις θεωρητικές γνώσεις στην πράξη.
Τύπος INDEX MATCH για αναζήτηση από δεξιά προς τα αριστερά
Όπως έχει ήδη αναφερθεί, η VLOOKUP δεν μπορεί να κοιτάξει στα αριστερά της. Έτσι, εκτός αν οι τιμές αναζήτησης είναι η πιο αριστερή στήλη, δεν υπάρχει καμία πιθανότητα ένας τύπος Vlookup να σας φέρει το αποτέλεσμα που θέλετε. Η συνάρτηση INDEX MATCH στο Excel είναι πιο ευέλικτη και δεν ενδιαφέρεται πραγματικά για το πού βρίσκονται οι στήλες αναζήτησης και επιστροφής.
Για αυτό το παράδειγμα, θα προσθέσουμε τη στήλη Κατάταξη στα αριστερά του πίνακα του δείγματός μας και θα προσπαθήσουμε να καταλάβουμε πώς κατατάσσεται η ρωσική πρωτεύουσα, η Μόσχα, όσον αφορά τον πληθυσμό.
Με την τιμή αναζήτησης στο G1, χρησιμοποιήστε τον ακόλουθο τύπο για να κάνετε αναζήτηση στο C2:C10 και να επιστρέψετε μια αντίστοιχη τιμή από το A2:A10:
=INDEX(A2:A10,MATCH(G1,C2:C10,0))
Συμβουλή. Αν σκοπεύετε να χρησιμοποιήσετε τον τύπο INDEX MATCH για περισσότερα από ένα κελιά, βεβαιωθείτε ότι έχετε κλειδώσει και τις δύο περιοχές με απόλυτες αναφορές κελιών (όπως $A$2:$A$10 και $C$2:4C$10), ώστε να μην παραμορφώνονται κατά την αντιγραφή του τύπου.
INDEX MATCH MATCH για αναζήτηση σε γραμμές και στήλες
Στα παραπάνω παραδείγματα, χρησιμοποιήσαμε το INDEX MATCH ως αντικατάσταση του κλασικού VLOOKUP για να επιστρέψουμε μια τιμή από ένα προκαθορισμένο εύρος μιας στήλης. Τι γίνεται όμως αν πρέπει να κάνετε αναζήτηση σε πολλές γραμμές και στήλες; Με άλλα λόγια, τι γίνεται αν θέλετε να εκτελέσετε το λεγόμενο μήτρα ή αμφίδρομο lookup?
Αυτό μπορεί να ακούγεται δύσκολο, αλλά ο τύπος είναι πολύ παρόμοιος με τη βασική συνάρτηση INDEX MATCH του Excel, με μία μόνο διαφορά. Μαντέψτε τι;
Απλά, χρησιμοποιήστε δύο συναρτήσεις MATCH - η μία για να πάρετε έναν αριθμό γραμμής και η άλλη για να πάρετε έναν αριθμό στήλης. Και συγχαίρω όσους από εσάς μαντέψατε σωστά :)
INDEX (array, MATCH ( τιμή vlookup , στήλη για να κοιτάξετε προς τα πάνω , 0), MATCH ( hlookup τιμή , σειρά για να κοιτάξετε προς τα πάνω , 0))Και τώρα, ρίξτε μια ματιά στον παρακάτω πίνακα και ας φτιάξουμε έναν τύπο INDEX MATCH MATCH για να βρούμε τον πληθυσμό (σε εκατομμύρια) σε μια δεδομένη χώρα για ένα δεδομένο έτος.
Με τη χώρα-στόχο στο G1 (τιμή vlookup) και το έτος-στόχο στο G2 (τιμή hlookup), ο τύπος παίρνει την εξής μορφή:
=INDEX(B2:D11, MATCH(G1,A2:A11,0), MATCH(G2,B1:D1,0))
Πώς λειτουργεί αυτή η φόρμουλα
Κάθε φορά που πρέπει να κατανοήσετε έναν πολύπλοκο τύπο του Excel, αναλύστε τον σε μικρότερα μέρη και δείτε τι κάνει κάθε μεμονωμένη συνάρτηση:
MATCH(G1,A2:A11,0)
- ψάχνει στα A2:A11 για την τιμή στο κελί G1 ("Κίνα") και επιστρέφει τη θέση της, η οποία είναι 2.
MATCH(G2,B1:D1,0))
- αναζητά τα στοιχεία B1:D1 για να βρει τη θέση της τιμής στο κελί G2 ("2015"), η οποία είναι 3.
Οι παραπάνω αριθμοί γραμμών και στηλών αντιστοιχούν στα αντίστοιχα ορίσματα της συνάρτησης INDEX:
INDEX(B2:D11, 2, 3)
Ως αποτέλεσμα, λαμβάνετε μια τιμή στο σημείο τομής της 2ης γραμμής και της 3ης στήλης στην περιοχή B2:D11, η οποία είναι η τιμή στο κελί D3. Εύκολο; Ναι!
Excel INDEX MATCH για αναζήτηση πολλαπλών κριτηρίων
Αν είχατε την ευκαιρία να διαβάσετε το σεμινάριο VLOOKUP του Excel, πιθανώς έχετε ήδη δοκιμάσει έναν τύπο για Vlookup με πολλαπλά κριτήρια. Ωστόσο, ένας σημαντικός περιορισμός αυτής της προσέγγισης είναι η ανάγκη προσθήκης μιας βοηθητικής στήλης. Τα καλά νέα είναι ότι η συνάρτηση INDEX MATCH του Excel μπορεί να κάνει αναζήτηση και με δύο ή περισσότερα κριτήρια, χωρίς να τροποποιήσετε ή να αναδιαρθρώσετε τα δεδομένα της πηγής σας!
Ακολουθεί ο γενικός τύπος INDEX MATCH με πολλαπλά κριτήρια:
{=INDEX( return_range , MATCH(1, ( κριτήρια1 = range1 ) * ( κριτήρια2 = range2 ), 0))}Σημείωση: Πρόκειται για τύπο πίνακα που πρέπει να συμπληρωθεί με τη συντόμευση Ctrl + Shift + Enter.
Στον παρακάτω πίνακα, υποθέτοντας ότι θέλετε να βρείτε το ποσό με βάση 2 κριτήρια, Πελάτης και Προϊόν .
Ο ακόλουθος τύπος INDEX MATCH λειτουργεί άψογα:
=INDEX(C2:C10, MATCH(1, (F1=A2:A10) * (F2=B2:B10), 0))
Όπου C2:C10 είναι το εύρος τιμών που πρέπει να επιστραφεί, F1 είναι το κριτήριο1, A2:A10 είναι το εύρος τιμών που πρέπει να συγκριθεί με το κριτήριο1, F2 είναι το κριτήριο2 και B2:B10 είναι το εύρος τιμών που πρέπει να συγκριθεί με το κριτήριο2.
Θυμηθείτε να εισαγάγετε σωστά τον τύπο πατώντας Ctrl + Shift + Enter, και το Excel θα τον κλείσει αυτόματα σε αγκύλες, όπως φαίνεται στο στιγμιότυπο οθόνης:
Αν προτιμάτε να μην χρησιμοποιείτε τύπους συστοιχιών στα φύλλα εργασίας σας, προσθέστε μια ακόμη συνάρτηση INDEX στον τύπο και ολοκληρώστε τον με ένα συνηθισμένο πάτημα Enter:
Πώς λειτουργούν αυτοί οι τύποι
Οι τύποι χρησιμοποιούν την ίδια προσέγγιση με τη βασική συνάρτηση INDEX MATCH που εξετάζει μια μόνο στήλη. Για την αξιολόγηση πολλαπλών κριτηρίων, δημιουργείτε δύο ή περισσότερους πίνακες τιμών TRUE και FALSE που αντιπροσωπεύουν ταυτίσεις και μη ταυτίσεις για κάθε μεμονωμένο κριτήριο και στη συνέχεια πολλαπλασιάζετε τα αντίστοιχα στοιχεία αυτών των πινάκων. Η πράξη πολλαπλασιασμού μετατρέπει τα TRUE και FALSE σε 1 και 0,αντίστοιχα, και παράγει έναν πίνακα όπου τα 1 αντιστοιχούν σε γραμμές που πληρούν όλα τα κριτήρια. Η συνάρτηση MATCH με τιμή αναζήτησης 1 βρίσκει το πρώτο "1" στον πίνακα και περνά τη θέση του στην INDEX, η οποία επιστρέφει μια τιμή σε αυτή τη γραμμή από την καθορισμένη στήλη.
Ο τύπος χωρίς πίνακα βασίζεται στην ικανότητα της συνάρτησης INDEX να χειρίζεται πίνακες εγγενώς. Ο δεύτερος INDEX έχει ρυθμιστεί με 0 row_num έτσι ώστε να περάσει ολόκληρο τον πίνακα στηλών στη MATCH.
Αυτή είναι μια υψηλού επιπέδου εξήγηση της λογικής του τύπου. Για πλήρεις λεπτομέρειες, ανατρέξτε στην ενότητα Excel INDEX MATCH με πολλαπλά κριτήρια.
Excel INDEX MATCH με AVERAGE, MAX, MIN
Το Microsoft Excel διαθέτει ειδικές συναρτήσεις για την εύρεση της ελάχιστης, της μέγιστης και της μέσης τιμής σε ένα εύρος τιμών. Τι γίνεται όμως αν πρέπει να λάβετε μια τιμή από ένα άλλο κελί που σχετίζεται με αυτές τις τιμές; Σε αυτή την περίπτωση, χρησιμοποιήστε τη συνάρτηση MAX, MIN ή AVERAGE σε συνδυασμό με INDEX MATCH.
INDEX MATCH με MAX
Για να βρείτε τη μεγαλύτερη τιμή στη στήλη D και να επιστρέψετε μια τιμή από τη στήλη C στην ίδια γραμμή, χρησιμοποιήστε αυτόν τον τύπο:
=INDEX(C2:C10, MATCH(MAX(D2:D10), D2:D10, 0))
INDEX MATCH με MIN
Για να εντοπίσετε τη μικρότερη τιμή στη στήλη D και να αντλήσετε μια σχετική τιμή από τη στήλη C, χρησιμοποιήστε αυτό:
=INDEX(C2:C10, MATCH(MIN(D2:D10), D2:D10, 0))
INDEX MATCH με μέσο όρο
Για να υπολογίσετε την τιμή που είναι πλησιέστερη στο μέσο όρο των D2:D10 και να λάβετε μια αντίστοιχη τιμή από τη στήλη C, χρησιμοποιήστε τον ακόλουθο τύπο:
=INDEX(C2:C10, MATCH(AVERAGE(D2:D10), D2:D10, -1 ))
Ανάλογα με τον τρόπο οργάνωσης των δεδομένων σας, δώστε 1 ή -1 στο τρίτο όρισμα (match_type) της συνάρτησης MATCH:
- Εάν η στήλη αναζήτησης (στήλη D στην περίπτωσή μας) είναι ταξινομημένη αύξουσα , βάλτε 1. Ο τύπος θα υπολογίσει τη μεγαλύτερη τιμή που είναι λιγότερο από ή ίση με τη μέση τιμή.
- Εάν η στήλη αναζήτησης είναι ταξινομημένη φθίνουσα , πληκτρολογήστε -1. Ο τύπος θα υπολογίσει τη μικρότερη τιμή που είναι μεγαλύτερη από ή ίση με τη μέση τιμή.
- Εάν ο πίνακας αναζήτησης περιέχει μια τιμή ακριβώς ίσα στο μέσο όρο, μπορείτε να εισαγάγετε 0 για ακριβή αντιστοιχία. Δεν απαιτείται ταξινόμηση.
Στο παράδειγμά μας, οι πληθυσμοί στη στήλη D είναι ταξινομημένοι κατά φθίνουσα σειρά, οπότε χρησιμοποιούμε -1 για τον τύπο αντιστοίχισης. Ως αποτέλεσμα, λαμβάνουμε το "Τόκιο", αφού ο πληθυσμός του (13.189.000) είναι η πλησιέστερη αντιστοίχιση που είναι μεγαλύτερη από τον μέσο όρο (12.269.006).
Ίσως να είστε περίεργοι να μάθετε ότι και το VLOOKUP μπορεί να εκτελέσει τέτοιους υπολογισμούς, αλλά ως τύπος πίνακα: VLOOKUP με AVERAGE, MAX, MIN.
Χρήση INDEX MATCH με IFNA / IFERROR
Όπως πιθανώς έχετε παρατηρήσει, εάν ένας τύπος INDEX MATCH στο Excel δεν μπορεί να βρει μια τιμή αναζήτησης, παράγει ένα σφάλμα #N/A. Εάν θέλετε να αντικαταστήσετε την τυπική σημείωση σφάλματος με κάτι πιο ουσιαστικό, τυλίξτε τον τύπο INDEX MATCH στη συνάρτηση IFNA. Για παράδειγμα:
=IFNA(INDEX(C2:C10, MATCH(F1,A2:A10,0)), "Δεν βρέθηκε καμία αντιστοιχία")
Και τώρα, αν κάποιος εισάγει έναν πίνακα αναζήτησης που δεν υπάρχει στην περιοχή αναζήτησης, ο τύπος θα ενημερώσει ρητά τον χρήστη ότι δεν βρέθηκε καμία αντιστοιχία:
Αν θέλετε να πιάσετε όλα τα σφάλματα, όχι μόνο τα #N/A, χρησιμοποιήστε τη συνάρτηση IFERROR αντί της IFNA:
=IFERROR(INDEX(C2:C10, MATCH(F1,A2:A10,0)), "Ουπς, κάτι πήγε στραβά!")
Λάβετε υπόψη σας ότι σε πολλές περιπτώσεις μπορεί να μην είναι συνετό να αποκρύψετε όλα τα σφάλματα, επειδή σας προειδοποιούν για πιθανά σφάλματα στον τύπο σας.
Αυτός είναι ο τρόπος χρήσης των INDEX και MATCH στο Excel. Ελπίζω τα παραδείγματα τύπων μας να σας φανούν χρήσιμα και ανυπομονώ να σας δω στο blog μας την επόμενη εβδομάδα!
Βιβλίο ασκήσεων για κατέβασμα
Παραδείγματα Excel INDEX MATCH (.xlsx αρχείο)