
IFS
Funkce IFS vyhodnocuje zadané výrazy a vrátí hodnotu odpovídající první podmínce, která má logickou hodnotu PRAVDA.
IFS(logický-výraz; pokud-pravda; logický-výraz…; pokud-pravda…)
logický-výraz: Jakýkoli logický výraz. Argument logický-výraz může obsahovat jakýkoli výraz, jehož výsledkem je logická hodnota. Pokud je výraz hodnocen jako číslo, bude 0 vyhodnocena jako NEPRAVDA a ostatní čísla jako PRAVDA.
pokud-pravda: Hodnota, která bude vrácena, pokud má logický-výraz hodnotu PRAVDA. Argument pokud-pravda může obsahovat hodnotu libovolného typu. Je-li argument pokud-pravda vynechán (je zadána čárka bez hodnoty) a logický-výraz má hodnotu PRAVDA, funkce IFS vrátí hodnotu 0.
logický-výraz…: Nepovinný logický výraz, který má být vyhodnocen, pokud má logický-výraz hodnotu NEPRAVDA. Argument logický-výraz může obsahovat jakýkoli výraz, jehož výsledkem je logická hodnota. Pokud je výraz hodnocen jako číslo, bude 0 vyhodnocena jako NEPRAVDA a ostatní čísla jako PRAVDA.
pokud-pravda…: Hodnota, která bude vrácena, pokud má logický-výraz… hodnotu PRAVDA. Argument pokud-pravda může obsahovat hodnotu libovolného typu. Je-li argument pokud-pravda vynechán (je zadán středník bez hodnoty) a logický-výraz má hodnotu PRAVDA, funkce IFS vrátí hodnotu 0.
Poznámky
Pokud mají všechny výrazy hodnotu NEPRAVDA, funkce vrátí chybu.
Jako poslední argument logický-výraz… ve vzorci můžete zadat hodnotu „PRAVDA“ následovanou výchozí hodnotou argumentu pokud-pravda…, která určí výsledek v případě, že všechny předchozí výrazy (logický-výraz i všechny výskyty argumentu logický-výraz…) mají hodnotu NEPRAVDA.
Použití funkce IFS k více porovnáním |
---|
Následující tabulka zobrazuje seznam se známkami studentů. |
A | B | C | |
---|---|---|---|
1 | Student | Výsledek | Hodnocení |
2 | 1 | 4 | Znamenitý |
3 | 2 | 2 | Začátečník |
4 | 3 | 3 | Zdatný |
5 | 4 | Neúplné | |
6 | 5 | 3,2 | Zdatný+ |
7 | 6 | 3,2 | Nováček |
Následující tabulka vrací hodnocení související s bodovým hodnocením ve výše uvedené tabulce pomocí více argumentů logického-výrazu…. ![]() V tomto vzorci byly použity následující argumenty:
Chcete-li výše uvedený vzorec použít pro ostatní buňky tabulky, změňte B2 v každém if-výrazu na jinou buňku obsahující hodnocení. |
Použití funkce PRAVDA pro logický-výraz… |
---|
Někdy se žádný z výrazů nevyhodnotí jako PRAVDA. Místo nastavení vrácení chyby však můžete v konečném logického-výrazu nastavit vrácený řetězec. Ve výše uvedené tabulce nemá 4. student žádné hodnocení, takže předchozí vzorec by pro tohoto studenta vrátil chybu. Tento student možná chyběl a musí ještě dokončit úkol, takže místo ponechání chyby můžete přidat další logický-výraz, který označí chybějící výsledky jako "Neúplné": ![]() V tomto příkladu je odkaz na buňku změněn tak, aby odpovídal buňce s výsledky pro 4. studenta. Všechny argumenty jsou však stejné jako výše a na závěr je přidán ještě jeden logický-výraz:
|
Složitější porovnání |
---|
V některých případech můžete pracovat se složitějšími výrazy, ve kterých je třeba použít kombinaci porovnávacích operátorů. Například výše uvedená škála používá celá čísla, ale jiný student (Student 6) mohl třeba dosáhnout ohodnocení 3,2. Pro zohlednění studentů, jejichž výsledky se pohybují mezi čtyřmi hlavními hodnoceními (B6 může být 3,2, tedy hodnocení Studenta 5), můžete použít níže uvedený vzorec: ![]() V tomto příkladu jsou mezi hodnocení Zdatný, Začátečník a Nováček přidány další argumenty logického-výrazu….
To funguje, protože funkce IFS hledá první pravdivý výraz. Pokud studentův výsledek není 4, funkce IFS ověří, zda je výsledek vyšší než 3; výsledek 5 studenta by odpovídal hodnocení Zdatný+. Dalším příkladem může být student s výsledkem 2,5, jehož hodnocení by bylo Začátečník+, protože jeho výsledek není 4, větší než 3 nebo 3, ale je větší než 2. |
Použití funkce IFS v kombinaci s jinými funkcemi |
---|
Funkci IFS lze použít v kombinaci s jinými funkcemi. Tato funkce, například pomocí funkce MOD, určí, zda je rok v buňce A2 (v tomto příkladu A2=2020) přestupný: ![]() Chcete-li porovnat, zda nejsou dvě hodnoty shodné, použijte operátor porovnání <>. |
Další příklady |
---|
Výraz =IFS(A2>91;"1";A2>82;"2";A2>73;"3";A2>64;"4";PRAVDA;"5") vrátí hodnocení známkou 1 pro číslo větší než 91, hodnocení známkou 2 pro číslo větší než 82, ale menší než 92 atd. až po hodnoty menší než 65, pro které vrátí hodnocení známkou 5. Výraz =IFS(A2>91;"1";A2>82;"2";A2>73;"3";A2>64;"D",A2<>0,"Pokusil/a se",PRAVDA,"Neprospěl") vrátí hodnocení známkou 1 pro číslo větší než 91, hodnocení známkou 2 pro číslo větší než 82, ale menší než 92 atd. až po hodnoty menší než 65, ale nikoli rovné 0, pro které vrátí hodnocení "Pokusil/a se". Pro hodnotu 0 vzorec vrátí hodnocení "Neprospěl". Předpokládejme, že buňka A2 obsahuje řetězec „Psí život“. Předpokládejme, že A1 = COUNTMATCHES(A2; REGEX("\w+")). Vzorec =IFS(A1 = 0; "Žádná slova"; A1 = 1; "Jedno slovo"; A1 = 2; "Dvě slova"; A1 > 2; "Více slov") vrátí text „Dvě slova“. |