Екцел формула: Потражите најновију цену -

Генеричка формула

=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.

Да бисте прочитали више о концепту намерног тражења вредности која се никада неће појавити, прочитајте о БигНум-у.

Занимљиви Чланци...