Přeskočit na obsah

XorExcel

enXOR

Funkce je přezdívaná jako exkluzivní NEBO a vrací hodnotu PRAVDA, pokud lichý počet zadaných podmínek je pravdivý. Pokud je počet pravdivých podmínek sudý nebo žádná podmínka není pravdivá, vrátí NEPRAVDA.

=XOR(Logická1;[Logická2]…[LogickáN])

Logická1 (povinný)– První podmínka, která se vyhodnocuje jako Pravda/Nepravda

Logická2…LogickáN (volitelný) – Další podmínky ke kontrole.

Funkce funguje jako exkluzivní logická operace. Pokud je počet PRAVDA lichý → výsledek je PRAVDA. Pokud je počet PRAVDA sudý nebo žádný → výsledek je NEPRAVDA. Lze použít místo funkce Nebo, pokud je nutné vyhodnotit pouze lichý počet podmínek jako Pravda.

Pokud budeme chtít porovnávat, zdali v sloupci „A“ je hodnota vyšší než 1000 nebo pobočka se rovná Praze, přičemž lichý počet PRAVDA musí být navrácen, aby výstupem byla Pravda, je možné si všimnou, že v druhém a třetím řádku hodnot je PRAVDA, jelikož je splněna vždy pouze jedna podmínka, tedy lichý počet splněných podmínek. Pokud je splněn sudý počet podmínek, tedy 2 nebo žádná, bude výstupem NEPRAVDA.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

Pokud bychom do funkce vložili logické funkce Pravda a Nepravda, přičemž vidíme, že Pravda je zde 2x, tak výstupem této funkce by byla NEPRAVDA.

=XOR(PRAVDA;NEPRAVDA;PRAVDA)

Pokud by ve funkci byl pouze lichý počet PRAVDA, jako zde jedna, výstupem funkce bude také Pravda.

=XOR(PRAVDA;NEPRAVDA;NEPRAVDA)

Funkce se dá využívat zejména jako vnořená funkce do podmínkové funkce Když v případě, kdy výstupem nemá být pouze Pravda/Nepravda, ale má být navrácen nějaký text, výpočet nebo další vnořené funkce. Pokud v následujícím případě bude splněna pouze jedna podmínka, bude hodnota ze sloupce „A“ vynásobena 10%.

=KDYŽ(XOR(A2>1000;B2=“Praha“);G2*0,1;0)

Stejná logika funguje s podobnou funkcí Když, a to funkcí Switch. Pokud bude lichý počet podmínek splněn, má být navrácen text „Lichý“, jinak „Sudý“.

=SWITCH(XOR(A2>1000;B2=“Praha“);PRAVDA;“Lichý“;“Sudý“)

© 2026 Excelland