
Formula generică
(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(A1,"mmyy"),0)))
rezumat
Pentru a căuta prima intrare dintr-un tabel după lună și an, puteți utiliza și aranja formula pe baza funcțiilor INDEX, MATCH și TEXT.
funcția LOOKUP cu funcția TEXT. În exemplul prezentat, formula din F5 este:
=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy"),0))
unde „intrare” este intervalul numit C5: C13, „data” este intervalul numit B5: B13, iar E5 conține o dată validă.
Aceasta este o formulă matrice și trebuie introdusă cu control + shift + enter.
Explicaţie
Notă: valorile din E5: E7 sunt date efective, formatate cu formatul de număr personalizat „mmyy”.
Lucrând din interior spre exterior, expresia:
MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy")
folosește funcția TEXT pentru a genera o serie de șiruri în formatul "mmyy":
("0117"; "0117"; "0117"; "0217"; "0217"; "0217"; "0317"; "0317"; "0317")
cărora li se compară un singur șir pe baza valorii din E5, „0117”. Rezultatul este o serie de valori ADEVĂRATE / FALSE:
(ADEVĂRAT; ADEVĂRAT; ADEVĂRAT; FALS; FALS; FALS; FALS; FALS; FALS)
care sunt introduse în funcția MATCH ca matrice de căutare, cu o valoare de căutare TRUE și un tip de potrivire zero pentru potrivirea exactă. În modul de potrivire exactă, funcția MATCH returnează poziția primului TRUE în matrice, care este 1 în formula din F5. Această poziție intră în INDEX ca număr de rând, cu o matrice bazată pe intervalul numit „intrare”:
=INDEX(entry,1)
Index returnează elementul din intrarea în poziția specificată.
Notă: dacă nu se găsește o intrare pentru o anumită lună și an, această formulă va întoarce # N / A.
Prima intrare bazată pe data de astăzi
Pentru a obține prima intrare pentru o anumită lună și an în funcție de data de astăzi, puteți adapta formula pentru a utiliza funcția TODAY în loc de valoarea din E5:
(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(TODAY(),"mmyy"),0)))