Формула на Excel: Получете последния запис по месец и година -

Съдържание

Обща формула

=LOOKUP(2,1/(TEXT(dates,"mmyy")=TEXT(A1,"mmyy")),values)

Обобщение

За да търсите последния запис в таблица по месец и година, можете да използвате функцията LOOKUP с функцията TEXT. В показания пример формулата във F5 е:

=LOOKUP(2,1/(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy")),$C$5:$C$13)

където B5: B13 и E5: E7 съдържат валидни дати, а C5: C13 съдържа суми.

Обяснение

Забележка: lookup_value на 2 е умишлено по-голяма от всякакви стойности в lookup_vector, следвайки концепцията bignum.

Работейки отвътре навън, изразът:

(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy"))

генерира низове като "0117", използвайки стойностите в колона B и E, които след това се сравняват помежду си. Резултатът е масив като този:

(TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)

където TRUE представлява дати от същия месец и година. След това числото 1 се разделя на този масив. Резултатът е масив от 1 или разделен на нула грешки (# DIV / 0!):

(1;1;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!)

което влиза в LOOKUP като масив за търсене. LOOKUP приема, че данните са сортирани във възходящ ред и винаги правят приблизително съвпадение. Когато справочната стойност от 2 не може да бъде намерена, LOOKUP ще съответства на предишната стойност, така че търсенето ще съответства на последната 1 в масива.

И накрая, LOOKUP връща съответната стойност в result_vector, която съдържа сумите в C5: C13.

Интересни статии...