複数条件やエラー対応の関数|IFS・IFERROR関数

初級関数

このページで学べること|IFS・IFERRORの使い方

前回は、診療所を舞台に「条件によって判別する」関数として、IF・AND・ORの違いと使い方を学びました。

今回は、複数条件を順番に判定するIFS関数をまず学びます。

IF+ANDやIF+ORとは、少し考え方が違うため、特徴を理解して使い分けられるようになりましょう!

MISATO
MISATO

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

舞台は、引き続き診療所。

高熱の患者さんを優先的対応をする、IFS関数さんの様子をのぞいてみましょう。

【IFS関数の使い方】複数条件で振り分けをする

MISATO
MISATO

ここでは押し寄せる患者さんの発熱度合いによって、優先順位を振り分けているようです。

IFS関数
IFS関数

高熱で来院されている方は優先的にご案内しますね。

=IFS (条件①, 条件①が成り立つ時の値
   条件②, 条件②が成り立つ時の値,
    条件③ ,条件③が成り立つ時の値 )

D2に入力された式:
 =IFS (C2>=39,”優先対応”,
     C2>=37.5, “発熱外来”,
     C2<37.5, “通常診療” )

MISATO
MISATO

つまり

39度以上→優先対応、

 37.5度以上→発熱外来

  37.5度未満→通常診療

という意味ですよね。

IFS関数
IFS関数

そうよ。私は上から順番に条件を確認していくの。

図で説明すると、こんな風に「ふるいにかけていく」イメージね。

MISATO
MISATO

条件に合っていればそこで決定、合わなければ次の条件で確認をする、という流れなのですね。

⚠️エラー発生!高熱の患者が優先対応になっていない!

MISATO
MISATO

40度を超える高熱の患者様が「発熱外来」になっていますね。どうしたのでしょう?

IFS関数
IFS関数

あら!これじゃ正しい判定はできないわ!

MISATO
MISATO

それは、どうしてですか?

IFS関数
IFS関数

私は、上から順番に判定するからよ。
図で説明するわね。

関数
関数

=IFS(C2>=37.5,”発熱外来”,
   C2>=39,”優先対応”)

となっていたら、たとえ40.2度であっても、最初のC2>=37.5,”発熱外来”と判別されてしまうの。

MISATO
MISATO

だからIFS関数には「厳しい条件から書いていく」必要があるのですね。

IFS関数
IFS関数

急いで直しておくわね!患者さん、辛そう!

D3に入力された式:
 =IFS (C3>=39,”優先対応”,
     C3>=37.5, “発熱外来”,
     C3<37.5, “通常診療” )

【IFERROR関数の使い方】エラー画面表示を置き換える

IFS関数
IFS関数

あら?エラーが出ちゃったわ!

IFERROR関数
IFERROR関数

患者さんを不安にさせちゃだめよ。

エラーは私が一旦隠して、空白表示にしておくわ。

=IFERROR (
  IFS (C6>=39, “優先対応”,
     C6>=37.5, “発熱外来”) , “” )

MISATO
MISATO

あ!この式、37.5未満の時の条件が書かれていません。

IF関数
IF関数

本当だわ!

これではどの条件にも当てはまらない場合に表示するものがなくて、エラーになって当然ね。

IFERROR関数
IFERROR関数

そこで私の出番ね。

私はエラーを別の表示に変える関数よ。

=IFERROR(値, エラーの場合の値)

IFERROR関数
IFERROR関数

例えば今回のように式を囲めば、空白を表示できるわ。

IFERROR関数
IFERROR関数

ただし注意してね。

私はエラーを隠すことはできるけど、その原因は解決できないわ。

表示画面を整えるだけで、エラーの原因解決にはなっていない、ということは忘れないで。

MISATO
MISATO

エラーになる原因は、ユーザー自身が確認する必要がある、ということですね。

《実践編》

IFSとIFERROR、また前回のIFとORを使って、成績表をまとめてみましょう!

D2に入っている式:
 =IFERROR
  (IFS(C2>=80,”優”,
     C2>=70,”良”,
      C2<60,”不可”), “可”)

80点以上→優
70点以上→良
60点未満→不可
それ以外→可

IFERRORを使い、60〜69点は可を表示させている式です。

D2に入っている式:
 =IFERROR
  (IFS(C2>=80,”優”,
     C2>=70,”良”,
      C2>=60,”可”), “不可”)

このように書いても同じ結果が得られます。

次に、IFとOR関数の復習です。

E2に入っている式: =IF (OR(D2=”優”,D2=”良”,D2=”可”),”“, “×” )

D列に「優」「良」「可」と表示されている→◯
D列に「不可」と表示されている→×

を返す式です。

もし、忘れちゃったよ、という方は前回の記事をご覧くださいね。

まとめ

IFSは複数条件分岐を順番に判定していく関数。
IF+ANDやIF+ORとは違う使い方をします。
条件が厳しいもの(優先度が高いもの)から順番に書き、振り落としていくイメージです。

今回のお話では、IFSはうっかりミスをしてしまいました。
しかし、比較的新しい関数であるIFSは、その登場に多くの人に喜ばれ、歓迎された待望の機能をもった関数なのです。

業務での活躍シーンも多いはず。

ぜひ、あなたのお仕事のパートナーとして迎え入れてくださいね。

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