
Obecný vzorec
(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(A1,"mmyy"),0)))
souhrn
Chcete-li vyhledat první položku v tabulce podle měsíce a roku, můžete použít a maticový vzorec založený na funkcích INDEX, MATCH a TEXT.
funkce LOOKUP s funkcí TEXT. V zobrazeném příkladu je vzorec v F5:
=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy"),0))
kde „entry“ je pojmenovaný rozsah C5: C13, „date“ je pojmenovaný rozsah B5: B13 a E5 obsahuje platné datum.
Toto je maticový vzorec a musí být zadán pomocí kláves Control + Shift + Enter.
Vysvětlení
Poznámka: Hodnoty v E5: E7 jsou skutečná data, formátovaná pomocí vlastního formátu čísel „mmyy“.
Při práci zevnitř ven výraz:
MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy")
používá funkci TEXT ke generování pole řetězců ve formátu "mmyy":
("0117"; "0117"; "0117"; "0217"; "0217"; "0217"; "0317"; "0317"; "0317")
které jsou porovnány jediným řetězcem na základě hodnoty v E5, „0117“. Výsledkem je pole TRUE / FALSE hodnot:
(PRAVDA; PRAVDA; PRAVDA; NEPRAVDA; NEPRAVDA; NEPRAVDA; NEPRAVDA; NEPRAVDA; NEPRAVDA)
které jsou přiváděny do funkce MATCH jako vyhledávací pole s vyhledávací hodnotou TRUE a typem shody nula pro přesnou shodu. V režimu přesné shody vrátí funkce MATCH pozici první TRUE v poli, což je 1 ve vzorci v F5. Tato pozice jde do INDEXU jako číslo řádku s polem založeným na pojmenovaném rozsahu „entry“:
=INDEX(entry,1)
Rejstřík vrací položku uvnitř položky na zadané pozici.
Poznámka: Pokud položka pro daný měsíc a rok není nalezena, vrátí tento vzorec # N / A.
První vstup na základě dnešního data
Chcete-li získat první položku pro daný měsíc a rok na základě dnešního data, můžete upravit vzorec tak, aby místo hodnoty v E5 používal funkci DNES:
(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(TODAY(),"mmyy"),0)))