V tomto videu se podíváme na to, jak zjednodušit některé vzorce, které jsme vytvořili v předchozím videu, nahrazením příkazů IF funkcí MIN a trochou logické logiky.
Pokud jste tak ještě neučinili, nezapomeňte si prohlédnout první video.
V příkladu máme vzorce, které vypočítají shodu společnosti pro důchodový plán sponzorovaný zaměstnavatelem ve dvou úrovních.
Obě úrovně používají jeden nebo více příkazů IF a druhý vzorec je trochu komplikovaný.
Pojďme se podívat na to, jak vzorce trochu zjednodušit.
=IF(C5<=4%,C5*B5,4%*B5)
U úrovně 1 je zápas společnosti omezen na 4%. Pokud je odklad menší než nebo rovný 4%, můžeme jej jednoduše použít tak, jak je, a vynásobit C5 B5, ale když je odklad větší než 4%, vynásobíme 4% krát B5.
Nejprve tedy můžeme věci trochu zjednodušit tím, že funkce IF zjistíme procenta. Výsledek poté vynásobte B5.
=IF(C5<=4%,C5,4%)*B5
Pokud je to možné, je vždy dobré odstranit duplikaci ve vzorci.
Můžeme ale také úplně odstranit IF pomocí MIN.
=MIN(C5,4%)*B5
V podstatě vezmeme menší z C5 nebo 4% a vynásobíme B5. Není třeba IF.
Pro úroveň 2 máme složitější vzorec:
=IF(C5<=4%,0,IF(C5<=6%,(C5-4%)*B5,2%*B5))*50%
Ve vnějším IF zkontrolujeme odklad. Pokud je to méně než 4%, máme hotovo. To znamená, že celý zápas byl zpracován na úrovni 1, takže úroveň 2 je nulová.
Pokud je však odklad větší než 4%, použijeme jiný IF. Tento IF zkontroluje, zda je odklad menší nebo roven 6%. Pokud ano, odečteme 4% a vynásobíme B5. Pokud ne, použijeme pouze 2%, protože dvě procenta jsou maximální shodou na úrovni 2.
Pojďme nejprve přesunout B5 z IF jako předtím.
=IF(C5<=4%,0,IF(C5<=6%,C5-4%,2%)*B5)*50%
Nyní můžeme přepsat vnitřní IF s MIN podobným tomu, co jsme udělali na 1. úrovni.
=IF(C5>4%,MIN(2%,C5-4%),0%)*B5*50%
Vezměte menší 2% nebo C5-4%, poté vynásobte B5.
Jedná se o jednodušší vzorec, ale pomocí booleovské logiky můžeme jít ještě o krok dále.
Všimněte si, že C5> 4% je logický výraz, který vrací TRUE nebo FALSE. Nyní v aplikaci Excel TRUE vyhodnotí 1 a FALSE vyhodnotí nulu.
To znamená, že můžeme odebrat IF a jen vynásobit výrazové časy zbytku vzorce:
=(C5>4%)*MIN(2%,C5-4%),0%)*50%*B5
Pokud C5 není větší než 4%, vrátí výraz FALSE (nebo nulu) a zruší zbytek vzorce, protože nula krát cokoli je nula.