Vyhledání přibližné shody

Ve článku o argumentu typ funkce SVYHLEDAT jsme si řekli, jaký je rozdíl, když do tohoto argumentu vyplníme 0 nebo 1. V případě 0 nám funkce hledá v prvním sloupci tabulky přesně tu hodnotu, kterou zadáme, jinak nám vrátí chybu #NENÍ_K_DISPOZICI. V tomto článku se podíváme na příklad, kde bychom vyplnili 1 (nebo argument nechali prázdný) a vyhledávali tzv. přibližnou shodu.

Přibližná shoda se používá ve chvíli, kdy může nastat případ vyhledávání něčeho, co v prvním sloupci tabulky není. Většinou se jedná o čísla. V tabulce tedy můžeme mít jen některá čísla (např. 1, 3, 5), ale vyhledávat můžeme i čísla jiná (např. 4). V takovém případě nám funkce SVYHLEDAT najde vždy číslo, které je nejbližší nižší k tomu, které vyhledáváme (pro číslo 4 je to 3).

ceník balíků

V příkladu máme ceník balíků České pošty dle nejdelšího rozměru. Vidíme tedy, jaký může být maximální rozměr balíku pro danou cenovou kategorii. Bude-li mít balík nejdelší rozměr např. 70 cm, znamená to, že patří do kategorie do 100 cm. Cena, kterou bychom zaplatili, by byla 209 Kč.

Problémem však je, že při použití přibližné shody a hledání hodnoty, která v tabulce není (70), se funkce SVYHLEDAT orientuje podle nejbližší nižší hodnoty a ne naopak. Pro číslo 70 je v tabulce nejbližší nižší hodnotou číslo 50. Funkce by nám tedy chybně vrátila cenu 159 Kč.

Pro to, aby nám funkce fungovala správně, budeme muset tabulku upravit. Nesmíme tedy uvést, do jakého rozměru cena platí, ale naopak od jakého. Stačí, když první sloupec posuneme o jednu buňku dolů a na první místo vyplníme číslo 0.

upravený ceník balíků
vyhledávání příbližné shody

Sešit používaný ve videu můžete stáhnout zde.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.