K-fix Learning & Playing

03 論理式


Excelで使われる論理式は、比較演算子を使った式で、結果は「真」または「偽」のどちらかを評価します。また、論理式の結果を「論理値/真偽値」と呼びます。

通常の論理式は、条件1つの式で「A = B」(AとBは等しい)、「C >= D 」(CはD以上)のような式ですが、2つの条件とも満たしているのか、または複数条件のいずれかを満たしているのかを評価・判定する場合は「論理演算式」を利用します。

Excelで代表的な論理演算式としてAND関数とOR関数があります。AND関数は「論理積」、OR関数は「論理和」と呼びます。引数は、どちらとも論理式が並びます。

AND関数、OR関数の引数は最大255個の論理式を指定することができます。
もし、255個の引数が指定されている場合、AND関数は255個の論理式がすべて真である場合にTRUEを返し、一つでも偽である場合にFALSEを返します。OR関数であれば、すべてが偽である場合にFALSEを返し、1つでも真があればTRUEを返します。
例えば、「=AND(A1>=80,B1>=80,C1>=80,…,IW1>=80)」という数式は、A1からIW1までの255個のセルの値がすべて80以上であるかどうかを評価します。

AND関数、OR関数とも単独で利用することは少なく、IF関数などの論理式または条件式の中で使用します。
「=IF(AND(A1>80,B1>80,C1>80),"合格","再試験")」の場合、A1、B1、C1のセルがすべて80より大きい場合は「合格」、それ以外は「再試験」が数式の結果として表示されます。

また、AND、ORの評価・判定を四則演算の「*」と「+」を使うこともできます。
AND関数で「AND(A >= 80, B >= 80)」は「AとBのどちらも80以上ならTRUEとなります。これを「(A >= 80)*(B >= 80)」と書くことができます。
OR関数で「OR(A >= 80, B >= 80)」は「AまたはBのいずれかが80以上ならTRUEとなります。これを「(A >= 80)+(B >= 80)」と書くことができます。

この四則演算子が利用できる理由は、Excelでは「0」は"FALSE"、「0以外」は"TRUE"と評価するためです。掛算(*)は、論理式が1つでも0(FALSE)であれば評価は0(FALSE)になり、論理式がすべて0以外であれば"TRUE"となります。
加算(+)は、論理式が1つでも0以外でTRUEであれば"TRUE"の評価で、すべての論理式が0の時だけ、評価が0の"FALSE"になります。