„Excel“ formulė: Ieškoti naujausios kainos -

Bendroji formulė

=LOOKUP(2,1/(item="hat"),price)

Santrauka

Norėdami sužinoti naujausią produkto kainą sąraše, surūšiuotą taip, kad paskutiniai elementai būtų rodomi paskutiniai, galite naudoti formulę, pagrįstą funkcija LOOKUP. Parodymo pavyzdyje formulė G7 yra:

=LOOKUP(2,1/(item=F7),price)

kur elementas yra pavadintas diapazonas B5: B12, kaina yra pavadintas diapazonas D5: D12, o duomenys rūšiuojami didėjant pagal datą.

Paaiškinimas

Funkcija LOOKUP daro prielaidą, kad duomenys yra rūšiuojami, ir visada atitinka apytikslę atitiktį. Jei paieškos vertė yra didesnė už visas paieškos masyvo reikšmes, numatytasis elgesys yra „grįžti“ į ankstesnę vertę. Ši formulė išnaudoja šį elgesį sukurdama masyvą, kuriame yra tik 1 ir klaidos, tada sąmoningai ieškoma 2 vertės, kurios niekada nebus.

Pirma, ši išraiška yra įvertinta:

item=F7

Kai F7 yra „sandalai“, gaunamas tokių TRUE ir FALSE reikšmių masyvas:

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

Šis masyvas pateikiamas kaip daliklis į 1:

1/(FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE)

Matematikos operacija TRUE ir FALSE reikšmes automatiškai priverčia į 1s ir 0s, taigi rezultatas yra kitas toks masyvas:

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

grįžo tiesiai į LOOKUP funkciją kaip paieškos vektoriaus argumentą.

Atkreipkite dėmesį, kad masyve yra tik dvi unikalios vertės: padalijimas iš nulio klaidos (# DIV / 0!) Ir skaičius 1.

LOOKUP ieško masyvo 2 reikšmei, nepaisydamas klaidos verčių. Neradus 2, jis nukrenta į paskutinį 1, 7-oje paieškos vektoriaus pozicijoje. Tada LOOKUP grąžina 7-tą elementą rezultato vektoriuje (pavadintą diapazoną „kaina“), 15 vertę.

Norėdami daugiau sužinoti apie sąmoningo ieškojimo vertės, kuri niekada nebus rodoma, sampratą, skaitykite apie „BigNum“.

Įdomios straipsniai...