Τύπος Excel: Αναζήτηση ακριβούς αντιστοίχισης με INDEX και MATCH -

Πίνακας περιεχομένων

Γενική φόρμουλα

(=INDEX(data,MATCH(TRUE,EXACT(val,lookup_col),0),col_num))

Περίληψη

Αναζήτηση με πεζά γράμματα

Από προεπιλογή, οι τυπικές αναζητήσεις με VLOOKUP ή INDEX + MATCH δεν είναι ευαίσθητες σε πεζούς. Τόσο το VLOOKUP όσο και το MATCH θα επιστρέψουν απλώς στον πρώτο αγώνα, αγνοώντας την περίπτωση.

Ωστόσο, εάν πρέπει να κάνετε αναζήτηση με κεφαλαία γράμματα, μπορείτε να το κάνετε με έναν τύπο πίνακα που χρησιμοποιεί τη συνάρτηση INDEX, MATCH και EXACT.

Στο παράδειγμα, χρησιμοποιούμε τον ακόλουθο τύπο

(=INDEX(data,MATCH(TRUE,EXACT(F4,B3:B102),0),3))

Αυτός ο τύπος είναι ένας τύπος πίνακα και πρέπει να εισαχθεί με Control + Shift + Enter.

Εξήγηση

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

Δουλεύοντας από μέσα προς τα έξω, έχουμε πρώτα:

EXACT(F4,B3:B102)

όπου το F4 περιέχει την τιμή αναζήτησης και το B3: B102 είναι μια αναφορά στη στήλη αναζήτησης (Όνομα). Επειδή δίνουμε ΑΚΡΙΒΩΣ έναν πίνακα ως δεύτερο όρισμα, θα λάβουμε πίσω έναν πίνακα Αληθινών ψευδών τιμών όπως αυτό:

(FALSE, FALSE, FALSE, FALSE, FALSE, TRUE κ.λπ.)

Αυτό είναι το αποτέλεσμα της σύγκρισης της τιμής σε B4 κάθε κελιού στη στήλη αναζήτησης. Όπου και αν βλέπουμε ΑΛΗΘΕΙΑ, γνωρίζουμε ότι έχουμε μια ακριβή αντιστοίχιση που σέβεται την περίπτωση.

Τώρα πρέπει να πάρουμε τη θέση (δηλαδή τον αριθμό σειράς) της ΑΛΗΘΕΙΑΣ τιμής σε αυτόν τον πίνακα. Για αυτό, μπορούμε να χρησιμοποιήσουμε το MATCH, ψάχνοντας για ΑΛΗΘΕΙΑ και ρυθμίζουμε σε λειτουργία ακριβούς αντιστοίχισης:

MATCH(TRUE,EXACT(F4,B3:B102),0)

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

Τώρα έχουμε έναν αριθμό σειράς. Στη συνέχεια, πρέπει απλώς να χρησιμοποιήσουμε το INDEX για να ανακτήσουμε την τιμή στη δεξιά διασταύρωση γραμμής και στήλης. Ο αριθμός στήλης σε αυτήν την περίπτωση είναι κωδικοποιημένος ως 3, καθώς τα δεδομένα εύρους ονομασίας περιλαμβάνουν όλες τις στήλες. Ο τελικός τύπος είναι:

(=INDEX(data,MATCH(TRUE,EXACT(F4,B3:B102),0),3))

Πρέπει να εισαγάγουμε αυτόν τον τύπο ως τύπο πίνακα λόγω του πίνακα που δημιουργήθηκε από το EXACT.

Αυτός ο τύπος θα ανακτήσει τόσο τιμές κειμένου όσο και αριθμητικές. Εάν θέλετε να ανακτήσετε μόνο αριθμούς, μπορείτε να χρησιμοποιήσετε έναν τύπο βασισμένο στο SUMPRODUCT. δείτε τον παρακάτω σύνδεσμο

ενδιαφέροντα άρθρα...