Τύπος Excel: Λάβετε τον τελευταίο αγώνα -

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

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

(=MAX(IF(criteria,ROW(rng)-MIN(ROW(rng))+1)))

Περίληψη

Για να λάβετε τη θέση του τελευταίου αγώνα (δηλ. Τελευταία εμφάνιση) μιας τιμής αναζήτησης, μπορείτε να χρησιμοποιήσετε έναν τύπο πίνακα που βασίζεται στις συναρτήσεις IF, ROW, INDEX, MATCH και MAX. Στο παράδειγμα που παρουσιάζεται, ο τύπος στο H6 είναι:

(=MAX(IF(names=H5,ROW(names)-MIN(ROW(names))+1)))

Όπου "ονόματα" είναι η ονομαστική περιοχή C4: C11

Σημείωση: αυτός είναι ένας τύπος πίνακα και πρέπει να εισαχθεί με τον έλεγχο + shift + enter.

Εξήγηση

Η ουσία αυτού του τύπου είναι ότι δημιουργούμε μια λίστα αριθμών σειρών για ένα δεδομένο εύρος, που ταιριάζουν σε μια τιμή και στη συνέχεια χρησιμοποιούμε τη συνάρτηση MAX για να λάβουμε τον μεγαλύτερο αριθμό σειράς, ο οποίος αντιστοιχεί στην τελευταία τιμή αντιστοίχισης. Χρησιμοποιούμε την ονομαστική περιοχή "ονόματα" μόνο για ευκολία

Δουλεύοντας από μέσα προς τα έξω, αυτό το μέρος του τύπου θα δημιουργήσει ένα σχετικό σύνολο αριθμών σειράς:

ROW(names)-MIN(ROW(names))+1

Το αποτέλεσμα της παραπάνω έκφρασης είναι ένας πίνακας αριθμών ως εξής:

(1;2;3;4;5;6;7;8)

Παρατηρήστε ότι έχουμε 8 αριθμούς, που αντιστοιχούν στις 8 σειρές στον πίνακα. Δείτε αυτήν τη σελίδα για λεπτομέρειες σχετικά με το πώς λειτουργεί αυτό το μέρος του τύπου.

Για τους σκοπούς αυτού του τύπου, θέλουμε μόνο αριθμούς σειρών για αντίστοιχες τιμές, επομένως χρησιμοποιούμε τη συνάρτηση IF για να φιλτράρουμε τις τιμές όπως έτσι:

IF(names=H5,ROW(names)-MIN(ROW(names))+1)

Αυτό έχει ως αποτέλεσμα έναν πίνακα που μοιάζει με αυτό:

(1;FALSE;FALSE;4;FALSE;FALSE;7;FALSE)

Σημειώστε ότι αυτός ο πίνακας εξακολουθεί να περιέχει οκτώ στοιχεία. Ωστόσο, έχουν επιζήσει μόνο αριθμοί σειρών όπου η τιμή στο ονομαζόμενο εύρος "ονόματα" είναι ίση με το "amy" (δηλ. 1, 4, 7). Όλα τα άλλα στοιχεία του πίνακα είναι FALSE, καθώς απέτυχαν στη λογική δοκιμή στη συνάρτηση IF.

Τέλος, η συνάρτηση IF παραδίδει αυτόν τον πίνακα στη συνάρτηση MAX. Το MAX επιστρέφει την υψηλότερη τιμή στον πίνακα, τον αριθμό 7, ο οποίος αντιστοιχεί στον τελευταίο αριθμό σειράς όπου το όνομα είναι "amy". Μόλις γνωρίζουμε τον τελευταίο αριθμό γραμμής που ταιριάζει, μπορούμε να χρησιμοποιήσουμε το INDEX για να ανακτήσουμε μια τιμή σε αυτήν τη θέση.

Δεύτερη έως τελευταία, κ.λπ.

Για να πάρετε τη δεύτερη στην τελευταία θέση, την τρίτη στην τελευταία, κ.λπ. μπορείτε να αλλάξετε από τη λειτουργία MIN στη λειτουργία LARGE όπως αυτή:

(=LARGE(IF(criteria,ROW(rng)-MIN(ROW(rng))+1),k))

όπου το k αντιπροσωπεύει το "nth μεγαλύτερο". Για παράδειγμα, για να λάβετε τον δεύτερο έως τον τελευταίο αγώνα στο παραπάνω παράδειγμα, μπορείτε να χρησιμοποιήσετε:

(=LARGE(IF(names=H5,ROW(names)-MIN(ROW(names))+1),2))

Όπως και πριν, αυτός είναι ένας τύπος πίνακα και πρέπει να εισαχθεί με τον έλεγχο + shift + enter.

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