Jedna funkce Excelu, kterou ve svých vzorcích používám docela dost, je funkce IF. Funkce IFse používá k otestování logického stavu a vytvoření dvou různých výsledků v závislosti na tom, zda logický stav vrátí hodnotu „TRUEnebo FALSE.
Jako příklad použijeme níže uvedenou tabulku prodeje mobilních telefonů. Můžete si stáhnout příklad souboru zde.
IF Functionwith Single Condition
Zvažte scénář, ve kterém budete muset vypočítat provizepro každý prodejní řádek, v závislosti na kde se uskutečnil prodej (sloupec D). Pokud se prodej uskutečnil v USA, je provizní poplatek10%, v opačném případě bude zbývající místa mít provizní poplatekve výši 5%.
První vzorec, který musíte zadat do buňky F2, je uveden níže:
=IF(D2="USA", E2*10%, E2*5%)
Rozdělení vzorců:
Thenyou můžete zkopírovat vzorec z CellF2do zbývajících řádků v ColumnFa vypočítá se provize provizepro každý řádek, a to buď o 10% nebo 5% v závislosti na tom, zda logický test IFvrátí hodnotu TRUEnebo FALSEv každém řádku.
In_content_1 vše: [300x250] / dfp: [640x360]->Funkce IF s vícenásobnými podmínkami
Co kdyby byla pravidla trochu složitější, pokud potřebujete testovat více než jednu logickou podmínku s vrácením různých výsledků pro každou podmínku?
Excel má na to odpověď! Můžeme kombinovat více funkcí IFve stejné buňce, která se někdy nazývá vnořená IF.
Zvažte podobný scénář, kde provizearediferentní pro každé prodejní místo:
V buňce F2(který bude později zkopírován do zbývajících řádků ve stejném sloupci F), zadejte následující vzorec:
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))
Rozdělení vzorců:
Protože Excel vyhodnotí vzorec zleva doprava, když je logický test (např. D2 = „USA“,funkce zastaví a vrátí výsledek, ignoruje další logický test po (např. D2 = „Austrálie“.)
Takže pokud se první logický test vrátí FALSE(tj. umístění není USA), bude pokračovat v hodnocení druhého logického testu. Pokud se druhý logický test vrátí FALSE(tj. místo není Austrálie), nemusíme dále testovat, protože víme, že jedinou možnou hodnotou na Cell D2je Singapurby tedy měl vrátit výsledek E2*2%
Pokud dáváte přednost jasnost, můžete přidat třetí logický test IF (D2 = „Singapur“, „hodnota if TRUE“, „value if FALSE“). Úplný rozšířený vzorec je proto znázorněn níže:
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,IF(D2="Singapore",E2*2%)))
Jak bylo uvedeno dříve, výše uvedený výsledek vrátí stejný výsledek jako původní vzorec, který jsme měli.
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))