
Генеричка формула
=LOOKUP(2,1/(item="hat"),price)
Резиме
Да бисте потражили најновију цену производа на листи, сортирану тако да се најновије ставке појаве последње, можете да користите формулу засновану на функцији ЛООКУП. У примеру примера, формула у Г7 је:
=LOOKUP(2,1/(item=F7),price)
где је ставка именовани опсег Б5: Б12, цена је именовани опсег Д5: Д12, а подаци се сортирају растуће према датуму.
Објашњење
Функција ЛООКУП претпоставља да су подаци сортирани и увек се приближно подударају. Ако је вредност прегледа већа од свих вредности у низу прегледа, подразумевано понашање је „враћање“ на претходну вредност. Ова формула искоришћава ово понашање стварањем низа који садржи само 1 и грешке, а затим намерно тражи вредност 2, која никада неће бити пронађена.
Прво се вреднује овај израз:
item=F7
Када Ф7 садржи „сандале“, резултат је низ ТРУЕ и ФАЛСЕ вредности попут ове:
(FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE)
Овај низ је дељен на 1:
1/(FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE)
Математичка операција аутоматски присиљава вредности ТРУЕ и ФАЛСЕ на 1с и 0с, па је резултат још један низ попут овог:
(#DIV/0!;1;#DIV/0!;1;#DIV/0!;#DIV/0!;1;#DIV/0!)
вратио директно у функцију ЛООКУП као аргумент вектора тражења.
Приметите да низ садржи само две јединствене вредности: грешка дељења са нулом (# ДИВ / 0!) И број 1.
ЛООКУП претражује низ вредност 2, занемарујући вредности грешке. Не проналазећи 2, враћа се на последњу 1, на позицију 7 у вектору претраживања. ЛООКУП затим враћа 7. ставку у вектору резултата (именовани опсег „цена“), вредност 15.
Да бисте прочитали више о концепту намерног тражења вредности која се никада неће појавити, прочитајте о БигНум-у.