
Γενική φόρμουλα
(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(A1,"mmyy"),0)))
Περίληψη
Για να αναζητήσετε την πρώτη καταχώρηση σε έναν πίνακα ανά μήνα και έτος, μπορείτε να χρησιμοποιήσετε και να συστοιχίσετε τον τύπο βάσει των λειτουργιών INDEX, MATCH και TEXT.
η συνάρτηση LOOKUP με τη συνάρτηση TEXT. Στο παράδειγμα που εμφανίζεται, ο τύπος στο F5 είναι:
=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy"),0))
όπου "καταχώριση" είναι το ονομασμένο εύρος C5: C13, "ημερομηνία" είναι το ονομαζόμενο εύρος B5: B13 και το E5 περιέχει μια έγκυρη ημερομηνία.
Αυτός είναι ένας τύπος πίνακα και πρέπει να εισαχθεί με τον έλεγχο + shift + enter.
Εξήγηση
Σημείωση: οι τιμές στο E5: E7 είναι πραγματικές ημερομηνίες, μορφοποιημένες με την προσαρμοσμένη μορφή αριθμού "mmyy".
Δουλεύοντας από μέσα προς τα έξω, η έκφραση:
MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy")
χρησιμοποιεί τη συνάρτηση TEXT για να δημιουργήσει έναν πίνακα συμβολοσειρών με τη μορφή "mmyy":
("0117"; "0117"; "0117"; "0217"; "0217"; "0217"; "0317"; "0317"; "0317")
που συγκρίνονται με μία συμβολοσειρά με βάση την τιμή στο E5, "0117". Το αποτέλεσμα είναι ένας πίνακας τιμών TRUE / FALSE:
(TRUE; TRUE; TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE)
που τροφοδοτούνται στη συνάρτηση MATCH ως πίνακας αναζήτησης, με τιμή αναζήτησης TRUE και τύπο μηδέν αντιστοίχισης για ακριβή αντιστοίχιση. Σε λειτουργία ακριβούς αντιστοίχισης, η συνάρτηση MATCH επιστρέφει τη θέση του πρώτου TRUE στον πίνακα, ο οποίος είναι 1 στον τύπο στο F5. Αυτή η θέση πηγαίνει στο INDEX ως αριθμός σειράς, με έναν πίνακα που βασίζεται στην ονομαζόμενη περιοχή "entry":
=INDEX(entry,1)
Το ευρετήριο επιστρέφει το στοιχείο μέσα στην καταχώριση στην καθορισμένη θέση.
Σημείωση: εάν δεν βρεθεί μια καταχώριση για έναν δεδομένο μήνα και έτος, αυτός ο τύπος θα επιστρέψει # N / A.
Πρώτη είσοδος με βάση τη σημερινή ημερομηνία
Για να λάβετε την πρώτη καταχώρηση για έναν δεδομένο μήνα και έτος με βάση τη σημερινή ημερομηνία, μπορείτε να προσαρμόσετε τον τύπο για να χρησιμοποιήσετε τη συνάρτηση TODAY αντί για την τιμή στο E5:
(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(TODAY(),"mmyy"),0)))