if関数 おまけ AND関数 OR関数

if関数についてはif関数if関数ネストを参照してください。

if関数

IF(論理式, [真の場合], [偽の場合])

の論理式が真の場合は[真の場合]の部分の処理を行い、偽の場合は[偽の場合]の部分の処理を行うのですが、論理式が真の場合は論理式自体の結果はtrueで、偽の場合論理式自体の結果はfalseです。論理式だけをセルに数式として入力してみればわかります。

 

true

if関数で使ったように合否でB2のセルの値が80以上なら『良』としたいときに作ったif関数の論理式の部分だけセルC2に入力してみました。B2の値は88なので論理式が真になります。真になるということはtrueを返します。

このtrueとfalseですが、tureまたは、falseを返す関数がありますのでこれを論理式にすることができます。

例えばand関数

AND(論理式 1, [論理式 2], …)
すべての引数が TRUE と評価された場合は TRUE を返します。1 つ以上の引数が FALSE と評価された場合は FALSE を返します。

以上エクセルのヘルプから引用

ヘルプのままではわかりづらいかもしれませんが、and()のかっこの中がすべて真だったらtrueを返し、1つでも偽だったらfalseを返します。

A B
1 性別
2 田中
3 吉田
4 山本
5 全員男 =and(B2=”男”,B3=”男”,B4=”男”)

セルB5にB列の性別がすべて男かどうかをand関数で確認してみます。B4のセルの値は女なのでB4=”男”は成立しません。ですからB5のセルにはfalseと表示されます。

or関数は、

OR(論理式 1, [論理式 2], …)
いずれかの引数が TRUE のとき、TRUE を返します。引数がすべて FALSE である場合は、FALSE を返します。

以上エクセルのヘルプから引用

=or(B2=”男”,B3=”男”,B4=”男”)

とするとB2かB3かB4のどれかが男だったら真になるのでtrueを返します。

以前のif関数の合否の出し方でand関数を使ってみます。

A B C
1 国語 合否
2 田中 88
3 吉田 85
4 山本 69
5 吉村 92

合否の列で80点以上で90点未満は『良』そうでなければ『不明』と表示させるif関数を作成する場合、セルC2に入力する数式は

=if(B2<90,if(B2>=80,”良”,”不明”),”不明”)

if関数をネストさせて、まずセルB2が90未満かどうかの論理式を作成し真の場合はさらにセルB2の値が80以上かどうかの論理式を作成し真の場合は『良』そうでなければ『不明』とし、B2が90未満でなければここも『不明』(ここは『優』としてもかまわないが)とする。

and関数を論理式に当てはめると

=if(and(B2<90,B2>=80),”良”,”不明”)

論理式のand関数でセルB2の値が90未満、セルB2の値が80以上、という2つの条件を両方満たすか(すべての引数がTRUEか)?を設定し、trueなら『良』、falseなら『不明』という書き方ができます。

論理式の結果はtrueかfalseのどちらか一方の値を必ず取ります。どちらでもないはありません。また、tureとfalseは文字ですが値としてみなすことができます。

trueは1(イチ)、falseは0(ゼロ)です。(ゼロ以外はtrueとみなすことも可能です。)vlookup関数でVLOOKUP(検索値, 範囲, 列番号, [検索の型])の検索の型にはtrueかfalseを入れるのですが、falseの代わりに0(ゼロ)を入れることもできたりします。

意味はありませんが

=TRUE+TRUE

は2になります。ただし、関数の中のtrue、falseは数値ではなく真偽値として扱われるようで計算対象にはなりません。

匿名 へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。