
Γενική φόρμουλα
=LOOKUP(2,1/(item="hat"),price)
Περίληψη
Για να αναζητήσετε την πιο πρόσφατη τιμή ενός προϊόντος σε μια λίστα, ταξινομημένη έτσι ώστε τα τελευταία στοιχεία να εμφανίζονται τελευταία, μπορείτε να χρησιμοποιήσετε έναν τύπο βασισμένο στη συνάρτηση LOOKUP. Στο παράδειγμα, ο τύπος στο G7 είναι:
=LOOKUP(2,1/(item=F7),price)
όπου το αντικείμενο είναι το ονομαζόμενο εύρος B5: B12, η τιμή είναι το ονομαζόμενο εύρος D5: D12 και τα δεδομένα ταξινομούνται αύξουσα κατά ημερομηνία.
Εξήγηση
Η συνάρτηση LOOKUP προϋποθέτει ότι τα δεδομένα ταξινομούνται και πάντα ταιριάζουν κατά προσέγγιση. Εάν η τιμή αναζήτησης είναι μεγαλύτερη από όλες τις τιμές στον πίνακα αναζήτησης, η προεπιλεγμένη συμπεριφορά είναι να "επιστρέψετε" στην προηγούμενη τιμή. Αυτός ο τύπος εκμεταλλεύεται αυτήν τη συμπεριφορά δημιουργώντας έναν πίνακα που περιέχει μόνο 1s και σφάλματα και, στη συνέχεια, αναζητώντας σκόπιμα την τιμή 2, η οποία δεν θα βρεθεί ποτέ.
Πρώτον, αυτή η έκφραση αξιολογείται:
item=F7
Όταν το F7 περιέχει "σανδάλια", το αποτέλεσμα είναι ένας πίνακας τιμών TRUE και FALSE όπως:
(FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE)
Αυτός ο πίνακας παρέχεται ως διαιρέτης στο 1:
1/(FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE)
Η μαθηματική λειτουργία εξαναγκάζει αυτόματα τις τιμές TRUE και FALSE σε 1s και 0s, οπότε το αποτέλεσμα είναι ένας άλλος πίνακας όπως αυτό:
(#DIV/0!;1;#DIV/0!;1;#DIV/0!;#DIV/0!;1;#DIV/0!)
επέστρεψε απευθείας στη συνάρτηση LOOKUP ως όρισμα διάνυσμα αναζήτησης.
Παρατηρήστε ότι ο πίνακας περιέχει μόνο δύο μοναδικές τιμές: το διαιρέστε με μηδέν σφάλμα (# DIV / 0!) Και τον αριθμό 1.
Το LOOKUP αναζητά τον πίνακα για την τιμή 2, αγνοώντας τις τιμές σφάλματος. Χωρίς εύρεση 2, επιστρέφει στο τελευταίο 1, στη θέση 7 στο διάνυσμα αναζήτησης. Στη συνέχεια, το LOOKUP επιστρέφει το 7ο στοιχείο στο διάνυσμα αποτελεσμάτων (το ονομαζόμενο εύρος "τιμή"), η τιμή 15.
Για να διαβάσετε περισσότερα σχετικά με την έννοια της σκόπιμης αναζήτησης μιας τιμής που δεν θα εμφανιστεί ποτέ, διαβάστε για το BigNum.