
Vispārēja formula
=LOOKUP(2,1/(TEXT(dates,"mmyy")=TEXT(A1,"mmyy")),values)
Kopsavilkums
Lai meklētu tabulas pēdējo ierakstu pēc mēnešiem un gadiem, varat izmantot funkciju LOOKUP ar funkciju TEXT. Parādītajā piemērā formula F5 ir:
=LOOKUP(2,1/(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy")),$C$5:$C$13)
kur B5: B13 un E5: E7 satur derīgus datumus, un C5: C13 - summas.
Paskaidrojums
Piezīme: 2 meklēšanas_vērtība ir apzināti lielāka nekā jebkuras vērtības meklēšanas_vektorā, ievērojot bignum jēdzienu.
Strādājot no iekšpuses, izteiciens:
(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy"))
ģenerē virknes, piemēram, "0117", izmantojot B un E kolonnas vērtības, kuras pēc tam tiek salīdzinātas viena ar otru. Rezultāts ir šāds masīvs:
(TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)
kur TRUE apzīmē datumus tajā pašā mēnesī un gadā. Pēc tam skaitlis 1 tiek dalīts ar šo masīvu. Rezultāts ir masīvs ar 1 vai dalīts ar nulles kļūdām (# DIV / 0!):
(1;1;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!)
kas tiek izmantots LOOKUP kā uzmeklēšanas masīvs. LOOKUP pieņem, ka dati ir sakārtoti augošā secībā un vienmēr veic aptuvenu atbilstību. Kad uzmeklēšanas vērtību 2 nevar atrast, LOOKUP sakritīs ar iepriekšējo vērtību, tātad uzmeklēšana sakritīs ar masīva pēdējo 1.
Visbeidzot, LOOKUP atgriež atbilstošo vērtību result_vector, kas satur summas C5: C13.