ecoslymeです。
エクセルを使用しているとIF関数は使う機会が多いかと思います。
ですが、IFS関数はご存知でしょうか?
IF関数よりも実はすごい便利な関数なんです。
条件が分岐してしまうような場合に特に頭を悩ませることなく、単純な式で表現することができます。
複数の条件設定や、点数別の階層による評価(A、B、C、、、)などの設定設定が可能です。
常にIF関数でエクセルを作成している人に対してこのIFS関数を教えてあげるととても喜びますので、是非教えてあげて下さい。
早速このIFS関数について説明させて頂きます。
元データと結果
⇓
もしくは、
⇓
IFS 関数の使い方
試験を行った場合に、各人の合否が自動的に出てくるような設定を考えます。
この時、以下の条件の人がいると想定します。
- 欠席の連絡をしている人
- 何も連絡をしてきていない人
共に欠席扱いとします。
点数は60点以上で合格とします。
それでは、IFS関数を説明していきます。
IFS 関数の設定方法
D2セルに「 =IFS(B2=””,””,B2=”欠席”,”欠席”,C2<=60,”不合格”,C2>60,”合格”) 」と入力します。
長くてわかりづらいので、8つのブロックの意味を説明します。
8つのブロックは、2組×4ブロックとなります。
「論理式、値が真の値の場合」の組み合わせが4つあるということになります。
文字は” “ でくくるのを忘れないで下さい。横にすると見づらいので、縦に記載します。
=IFS | ||
( B2=”” | 論理式1 |
|
, ”” | 値が真の値の場合1 |
|
, B2=”欠席” | 論理式2 |
|
, ”欠席” | 値が真の値の場合2 |
|
, C2<=60 | 論理式3 |
|
, ”不合格” | 値が真の値の場合3 |
|
, C2>60 | 論理式4 |
|
, ”合格” ) | 値が真の値の場合4 |
|
見ての通り、上の条件式から順にフローが流れていく構造となっています。
1番目と2番目のブロックでは、最初の条件式を入力します。
受講者の名前が無ければ、”欠席“とします。
3番目と4番目のブロッックでは、2つ目の条件式を入力します。
受講者が欠席であれば、”欠席“とします。
5番目と6番目のブロッックでは、3つ目の条件式を入力します。
受講者がいて(上の2つのフローがFalseである)点数が60点以下であれば、”不合格“とします。
7番目と8番目のブロッックでは、4つ目の条件式を入力します。
受講者がいて(上の2つのフローがFalseである)点数が60点より大きければ、”合格“とします。
この問題では、「C2が60より大きい場合」と条件を設定しています。
ちなみに、「C2が60以上の場合」などの条件は以下のようになります。
” “の場所に注意してください。
設定したい値 | 条件式 |
C2が60より大きい場合 | C2 > 60 |
C2が60以上 | C2 >= 60 |
C2が60未満 | C2 < 60 |
C2が60以下 | C2 <= 60 |
この数式を下の行にコピペします。
この数式だけで、求めている結果が一発で全て表示されました。
IFS関数でOR条件を設定する方法
IFS関数でもIF関数同様、OR条件やAND条件を設定することも可能です。
上の式で、受講者が空欄もしくは欠席の場合”欠席“とする、という設定にしてみましょう。
D2セルに以下の数式を入力します。
「 =IFS(OR(B2=””,B2=”欠席”),”欠席”,C2<=60,”不合格”,C2>60,”合格”) 」
前半のブロックをOR条件で表現することができました。
AND条件も同様にIFS関数の中に設定することができますので、是非試してみて下さい。
IFS関数で点数別の評価を設定する場合
何点以上であれば評価はA、B、C、、、というように、点数別に評価を設定することもできます。
D2セルに以下の数式を入力します。
「 =IFS(C2>=80,”A”,C2>=66,”B”,C2>=51,”C”,C2>=1,”D”,C2=””,”欠席”) 」
ポイントとしては、点数が高い順に記載することです。
また、一番最後の点数はC2<=50とするのではなく、C2>=1とする方が、空白が欠席と設定するのに都合が良いです。
こちらの方が結構使う場面が多いでしょうか。
IF関数で表現した場合
参考に、IF関数で表現した場合の数式をご紹介します。
(IF関数で表現した場合の数式)
=IF(OR(B2=””,B2=”欠席”),”欠席”,IF(C2>60,”合格”,”不合格”))
なお、以下の記事でIF関数で表現した場合の数式について解説していますので、上の式の意味が分からない方は以下の記事をご覧下さい。
ecoslymeです。エクセルを使用していると必ずと言ってもいいほど使用する、このIF関数。その便利な使い方について、実際に仕事の中で使えるような形でご紹介させて頂ければと思います。 エクセルの中で[…]
この場合、少しだけ表現方法が変わりました。
どちらが良いかはお好みですが、IFS関数であれば更に条件式が増えた場合に簡単に応用を効かせることができます。
最後に
いかがでしょうか?
IF関数で表現した場合でももちろん表現はできますが、IFS関数であればフロー順に数式を書いていくことができるので、こちらの方が分かりやすいと感じた人も多いのではないでしょうか。
今までIF関数しか使っていない人は、この機会にIFS関数の使い方も取得してみてはいかがでしょうか。
日々の仕事の効率化には、便利な新しい知識を得ていくということも重要です。
やり慣れた方法以外でも便利な方法はないかと日々試行錯誤していき、無駄な業務作業時間をどんどん削減していきましょう。