更新日:、 作成日:

エクセル XOR 関数:2 つの条件の結果が異なるか判定する

はじめに

エクセルの XOR 関数の使い方を紹介します。

XOR 関数は 2 つの条件の結果が異なるか判定します。排他的論理和を求められます。

=XOR(TRUE,FALSE) のように、条件の結果が異なるときは TRUE になります。

=XOR(TRUE,TRUE) のように、条件の結果が同じときは FALSE になります。

=XOR(A1>=10,A1=20) のようにして、セルの値が 10 以上で 20 以外か判定できます。

複数の条件をすべて満たしているかは「AND 関数」を使用します。
複数の条件を一つでも満たしているかは「OR 関数」を使用します。
条件の結果を反転するには「NOT 関数」を使用します。
この関数は 2013 から使用できます。

XOR 関数の引数

XOR(条件1)
XOR(条件1, 条件2 …)
2 つの条件の結果が異なると TRUE を返します。同じときは FALSE を返します。

引数「条件」セルの範囲、条件を比較演算子を使って指定します。

引数「条件」

使用できる比較演算子には次のものがあります。

演算子 演算名 使用例 結果
=等しい1=2FALSE
<>等しくない1<>2TRUE
>大きい1>2FALSE
<小さい1<2TRUE
>=以上1>=2FALSE
<=以下1<=2TRUE

使い方、条件が一つ

XOR 関数の条件が一つの使い方を紹介します。

XOR 関数は複数条件を判定するためのものなので、条件が一つのときに使用する意味はありません。条件の指定の仕方として紹介します。

値が 100 以上

値が 100 以上か判定します。

=XOR(B3>=100)
6

名前がエクセル

名前が エクセル か判定します。

=XOR(B3="エクセル")
7

名前がエクセル以外

名前が エクセル 以外か判定します。

=XOR(B3<>"エクセル")
8

使い方、複数条件

XOR 関数の複数条件の使い方を紹介します。

複数条件を判定する

複数条件を判定します。

=XOR(B3,C3)

条件の結果が異なるときに結果が TRUE になります。

9

値が 10 以上かつセルの値以外

値が 10 以上でセル「C3」以外か判定します。

=XOR(B3>=10,B3=C3)
10

日付がセルの値より前または 2001/1/1 以降

日付がセル「C3」より前で 2001/1/1 以降か判定します。「DATE 関数」を使用して日付を入力できます。

=XOR(B3>=C3,B3<DATE(2001,1,1))
11

名前がエクセルかつ値が 100 未満

名前が エクセル で値が 100 未満か、
名前が エクセル 以外で値が 100 以上か判定します。

=XOR(B3="エクセル",C3>=100)
12

高度な使い方

XOR 関数と他の関数を組み合わせた使い方などを紹介します。

AND 条件を含める

名前が エクセル で、バージョンが 365 かつ値が 100 以上以外か、
名前が エクセル 以外で、バージョンが 365 かつ値が 100 以上か判定します。「AND 関数」を使用して「かつ」を判定できます。

=XOR(B3="エクセル",AND(C3=365,D3>=100))
13

OR 条件を含める

名前が エクセル で、バージョンが 365 または値が 100 以上以外か、
名前が エクセル 以外で、バージョンが 365 または値が 100 以上か判定します。「OR 関数」を使用して「または」を判定できます。

=XOR(B3="エクセル",OR(C3=365,D3>=100))
14

解説

引数「条件」が 1 つなら、条件の結果をそのまま返します。

引数「条件」が 2 つなら、結果が異なるときに TRUE を返します。通常は条件を 2 つ指定します。

引数「条件」が 3 つ以上なら、TRUE になる結果が奇数個あるときに TRUE を返します。

文字列を =<> から比較するとき、大文字と小文字を区別しません。"ABC"="abc" は TRUE になります。「EXACT 関数」を使用して大文字小文字を区別できます。

IF 関数」など条件を入力する関数を複数条件にできます。

引数「条件」の結果が数値のときは 0 なら FALSE、それ以外なら TRUE として扱います。

引数「条件」の結果が文字列のときはエラー #VALUE! になります。

文字列かどうかや空白など、特定の値を条件にする方法は「COUNTIF 関数」にまとめています。

論理関数の一覧

TRUE や FALSE を論理演算する関数には次のものがあります。

関数名 演算名 使用例 結果
AND論理積AND(TRUE,TRUE)
AND(TRUE,FALSE)
AND(FALSE,FALSE)
TRUE
FALSE
FALSE
OR論理和OR(TRUE,TRUE)
OR(TRUE,FALSE)
OR(FALSE,FALSE)
TRUE
TRUE
FALSE
NOT論理否定NOT(TRUE)
NOT(FALSE)
FALSE
TRUE
XOR排他的論理和XOR(TRUE,TRUE)
XOR(TRUE,FALSE)
XOR(FALSE,FALSE)
FALSE
TRUE
FALSE