Excelで○○ではないという表現をしたいんだけど…
Excelを使って改善を進める場合に、条件分岐を行うときの条件の指定に「○○は××ではない」と指定したい場合が出てくると思います。
今回は、そんな悩みを解決するための関数「NOT」および演算子「<>」について紹介したいと思います。
その悩み、論理演算の〝論理否定〟を行うことで解決することができますよ。
論理演算の〝論理否定〟って何ですか?
論理演算・論理否定とは?
そもそも、論理演算とはどういうものかというと、真か偽の入力に対して真か偽の値を返す演算のことを言います。
例えば、論理演算で〝AかつB〟を演算する場合、〝Aという集合とBという集合の2つがあり、その集合が重なる部分〟に当てはまるかどうかを確認し、当はまれば真、当てはまっていなければ偽といった値となり返ってきます。
このように論理演算を行う際はベン図を用いて良く紹介されます。
先ほどの〝AかつB〟をベン図で確認すると、赤枠で示した部分に等しい値に当てはまっていれば真、当てはまっていなければ偽となります。(これは論理積と言われます。)
では、論理否定とはどういうものかというと、こちらもベン図で紹介します。
論理否定は上記ベン図の紫色で塗りつぶした部分になります。
ここで、条件Aに〝1+1=2〟を設定すると、1+1=2は〝真〟であり、論理否定の結果は〝偽〟となります。
では、条件Bに〝1+1=10〟を設定すると、1+1=10は〝偽〟であり、論理否定の結果は〝真〟となります。
この2つを比較すると分かる通り、真は偽に、偽は真に変換されています。
論理否定を行う時は、真偽を入れ替える時だと覚えておいてください。
関数「NOT」と演算子「<>」
論理否定について理解ができたところで、その論理否定をExcelで表現する方法を紹介します。
Excelでの論理否定の表記は関数「NOT」と演算子「<>」を使うことで表現することができます。
マイクロソフトの公式HPではNOT関数が以下のように説明されています。
ある値が別の値と等しくないことを確認するには、NOT 関数と、論理関数のいずれかを使用します。
マイクロソフトOfficeサポートページ
関数「NOT」の構文
関数「NOT」の構文は以下の通りです。
NOT関数の引数は条件を入れるだけの簡単なものになっています。
戻り値は「TRUE」か「FALSE」になります。
演算子「<>」の構文
演算子「<>」については、関数ではないため引数という考え方はありません。
例えば「条件式がAではない」と論理否定をしたい場合は以下のように設定します。
(条件式)<>”A”
さらに細かい例を挙げると、例えば「1+1=2ではない」を表現したい場合は以下のようになります。
(1+1)<>2
このように、〝=〟を〝<>〟に変えることでその式の論理否定となります。
この論理否定の演算子での返り値も関数と同様にTRUEとFALSEです。
上記式で返り値を取得したい場合、セルの中に「=(1+1)<>2」と入力します。
この場合、返り値は〝FALSE〟が返ってきます。
なぜFALSEが返ってくるか分かりづらいかもしれませんが、日本語で表すとこの論理否定は〝「1+1=2ではありません」というのは間違いです。〟と言っていることと同じになります。
1+1=2は正しいので、1+1=2が間違いだ!と言っていることが間違いですよね。
余談ですが、〝1+1=2は正しい〟ということでTRUEを返したい場合は、セルの中に〝=(1+1)=2〟と入力することでTRUEが返ってきます。
頭の「=」は〝このセルに入力されているのは数式です〟という意味になり、2番目の「=」は肯定の論理演算子になります。
一つの数式の中に=が複数出てきて分かりづらいかもしれませんが、最初の=は無視する位の考え方で良いと思います。
論理演算子「<>」と算術演算子「<」「<=」「>」「>=」
ここで、論理演算子「<>」よりも良く知られている算術演算子「<」「<=」「>」「>=」について紹介します。
算術演算子の「<」「<=」「>」「>=」はそれぞれ、「小なり」「以下」「大なり」「以上」になります。
「<」「>」については普通の算数の数式でも使う記号なので分かりやすいですが、「<=」「>=」はぱっと見分からないかもしれません。
数学記号であらわすとそれぞれ「≦」「≧」になります。
こちらの記号はよく見ますよね。
これらの記号について、算術演算子とは言いましたが、「+」や「-」のように足し合わせたりといった意味は持っていないため、条件式として使われます。
例えば〝条件式は5より小さい〟と条件設定したい場合は以下のようになります。
(条件式)<5
この設定は簡単ですよね。
では、〝条件式は5より小さくない〟と設定したい場合はどうでしょうか?
論理否定が入っているから、論理否定の演算子を使えば解決できる!と考えるかもしれません。
ですが、論理否定の演算子は使えません。
前述では「=を<>に置き換える」と紹介しました。
このルールを適用すると、「<を<>に置き換える」ことになるため、以下のようになります。
(条件式)<>5
では、これを日本語に直すとどうなるかというと、〝条件式は5ではない〟となります。
〝条件式は5より小さくない〟と〝条件式は5ではない〟では意味が違ってきますよね。
それでは、どうするのが正解なのかというと、〝5より小さくない〟の反対は〝5以上〟になるため、以下の条件式にすることが正解です。
(条件式)>=5
少し紛らわしいかもしれませんが、大なり小なり、以上以下の関係性を理解しておきましょう。
まとめ
今回は、論理演算の否定を表す関数と演算子について紹介しました。
この否定について、結構使い道があると思いますので、覚えて改善に活かしていきましょう。
コメント