
Γενική φόρμουλα
=LOOKUP(2,1/(A:A""),A:A)
Περίληψη
Για να βρείτε την τιμή του τελευταίου μη κενού κελιού σε μια σειρά ή στήλη, μπορείτε να χρησιμοποιήσετε τη συνάρτηση LOOKUP σε αυτόν τον εκπληκτικά συμπαγή τύπο. Ως πρόσθετο μπόνους, αυτός ο τύπος δεν είναι ένας τύπος πίνακα και δεν είναι ευμετάβλητος.
Εξήγηση
Το κλειδί για την κατανόηση αυτού του τύπου είναι να αναγνωρίσουμε ότι η τιμή_αναζήτησης 2 είναι σκόπιμα μεγαλύτερη από οποιεσδήποτε τιμές που θα εμφανίζονται στο lookup_vector.
- Η έκφραση A: "" επιστρέφει μια σειρά από αληθείς και ψευδείς τιμές: (TRUE, FALSE, TRUE,…).
- Στη συνέχεια, ο αριθμός 1 διαιρείται με αυτόν τον πίνακα και δημιουργεί έναν νέο πίνακα που αποτελείται είτε από 1 είτε διαιρείται με μηδέν σφάλματα (# DIV / 0!): (1,0,1,…). Αυτός ο πίνακας είναι το lookup_vector.
- Όταν δεν μπορεί να βρεθεί το lookup_value, το LOOKUP θα αντιστοιχεί στην επόμενη μικρότερη τιμή.
- Σε αυτήν την περίπτωση, το lookup_value είναι 2, αλλά η μεγαλύτερη τιμή στο lookup_array είναι 1, οπότε η αναζήτηση θα ταιριάζει με την τελευταία 1 στον πίνακα.
- Το LOOKUP επιστρέφει την αντίστοιχη τιμή στο αποτέλεσμα_vector (δηλαδή την τιμή στην ίδια θέση).
Αντιμετώπιση σφαλμάτων
Εάν υπάρχουν σφάλματα στο lookup_vector, ειδικά εάν υπάρχει σφάλμα στο τελευταίο μη κενό κελί, αυτός ο τύπος πρέπει να προσαρμοστεί. Αυτή η προσαρμογή απαιτείται επειδή τα κριτήρια "" θα επιστρέψουν το ίδιο ένα σφάλμα εάν ένα κελί περιέχει ένα σφάλμα. Για να επιλύσετε αυτό το πρόβλημα, χρησιμοποιήστε το ISBLANK με NOT:
=LOOKUP(2,1/(NOT(ISBLANK(A:A))),A:A)
Τελευταία αριθμητική τιμή
Για να λάβετε την τελευταία αριθμητική τιμή, μπορείτε να προσθέσετε τη συνάρτηση ISNUMBER ως εξής:
=LOOKUP(2,1/(ISNUMBER(A1:A100)),A1:A100)
Θέση της τελευταίας τιμής
Εάν θέλετε να λάβετε τη θέση (σε αυτήν την περίπτωση αριθμός σειράς) της τελευταίας τιμής, μπορείτε να δοκιμάσετε έναν τύπο όπως αυτό:
=LOOKUP(2,1/(A:A""),ROW(A:A))
Εδώ τροφοδοτούμε τους αριθμούς σειράς του ίδιου εύρους στην αναζήτηση του διανύσματος αποτελεσμάτων και επιστρέφουμε τον αριθμό σειράς του τελευταίου αγώνα.