Με το VLOOKUP παίρνουμε πάντα τον πρώτο αγώνα. Το ίδιο συμβαίνει και με τη συνάρτηση INDEX MATCH. Λοιπόν, πώς κάνουμε VLOOKUP δεύτερο αγώνα ή 3ο ή nth; Σε αυτό το άρθρο, θα μάθουμε πώς να αποκτήσετε την Nth εμφάνιση μιας τιμής στο εύρος.
Γενικός τύπος
{= ΜΙΚΡΟ (ΑΝ (εύρος = τιμή,ΣΕΙΡΑ(εύρος)-ΣΕΙΡΑ(first_cell_in_range)+1),ν)}
Σημείωση: αυτό είναι ένα τύπος πίνακαΤο Πρέπει να το εισαγάγετε με CTRL + SHIFT + ENTER.
Εύρος: το εύρος στο οποίο θέλετε να αναζητήσετε νου θέση του αξία.
Αξία: την αξία της οποίας ψάχνετε νου θέση στοεύρος.
First_cell_in_range: το πρώτο κελί στοεύρος. Εάν το εύρος είναι A2: A10 τότε το πρώτο κελί της περιοχής είναι Α2.
n: ο περιστατικό αριθμός των αξίες.
Ας δούμε ένα παράδειγμα για να ξεκαθαρίσουμε τα πράγματα.
Παράδειγμα: Βρείτε τη δεύτερη αντιστοίχιση στο Excel
Εδώ λοιπόν έχω αυτόν τον κατάλογο ονομάτων στο εύρος excel A2: A10. Έχω ονομάσει αυτό το εύρος ως ονόματα. Τώρα θέλω να πάρω τη θέση της δεύτερης εμφάνισης του "Rony" στο ονόματα.
Στην παραπάνω εικόνα, μπορούμε να δούμε ότι βρίσκεται στην 7η θέση στο εύρος A2: A10 (ονόματα). Τώρα πρέπει να πάρουμε τη θέση του χρησιμοποιώντας έναν τύπο excel.
Εφαρμόστε τον παραπάνω γενικό τύπο στο C2 για να αναζητήσετε τη δεύτερη εμφάνιση του Rony στη λίστα.
{= ΜΙΚΡΟ (ΑΝ (ονόματα = "Rony" ,ΣΕΙΡΑ(ονόματα)-ΣΕΙΡΑ(Α2)+1),2)}
Εισαγάγετε το με CTRL + SHIFT + ENTER…
Και έχουμε μια απάντηση. Δείχνει 7, το οποίο είναι σωστό. Αν αλλάξετε την τιμή του n σε 3 θα δώσει 8. Αν αλλάξετε την τιμή του n μεγαλύτερη από την εμφάνιση της τιμής στο εύρος, θα επιστρέψει σφάλμα #NUM.
Πώς λειτουργεί;
Λοιπόν, είναι αρκετά εύκολο. Ας δούμε κάθε μέρος ένα προς ένα.
ΑΝ(ονόματα = "Rony" ,ΣΕΙΡΑ(ονόματα)-ΣΕΙΡΑ(Α2)+1) :
Στην περίπτωση IF, το names = "Rony" επιστρέφει έναν πίνακα TRUE και FALSE. ΑΛΗΘΕΙΑ κάθε φορά που ένα κελί στην περιοχή ονόματα (A2: A10) ταιριάζει με το "Rony". {TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; FALSE}.
Επόμενη ΣΕΙΡΑ (ονόματα)-ΣΕΙΡΑ(Α2)+1:
ΣΕΙΡΑ(ονόματα): εδώ η συνάρτηση ROW επιστρέφει τον αριθμό σειράς κάθε κελιού σε ονόματα. {2; 3; 4; 5; 6; 7; 8; 9; 10}.
ΣΕΙΡΑ(ονόματα)-ΣΕΙΡΑ(Α2)Στη συνέχεια αφαιρούμε τον αριθμό γραμμής του Α2 από κάθε τιμή στον δεδομένο πίνακα. Αυτό μας δίνει μια σειρά σειριακών αριθμών που ξεκινούν από 0. {0; 1; 2; 3; 4; 5; 6; 7; 8}.
ΣΕΙΡΑ(ονόματα)-ΣΕΙΡΑ(Α2)+1: Για να λάβετε σειριακούς αριθμούς από 1, προσθέτουμε 1 σε κάθε τιμή σε αυτόν τον πίνακα. Αυτό μας δίνει τον σειριακό αριθμό που ξεκινά από 1. {1; 2; 3; 4; 5; 6; 7; 8; 9}.
Τώρα έχουμε IF ({TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; FALSE}, {1; 2; 3; 4; 5; 6; 7; 8; 9}). Αυτό λύνεται σε {1; FALSE; FALSE; FALSE; FALSE; FALSE; 7; 8; FALSE}.
Τώρα έχουμε λύσει τον τύπο στο ΜΙΚΡΟ ({1ΛΑΘΟΣ; ΛΑΘΟΣ; ΛΑΘΟΣ; ΛΑΘΟΣ; ΛΑΘΟΣ7;8;ΨΕΥΔΗΣ},2). Τώρα το SMALL επιστρέφει τη δεύτερη μικρότερη τιμή στην περιοχή, η οποία είναι 7.
Πώς το χρησιμοποιούμε;
Φτάνει το ερώτημα: ποιο είναι το όφελος από τη λήψη ενός ακατέργαστου δείκτη του ένατου αγώνα; Θα ήταν πιο χρήσιμο αν μπορούσατε να ανακτήσετε σχετικές πληροφορίες από την nη τιμή. Λοιπόν, μπορεί να γίνει και αυτό. Αν θέλουμε να πάρουμε τιμή από την τιμή του γειτονικού κελιού της nης αντιστοίχισης στο εύρος ονόματα (Α2: Α10).
{= INDEX (B2: B10, SMALL (IF (ονόματα = "Rony" ,ΣΕΙΡΑ(ονόματα)-ΣΕΙΡΑ(Α2)+1),2))}
Λοιπόν, ναι, έτσι μπορείτε να πετύχετε τον ένατο αγώνα σε μια σειρά. Ελπίζω να ήμουν αρκετά επεξηγηματικός. Εάν έχετε αμφιβολίες σχετικά με αυτό το άρθρο ή οποιοδήποτε άλλο θέμα που σχετίζεται με το excel/VBA, γράψτε στην παρακάτω ενότητα σχολίων.
Πώς να αποκτήσετε διαδοχικό αριθμό σειράς στο Excel
Vlookup Top 5 Values with Duplicate Values Using INDEX-MATCH στο Excel
VLOOKUP Πολλαπλές τιμές
Χρησιμοποιήστε INDEX και MATCH για αναζήτηση τιμής
Αξία αναζήτησης με πολλαπλά κριτήρια
Δημοφιλή άρθρα:
Η συνάρτηση VLOOKUP στο Excel
COUNTIF στο Excel 2016
Πώς να χρησιμοποιήσετε τη συνάρτηση SUMIF στο Excel