条件判定と複数条件の組み合わせ方|IF・AND・OR関数

初級関数

このページで学べること|IF・AND・ORの違いと使い方

前回は、SUMIFやCOUNTIFを通して「条件を指定して集計する」方法を学びました。

今回は、その基本となるIF関数を一緒に学んでいきましょう。

MISATO
MISATO

この物語の案内役MISATOです。
今回は、「条件」による判別の関数を学んでいきましょう。

舞台は、診療所。発熱のあるなしで、IF関数さんが活躍している様子をのぞいてみましょう。

【IF関数の使い方】条件を指定して振り分けする

IF関数
IF関数

検温お願いします。

36.7度。では、こちらへどうぞ。

MISATO
MISATO

IFさん、今はどんなお仕事をされているのですか?

IF関数
IF関数

はい、今は37.5度以上の患者様を「発熱外来」にご案内しております。

MISATO
MISATO

式の説明をお願いできますか?

IF関数
IF関数

患者様をお待たせしているので手短に参りますわね。

まず、37.5度以上という条件を提示、

そうであれば「発熱外来」

違うのであれば、「通常診療」と表示させる式ですの。

MISATO
MISATO

その「そうであれば」というのは「TRUE」ということでしょうか?

IF関数
IF関数

ええ。初学者の方々は、TRUEや真といわれても正直つかみにくいと思いますわ。

簡単にいうと、条件が当てはまるならTRUEで、当てはまらないのであればFALSEですの。

=IF( 条件, 条件が成り立つ時の値, 成り立たない場合の値 )

補足:条件が成り立つ=TRUE、成り立たない=FALSE

今回F2に入力した式: =IF( C2>=37.5, “発熱外来“, “通常診療” )

MISATO
MISATO

「以上」を表すものが【 >= 】であることもポイントですね。

間違えて【 => 】と書かないように気をつけましょう。

【AND関数の使い方】複数条件の同時抽出 

IF関数
IF関数

発熱があり、かつ咳がある患者さまの抽出にはあの方とご一緒でなければならないわ。

「あの方」とは…?

AND関数
AND関数

私、AND関数のことよ。
さぁ、IF様。発熱外来へ一緒に参りましょう。

AND関数
AND関数

私とIF様が同時判断すれば、「発熱」かつ「咳あり」を判断できますわ。

G2に入力された式: =IF(AND(C2>=37.5,D2=”あり”),”隔離室”,”発熱外来”)

MISATO
MISATO

ごめんなさい。式の意味が全くわかりません。

1つずつ解説してもらってもいいですか?

AND関数
AND関数

まず、私は複数条件が全て合致していれば「TRUE」を返す関数なの。

全てクリアしなければ「FALSE」を返すわ。

今回であれば、まずはこうね。

=AND(C2>=37.5, D2=”あり”)

MISATO
MISATO

“37.5以上”で、咳”あり”の場合にTRUEを返す、ということですか?

熱があるけど咳がない、または熱はないけど咳はある場合は「FALSE」…?

AND関数
AND関数

あら、あなた賢いわね。その通りよ。

TRUEと判断した結果を、IF様にお渡しするのが、私の役目。

MISATO
MISATO

IF関数さんは、条件→TRUE→FALSEの順番に書くので、最初にANDさんに活躍してもらうというわけですね!

AND関数
AND関数

そこまでわかっているなら、最初の式をみてももう大丈夫ね。

=IF(AND(C2>=37.5,D2=”あり”),”隔離室“,”発熱外来“)

AND関数
AND関数

私一人だけで判断したら、セルには「TRUE」「FALSE」と表示されるわ。

IF関数
IF関数

2人でコンビを組むからこそ、

複数条件にも対応でき、またセルに任意の文字を表示させることができるのです。

【OR関数の使い方】

MISATO
MISATO

今度は「または」の条件が発生したようです。

OR関数
OR関数

問題ないわ。私OR関数が対応いたします。

では、IF様ご一緒に参りましょう。

MISATO
MISATO

一見難しそうに見えますが、基本的な考え方はANDさんと同じでしょうか?

OR関数
OR関数

当たりよ!

私はどちらか一方の条件がクリアできれば「TRUE」を返すだけ。

今回私が1人で対応するとすればこうね。

=OR(C3>=37.5,E3=”あり”)

OR関数
OR関数

「高橋翔さん」の場合は、体温が37.4で、悪寒あり。
体温の条件は満たしていないけれど、悪寒ありの条件を満たしているので判定結果は「TRUE」。

IFさんがいなければセルに「TRUE」と表示させていたわ。

IF関数
IF関数

そこで、OR関数さんが「TRUE」と判断した結果を、私が受け取ってセルには「発熱外来」と表示させたわけなのです。

H4に入力された式: =IF(OR(C3>=37.5,E3=”あり”),”発熱外来“,”通常診療“)

⚠️体温が入力されていない!間違えた判定結果が表示されている

MISATO
MISATO

検温データがない新規患者さまの判定結果が誤って表示されているようです。

AND関数
AND関数

ごめんなさい。

私は判断できないデータがセルに入力されていれば、想定とは違う結果を出してしまうの。

OR関数
OR関数

ANDさん謝らないで。私だってそうよ。

条件式が正しく評価できないと、意図しない結果を出してしまうんですもの。

MISATO
MISATO

記入者も良かれと思って「未記入」とテキストメモを入れておいたのでしょうね。

まさか、それが判定間違いの元になってしまったなんて、皮肉なものですね。

IF関数
IF関数

でも私たちはそれぞれの個性をわかっていますもの。

正しいデータさえいただければ、正しく判断してセルに反映させますことよ。

MISATO
MISATO

C7にデータ「36.7」が入力されたことによって、正しく判定できましたね!

IF関数
IF関数

私たちの得手不得手をよく理解して、正しいデータをいただければと思いますわ。

《実践編》

ここまでで、IF・AND・ORそれぞれの役割が見えてきました。
では実際の表データを使って、どのように組み合わせるのか確認してみましょう。

今回は、学生チームがイベントの打ち上げ会をする時の事前とりまとめと、集金を管理した表を使って確認します。


(打ち上げに不参加のグループは支払いがない、という前提で話を進めます)

白色セルにはデータを手入力していきます。
上記表の黄色セルには今回までに学んだ関数や数式を入力します。

F列にはIF関数を入れ、参加の場合の参加人数が、欠席の場合は「不参加」と表示されます。

F2に入力した式: =IF( D2=”参加”, C2, “不参加“)

G列にはIF関数とOR関数を同時に使います。
(通常はAND関数を使う場面ですが、OR関数の動きを確認するためにここで活用しています)
参加の場合は予定支払額を、欠席の場合は不参加を表示させます。

G2に入力した式: =IF( OR(D2=”参加”, E2=”済” ), C2*K2, “不参加” )

H列には、IF関数とAND関数を同時に使います。
参加費を事前徴収済みの場合はその金額を、未払いであれば未集金と表示させます。

=IF( AND(D2=”参加”,E2=”済”), C2*K2, “未集金” )

まとめ

IF関数は、条件が成立するかどうかをもとに、表示する値を切り替える関数でした。

条件成り立つ場合に表示させるもの成り立たない場合に表示させるもの

この順番で式を書きます。

ただし、IF関数だけでは複数の条件を同時に判定することはできません。
その場合はANDやOR関数を組み合わせて使います。

ANDやORを入れる場所は、IFの「条件」の場所に入ります

このような関数の組み合わせを入れ子といいます。
この言葉は覚えておいてよいかもしれませんね!

次のお話も舞台は同じく診療所。

今回学習した、IFにそっくりなIFS関数が活躍します。

お楽しみに!!

タイトルとURLをコピーしました