
Üldine valem
=LOOKUP(2,1/(TEXT(dates,"mmyy")=TEXT(A1,"mmyy")),values)
Kokkuvõte
Tabeli viimase kirje otsimiseks kuude ja aastate kaupa saate kasutada funktsiooni LOOKUP funktsiooniga TEXT. Näidatud näites on valem F5-s järgmine:
=LOOKUP(2,1/(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy")),$C$5:$C$13)
kus B5: B13 ja E5: E7 sisaldavad kehtivaid kuupäevi ja C5: C13 sisaldavad summasid.
Selgitus
Märkus. Otsingu_väärtus 2 on tahtlikult suurem kui mis tahes väärtused otsinguvektoris, järgides bignumi mõistet.
Seestpoolt töötades on väljend:
(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy"))
genereerib stringid nagu "0117", kasutades veergudes B ja E olevaid väärtusi, mida seejärel omavahel võrreldakse. Tulemuseks on selline massiiv:
(TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)
kus TRUE tähistab sama kuu ja aasta kuupäevi. Seejärel jagatakse number 1 selle massiiviga. Tulemuseks on massiiv kas 1-st või jagatud nullveaga (# DIV / 0!):
(1;1;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!)
mis läheb otsingu massiivina LOOKUP-i. LOOKUP eeldab, et andmed on järjestatud kasvavas järjekorras ja vastavad alati ligikaudsele vastele. Kui otsingu väärtust 2 ei leita, sobib LOOKUP eelmise väärtusega, nii et otsing sobib massiivi viimase 1-ga.
Lõpuks tagastab LOOKUP vastava väärtuse tulemus_vektoris, mis sisaldab summasid väärtustes C5: C13.