
Na vyhľadanie najnovšej ceny produktu v zozname zoradeného tak, aby sa najnovšie položky zobrazovali ako posledné, môžete použiť vzorec založený na Funkcia LOOKUP . V príklade ukazuje vzorec v G7:
ako urobiť percentnú zmenu v exceli
= LOOKUP (2,1/(item='hat'),price)
kde položka je pomenovaný rozsah B5: B12, cena je pomenovaný rozsah D5: D12 a údaje sú zoradené vzostupne podľa dátumu.
VysvetlenieFunkcia LOOKUP predpokladá, že údaje sú zoradené a vždy sa zhodujú. Ak je hodnota vyhľadávania väčšia ako všetky hodnoty vo vyhľadávacom poli, predvolené správanie je „vrátiť sa“ k predchádzajúcej hodnote. Tento vzorec využíva toto správanie tým, že vytvorí pole, ktoré obsahuje iba 1 s a chyby, a potom zámerne hľadá hodnotu 2, ktorá sa nikdy nenájde.
Najprv sa vyhodnotí tento výraz:
= LOOKUP (2,1/(item=F7),price)
Keď F7 obsahuje „sandále“, výsledkom je pole hodnôt TRUE a FALSE takto:
item=F7
Toto pole je k dispozícii ako deliteľ 1:
{FALSETRUEFALSETRUEFALSEFALSETRUEFALSE}
Matematická operácia automaticky vynuluje hodnoty PRAVDA a NEPRAVDA na 1 s a 0 s, takže výsledkom je ďalšie pole takto:
1/{FALSETRUEFALSETRUEFALSEFALSETRUEFALSE}
vrátený priamo do funkcie LOOKUP ako argument vyhľadávacieho vektora.
Všimnite si, že pole obsahuje iba dve jedinečné hodnoty: chyba delenia nulou (#DIV/0!) A číslo 1.
LOOKUP hľadá v poli hodnotu 2, pričom ignoruje chybové hodnoty. Ak nenájdeme 2, vráti sa na poslednú 1 v pozícii 7 vo vyhľadávacom vektore. LOOKUP potom vráti 7. položku vo vektore výsledkov (pomenovaný rozsah „cena“), hodnotu 15.
Ak si chcete prečítať viac o koncepte zámerného hľadania hodnoty, ktorá sa nikdy nezobrazí, prečítajte si o BigNum .
Autor Dave Bruns