Обща формула
(=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 съдържа валидна дата.
Това е формула на масив и трябва да се въведе с control + 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 като номер на ред, с масив, базиран на посочения диапазон "запис":
=INDEX(entry,1)
Index връща елемента вътре в записа на посочената позиция.
Забележка: ако даден запис не е намерен за даден месец и година, тази формула ще върне # N / A.
Първо влизане въз основа на днешната дата
За да получите първия запис за даден месец и година въз основа на днешната дата, можете да адаптирате формулата, за да използвате функцията ДНЕС вместо стойността в E5:
(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(TODAY(),"mmyy"),0)))