XOR関数 ● 成立する条件が奇数個かどうかを調べる

[Excel 2013以降]

Excelの XOR(エクスクルーシブ・オア)関数の使い方を紹介します。XOR関数は、Excel 2013で追加された関数です。

スポンサーリンク

書式

成立する条件が奇数個かどうかを調べる
=XOR(論理式1, [論理式2]…)

[論理式]に指定した条件のうち、成立する条件が奇数個ある場合に TRUE(Yes、真、成立)を返します。偶数個の場合は FALSE(No、偽、不成立)を返します。
つまり、結果が TRUE になる[論理式]を奇数個指定した場合の XOR関数の戻り値は TRUE、偶数個指定した場合の XOR関数の戻り値は FALSEということです。
[論理式]は254個まで指定できます。

■引数

引数 説明
論理式 条件を表す論理式を指定する。論理式とは、結果が TRUE(Yes、真、成立)かFALSE(No、偽、不成立)のどちらかになる式。

引数の[論理式]を2つ指定した場合、いずれか一方が TRUE なら TRUE、両方とも TRUE または両方とも  FALSE なら FALSEが返されます。

条件1 条件2 → XOR関数の戻り値
TRUE TRUE → FALSE
TRUE FALSE → TRUE
FALSE TRUE → TRUE
FALSE FALSE → FALSE

ベン図で表した場合、2つの円から重なり部分を除いた領域(下図の青く塗りつぶされた部分)が TRUEで 、それ以外の領域(下図の白い部分)が FALSE です。

図1
青い領域が TRUE、白い領域が FALSE

使用例1…1科目だけが 60点以上であるかどうかを調べる

XOR関数を使用して、「科目Aと科目Bのどちらか一方だけが60点以上」という条件が成立するかどうかを調べます。成立する場合は、セルに「TRUE」が表示されます。成立しない場合は「FALSE」が表示されます。

=XOR(論理式1, [論理式2]…)

セルD3 | =XOR(B3>=60,C3>=60)

図2 セルD3に XOR 関数を入力して、セルD7までコピーする。

メモ

TRUE が奇数個の場合に TRUE
XOR関数は、複数の論理式の中で 「TRUE が 1つある」ことを判定する関数ではありません。「TRUE が奇数個ある」ことを判定する関数です。勘違いしやすいので注意してください。
「複数の論理式の中で TRUE が 1つある」かどうかを調べたい場合は、COUNTIF関数を使用します。以下のように数式を立てると、図2のXOR関数と同様の結果になります。
=COUNTIFS(B3:C3,">=60")=1

使用例2…1科目だけが 60点以上の場合に「補欠合格」と表示する

図3では、IF関数とXOR関数を組み合わせて、1科目だけが60点以上の場合に「補欠合格」と表示しています。2科目とも60点以上の場合や、2科目とも60点に満たない場合は、何も表示しません。

条件の真偽に応じて結果を2通りに分ける
=IF(論理式, [真の場合], [偽の場合])

セルE3 | =IF(XOR(B3>=60,C3>=60),"補欠合格","")

図3 セルE3に IF 関数と XOR 関数の入れ子の数式を入力して、セルE7までコピーする

ちなみに、図3のセルD3には、次の式が入力されています。
=IF(AND(B3>=60,C3>=60),"合格","")

メモ

使いどころが難しい
XOR関数の名前の由来は、「XOR」という略称で呼ばれる「排他的論理和」という論理演算です。排他的論理和では、一方が真の場合に真となり、両方真や両方偽の場合は偽となります。
論理演算において排他的論理和は重要な演算です。一方、ビジネスシーンにおいてXOR関数を使う機会はあまりないかもしれません。図3の使用例も、実用的な例とは言えません。XOR関数の挙動を確認するための例ととらえてください。
スポンサーリンク

関連記事