
Všeobecný vzorec
(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(A1,"mmyy"),0)))
Zhrnutie
Ak chcete vyhľadať prvý záznam v tabuľke podľa mesiaca a roku, môžete použiť a zoskupiť vzorec založený na funkciách INDEX, MATCH a TEXT.
funkciu LOOKUP s funkciou TEXT. V zobrazenom príklade je vzorec v F5:
=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy"),0))
kde „záznam“ je pomenovaný rozsah C5: C13, „dátum“ je pomenovaný rozsah B5: B13 a E5 obsahuje platný dátum.
Toto je vzorec poľa a musí byť zadaný pomocou klávesov Control + Shift + Enter.
Vysvetlenie
Poznámka: Hodnoty v E5: E7 sú skutočné dátumy, formátované pomocou vlastného formátu čísel „mmyy“.
Pri práci zvnútra smerom von výraz:
MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy")
používa funkciu TEXT na vygenerovanie poľa reťazcov vo formáte "mmyy":
("0117"; "0117"; "0117"; "0217"; "0217"; "0217"; "0317"; "0317"; "0317")
ktoré sa porovnávajú jeden reťazec na základe hodnoty v E5, „0117“. Výsledkom je pole hodnôt TRUE / FALSE:
(PRAVDA; PRAVDA; PRAVDA; NEPRAVDA; NEPRAVDA; NEPRAVDA; NEPRAVDA; NEPRAVDA; NEPRAVDA)
ktoré sa vkladajú do funkcie MATCH ako vyhľadávacie pole s vyhľadávacou hodnotou TRUE a nulovým typom zhody pre presnú zhodu. V režime presnej zhody funkcia MATCH vráti pozíciu prvej TRUE v poli, ktorá je vo vzorci v F5 1. Táto pozícia ide do INDEXU ako číslo riadku s poľom založeným na pomenovanom rozsahu „záznam“:
=INDEX(entry,1)
Register vráti položku vo vnútri záznamu na zadanú pozíciu.
Poznámka: ak sa položka pre daný mesiac a rok nenájde, tento vzorec vráti # N / A.
Prvý vstup založený na dnešnom dátume
Ak chcete získať prvý záznam pre daný mesiac a rok na základe dnešného dátumu, môžete upraviť vzorec tak, aby namiesto hodnoty v E5 používal funkciu DNES:
(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(TODAY(),"mmyy"),0)))