XOR 関数は、どちらか一方だけが TRUE のときに TRUE を返す関数です(排他的論理和)。=XOR(B2>=60,C2>=60) と書くと、筆記と実技のどちらか片方だけが 60 点以上の人が TRUE になります。両方とも 60 点以上の人は FALSE です。
この記事では、XOR の使い方と OR との違いを、実際の Excel で確かめた結果で説明します。
XOR 関数の書き方
=XOR(論理式1, [論理式2], …)
| 引数 | 意味 |
|---|---|
| 論理式 | 「B2>=60」のような TRUE か FALSE になる式 |
条件が 2 つのときは「どちらか一方だけ」です。3 つ以上のときは「TRUE の数が奇数なら TRUE」になります(下の検証)。
1. どちらか一方だけ 60 点以上かを判定する
I2 に式を入れて、下へコピーします。
=XOR(B2>=60,C2>=60)

佐藤(72・55)は TRUE、両方 60 点以上の鈴木は FALSE、両方 60 点未満の田中は FALSE でした。
2. 「片方だけ合格」と表示する
IF と組み合わせて、片方だけ合格した人に文字を出します。追試の対象を見つけるときなどに使えます。
=IF(XOR(B2>=60,C2>=60),"片方だけ合格","")

佐藤と高橋に「片方だけ合格」と表示されました。
3. OR とくらべる
OR は「どちらか(両方でもよい)」が TRUE なら TRUE です。
=OR(B2>=60,C2>=60)

鈴木は XOR では FALSE でしたが、OR では TRUE になりました。ちがいは「両方 TRUE のとき」だけです。OR の使い方は OR関数の使い方で説明しています。
【実機で検証】XOR でつまずくところ

| ためしたこと | 式 | 結果 |
|---|---|---|
| XOR(TRUE,TRUE) | =XOR(TRUE,TRUE) | FALSE |
| XOR(TRUE,FALSE) | =XOR(TRUE,FALSE) | TRUE |
| XOR(TRUE,TRUE,TRUE)(3 つとも TRUE) | =XOR(TRUE,TRUE,TRUE) | TRUE |
| XOR(1,0)(数) | =XOR(1,0) | TRUE |
| 筆記が 60 点以上の人数が奇数か | =XOR(XOR!B2:B6>=60) | TRUE |
| 文字(”a”)と TRUE | =XOR("a",TRUE) | TRUE |
XOR(TRUE,TRUE) は FALSE、XOR(TRUE,FALSE) は TRUE でした。
3 つとも TRUE の XOR(TRUE,TRUE,TRUE) は TRUE になりました。3 つ以上では「1 つだけ TRUE」ではなく「TRUE の数が奇数」かどうかを判定します。「1 つだけ」を調べたいときは =COUNTIF(…)=1 のように数えます。
数の 1・0 も TRUE・FALSE として扱われ TRUE です。範囲 B2:B6>=60 を入れると、60 点以上の人数(3 人)が奇数なので TRUE でした。文字の “a” と TRUE を入れると TRUE で、文字は無視されました(エラーにはなりません)。
よくある質問
両方とも条件に合うかを調べたいときは?
AND 関数を使います。AND関数の使い方で説明しています。
XOR が使えないときは?
XOR は Excel 2013 以降の関数です。2 つの条件なら =(B2>=60)<>(C2>=60) と書いても同じ結果になります。
片方だけ合格した人に色を付けたいときは?
条件付き書式で =XOR($B2>=60,$C2>=60) と書くと、その人の行に色を付けられます。
あわせて読みたい:関連記事
ビットごとのAND・OR・XORを計算するなら、BITAND・BITOR・BITXOR関数の使い方もあわせてご覧ください。

コメント