XOR関数:すべての論理式の排他的論理和を返す
XOR 関数は Excel で用意されている関数の一つで、引数に指定したすべての論理式の排他的論理和を返します。例えば引数が 2 つの場合、どちらか片方だけが TRUE の場合に TRUE を返し、両方とも TRUE または両方とも FALSE の場合は FALSE を返します。ここでは Excel における XOR 関数の使い方について解説します。
※ Excel の対応バージョン : 365 web 2021 2019 2016 2013
(Last modified: )
XOR関数の定義
XOR
関数は引数に指定したすべての論理式の排他的論理和を取り、 TRUE または FALSE を返します。
引数に 2 つの論理式を指定した場合、 XOR
関数は次のような値を返します。
論理式1 | 論理式2 | XOR(論理式1,論理式2) |
---|---|---|
TRUE | TRUE | FALSE |
TRUE | FALSE | TRUE |
FALSE | TRUE | TRUE |
FALSE | FALSE | FALSE |
XOR
関数は引数の一つが TRUE でもう一つが FALSE の場合だけ TRUE を返します。引数が両方とも TRUE または 両方とも FALSE の場合は FALSE を返します。論理式が 3 つ以上指定されている場合、 TRUE の数が奇数の場合は TRUE を返し、 TRUE が偶数の場合は FALSE を返します。
例えばセル B2 に 30 、 C2 に 85 という値が入力されていた場合、 XOR
関数の 1 つ目の引数に B2 > 50
、 2 つ目の引数に C2 > 70
と指定すると、 XOR
関数の 1 番目の引数は FALSE ですが 2 番目の引数は TRUE となるため XOR
関数は TRUE を返します。
=XOR(B2>50,C2>70) --> TRUE
例えばセル D2 に 84 、 E2 に 78 という値が入力されていた場合、 XOR
関数の 1 つ目の引数に D2 > 50
、 2 つ目の引数に E2 > 70
と指定すると、 XOR
関数の 1 番目の引数も 2 番目の引数も TRUE となるため XOR
関数は FALSE を返します。
=XOR(D2>50,E2>70) --> FALSE
IF関数の中でXOR関数を使用する
IF
関数は 1 番目の引数に論理式を指定します。 AND
関数や XOR
関数は結果として論理式を返しますので、 IF
関数の 1 番目の引数に XOR
関数を記述することで少し複雑な条件式を記述することができます。
=IF(XOR(B2>75,C2>75),"追試","不要") --> 追試
上記の場合、 B2 セルに入力されている値が 75 より大きいか、 C2 セルに入力されている値が 75 より大きいか、どちらか片方だけが TRUE の場合に IF
関数の 1 番目の引数が TRUE となります。
※ IF
関数の使い方については「条件が真の場合と偽の場合で異なる値を返す(IF)」を参照されてください。
XOR関数の使い方
それでは実際に XOR
関数を使ってみます。 Excel のシートに対象の数値を次のように入力しました。
今回、「算数」および「国語」の点数がどちらか一つだけ 75 点よりも多い場合を追試の対象として TRUE を表示し、それ以外の場合は FALSE を表示するようにします。両方とも 75 点より多い場合や両方とも 75 点以下の場合は対象ではありません。
結果を表示する E3 セルを選択し、次のように入力しました。 XOR
関数の 1 番目の引数に 1 つ目の論理式として C3 > 75
、 2 つ目の引数に 2 つ目の論理式として D3 > 75
を記述します。
=XOR(C3>75,D3>75)
Enter
キーを押すと、 E3 セルには次のように表示されます。
XOR
関数の 1 つめの引数が TRUE 、 2 つめの引数が TRUE でしたので XOR
関数は FALSE を返しました。
同じように E4 セルから E7 セルに対しても同じように XOR
関数を入力すると次のように表示されました。
1 つ目の引数か 2 つ目の引数のどちらか片方だけが TRUE の場合は TRUE 、両方の引数が TRUE または FALSE の場合は FALSE と表示されました。
※ 論理式を記述するときに使用する比較演算子については「比較演算子と算術演算子の利用」を参照されてください。
-- --
Excel における XOR 関数の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。