スプレッドシートのXOR関数とは
XOR関数は、提供された引数のうち奇数個が論理的にTRUEである場合にTRUEを返し、そうでない場合はFALSEを返す論理関数です。この関数は排他的論理和と呼ばれ、複数の条件のうち偶数個ではなく奇数個が真である場合にのみ結果が真になるという特殊な論理演算を実行します。
英名では「Exclusive OR」と言われており、通常のOR関数とは異なり、すべての引数がTRUEの場合にはFALSEを返すことが特徴です。数値の0は論理的にfalseとして扱われ、負の数を含むその他すべての数値は論理的にtrueとして扱われる仕様になっています。
【PR】プログラミングや生成AIを無料で学べる「コードキャンプフリー」
基本的な構文とパラメータの指定方法
XOR関数の基本構文はXOR(logical_expression1, [logical_expression2, ...])となっており、最初の論理式は必須で2番目以降は任意です。第一引数には論理値を表現する式やセル参照を指定し、第二引数以降には追加の論理式やセル参照を必要に応じて指定できます。
=XOR(TRUE, FALSE, TRUE)
=XOR(A2=TRUE, A3=FALSE)
=XOR(A1:A10, B1:B10)
上記のサンプルコードでは、直接的な論理値、比較演算の結果、およびセル範囲を引数として使用する方法を示しています。XOR関数は論理値パラメータと範囲パラメータの両方を受け入れるため、柔軟な条件設定が可能です。
範囲を指定した場合、その範囲内のセルがすべて個別の論理式として評価され、奇数個のTRUE値が存在する場合にのみ関数全体がTRUEを返します。複数のセル範囲を同時に指定することで、より複雑な条件判定を一つの関数で実現できます。
実際の計算例と結果パターンの理解
XOR(TRUE, FALSE)の場合は1個の引数がTRUEなので結果はTRUE、XOR(TRUE, TRUE)の場合は2個の引数がTRUEなので結果はFALSEとなります。この特性により、2つの条件が異なる場合にのみTRUEを返し、同じ場合にはFALSEを返すという排他的な判定が行われます。
=XOR(TRUE, FALSE) // 結果: TRUE
=XOR(FALSE, FALSE) // 結果: FALSE
=XOR(TRUE, TRUE) // 結果: FALSE
数値を引数として使用する場合、XOR(0, 1)はTRUE、XOR(1, 5)はFALSEという結果になります。これは0以外のすべての数値が論理的にTRUEとして扱われるためで、1と5は両方ともTRUE扱いとなり偶数個のTRUEとなるためFALSEが返されるのです。
3つ以上の引数を指定した場合でも同様の原理が適用され、引数の中でTRUEとして評価される値の個数が奇数であればTRUE、偶数であればFALSEが返されます。この仕組みにより、複数の条件の中で奇数個だけが満たされている状況を効率的に検出できます。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- Canvaとは?使い方やアカウント登録などを初心者向けに解説
- git configで設定情報を確認・表示する方法
- 「Pythonはやめとけ」と言われる理由と学習するメリット
- Ubuntuのversionを確認する方法
- Geminiで画像を生成する方法|ChatGPTとの比較結果も紹介