
Formuła ogólna
=LOOKUP(2,1/(TEXT(dates,"mmyy")=TEXT(A1,"mmyy")),values)
Podsumowanie
Aby wyszukać ostatni wpis w tabeli według miesiąca i roku, możesz użyć funkcji WYSZUKAJ z funkcją TEKST. W pokazanym przykładzie formuła w F5 to:
=LOOKUP(2,1/(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy")),$C$5:$C$13)
gdzie B5: B13 i E5: E7 zawierają ważne daty, a C5: C13 zawiera kwoty.
Wyjaśnienie
Uwaga: wartość lookup_value 2 jest celowo większa niż jakiekolwiek wartości w lookup_vector, zgodnie z koncepcją bignum.
Działając od wewnątrz, wyrażenie:
(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy"))
generuje ciągi, takie jak „0117”, używając wartości w kolumnach B i E, które są następnie porównywane ze sobą. Rezultatem jest tablica taka:
(TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)
gdzie PRAWDA oznacza daty w tym samym miesiącu i roku. Liczba 1 jest następnie dzielona przez tę tablicę. Wynikiem jest tablica błędów 1 lub podzielona przez zero (# DIV / 0!):
(1;1;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!)
która trafia do LOOKUP jako tablica wyszukiwania. WYSZUKAJ zakłada, że dane są sortowane w kolejności rosnącej i zawsze dopasowuje się w przybliżeniu. Jeśli nie można znaleźć wartości wyszukiwania 2, WYSZUKAJ dopasuje poprzednią wartość, więc wyszukiwanie dopasuje ostatnią 1 w tablicy.
Na koniec funkcja WYSZUKAJ zwraca odpowiednią wartość w wyniku_wektor, który zawiera kwoty w C5: C13.