Home » Excel(エクセル)の関数・数式の使い方 » 論理・情報 » AND演算・OR演算を演算子で行う

AND演算・OR演算を演算子で行う

対象:Excel97, Excel2000, Excel2002, Excel2003

先日AND関数・OR関数についてご紹介した中で、
「Excelのワークシート上では、論理演算も基本的に関数を使って行うようになっています。」
という記述をしました。

確かにExcelで論理演算は基本的には関数で行うのですが、演算子を使って論理演算を行うこともできます。

[スポンサードリンク]

AND演算・OR演算を演算子で行う

AND演算
  =IF(AND(B2>=80, C2>=80), "合格", "不合格")
は、
  =IF((B2>=80) * (C2>=80), "合格", "不合格")
と書くことができ、

OR演算
  =IF(OR(B2>=80, C2>=80), "合格", "不合格")
は、
  =IF((B2>=80) + (C2>=80), "合格", "不合格")
と書くことができるのです。

AND演算が「*」で OR演算が「+」でできる理由

なぜAND演算が掛け算の演算子「*」でできて、OR演算が足し算の演算子「+」でできるのでしょう。

まず掛け算や足し算をする前の「B2>=80」「C2>=80」ですが、これはいずれも比較演算子を使った比較演算です。指定されたセルが80以上であれば「TRUE」、そうでなければ「FALSE」という値を返してきます。

TRUE・FALSEの実際の値

掛け算・足し算でAND演算・OR演算ができることを理解するためには、その「TRUE」「FALSE」というのが、どういう値なのかを知っておく必要があります。

例えば、E1セルに、
  =IF(D1, "真", "偽")
という計算式を入力して、D1に以下のような値を順に入力してみてください。
「TRUE」「FALSE」「0」「1」「2」

D1セルに「FALSE」「0」を入力したときだけはE1セルに「偽」と表示され、その他の値の場合は「真」と表示されます。

Excelでは「FALSE」を数字で表すと「0」で、それ以外の値は「TRUE」として扱われているのです。

掛け算と足し算

ここで算数を思い出してください。
どんな数値でも「0」を掛け算したら必ず「0」になるということを。

それを「FALSE = 0」という考えで表現しなおせば、他の値が何であれ「FALSE」を掛け算したら必ず「FALSE」ということになります。つまり2つの論理式を掛け算する場合、両方とも「TRUE」のときだけ掛け算の結果も「TRUE」になるわけです。これはAND関数と同じことです。

もう1つの足し算の方ですが、「0」に「0」を足し続けても「0」ですが、「0」に1つでも「0」以外の値を足し算すれば「0」ではなくなります。つまり「FALSE」だけを足し続けているうちは「FALSE」ですが、1つでも「TRUE」を足し算すれば「TRUE」になります。これはOR関数と同じことです。

論理積・論理和

例えばシスアドの勉強をしたことがある方なら、
「論理演算には論理積演算(AND演算)・論理和演算(OR演算)などがある」
といった説明を読んだ記憶があるはずですが、
「(B2>=80)*(C2>=80)」が論理「積」演算
「(B2>=80)+(C2>=80)」が論理「和」演算
なわけです。演算子がそのまま演算の種類を表しています。

Excelでは論理演算は基本的にAND関数やOR関数で行うのですが、「*」演算子や「+」演算子でもできることを是非ご記憶ください。AND演算やOR演算を行うときに、AND関数やOR関数ではできないが、演算子を使えばできる処理があるのです。

最終更新日時:2019-05-10 09:36

[スポンサードリンク]

Home » Excel(エクセル)の関数・数式の使い方 » 論理・情報 » AND演算・OR演算を演算子で行う

「論理・情報」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.
.