エクセルの使い方

Excel IFS関数の使い方

「Office365に加入したExcel2016」と
「Excel2019」へと追加された
新しい関数「IFS(イフズ・イフエス・イフス)」

今まではIF関数をいくつも入れ子(ネスト)にして
条件分岐させていましたが、
この関数の登場で一つだけで済むようになります。

そんなIFS関数の使い方を見ていきます。

この関数は「Excel2016 for office365」以降で
使用可能です

使用例はExcel2019によるものです

IFS関数の機能

論理式1 →真ならAを実行 当てはまらなければ
論理式2 →真ならBを実行 当てはまらなければ
論理式3 →真ならCを実行 ……

というように先頭の論理式から判定を行い、
当てはまらなければ次へ……
というIF関数が連なったような関数です

=IFS(論理式1,真なら実行1,論理式2,真なら実行2……)

・論理式x
 判断条件の数式を入力

・真なら実行x
 対応した論理式に当てはまる場合に行う処理を入力

偽の条件について

IF関数と異なるのは条件に当てはまらなかった場合の処理である、”偽の場合”が存在しないことです。
ですので、IFS関数で”偽の場合に実行”に似たような処理を入れる場合は最後の条件として

=IFS(… …,TRUE,[実行する処理])

・TRUE
強制的に条件に当てはまったことにさせる。
数字の「1」だけでも可能。
・[実行する処理]
IF関数でいう偽の場合の処理を入力

というように条件を入力します。
これでどの条件にもあてはまらない場合に最後に行う処理が指定できます。

使用例

よくある使用例

点数をIFS関数で判定させます。
80以上で優、70以上で良、60以上で可。
それに当てはまらなければ不可という条件です。

入力した引数

この判定のために下のように
引数を入力しました。

IF関数と基本は同じです。

条件を分岐させるためにいくつもIFを並べる必要がないので最後に”)”の数がいくつ必要か数える必要がなくなり、見た目もすっきりして入力しやすくなりました。

別の使用例 日報編

状況確認

以前の記事で、
ひと月ごとの日報の日付が自動計算により
翌月の日付が表示されていました。
これをIFS関数で見た目の訂正をしてみます。

まず、日付の判定は
欄外にある年月日から起算して
各セルに前のセルの値に”+1”させることで
日付を進めています。

そうすると2020年2月の日報では、
最後の行で翌月の3月の日付が
表示されてしまいます。

この表を原本にして
毎月使いまわせるようにしたいです。
なので、翌月の日付は表示させないように
IFS関数で処理を自動化させてみます。

比較のためのデータを把握する

まず、表の見た目は2桁の数字で表示されていますが、
表示形式を設定して日付のみが表示されている状態です。

日付だけ表示でこの状態

しかし、内部データとしては日付が設定されています。
セルをそのまま不等号で比較しても希望通りの判定はしてくれません。

年月日表示にするとこの状態

また、2月のように”30日”がない場合は
”31日”の比較演算が比較対象の”30”の数字がなくなくなり
エラー表示になってしまいます。
その場合も正常に判定するようにする必要があります。

というわけで、
“yyyy年mm月dd日”の中から
“dd”部分だけを抽出して比較演算する必要があります。

そこで使用するのがDAY関数です。

DAY関数について

=DAY(日付)

この関数の引数に日付を指定すると、
日付”だけ”が返されます。
=DAY(“2020/01/01”) → 1
=DAY(“2020/05/01”) → 1

※日付を直接入力時は””で囲む必要がある

条件まとめ

判定の優先順位も考えて次のようにしました。

①前の日の数字がない
 → なにも表示させない

②前の日より日付の数字が少ない
 → 何も表示させない

③その他
 → 前の日の次の日を表示する

長くなりました実際に入力してみましょう。

引数を入力していく!

実際に入力したのは下の通りです。

まずは29日のセルB33へIFS関数を入力しました。

=IFS(B32=””,””,DAY(B32)>DAY(B32+1),””,TRUE,B32+1)

①B32=””,””
前のセルが空白なら何も表示しない

DAY(B32)>(B32+1),””
前のセルより日付が少ないと何も表示しない

TRUE,B32+1
先の2つの条件に当てはまらなければ
日付を1日進める

入力した内容をオートフィルで31日のセルまでコピーさせました。

ついでに条件付き書式を設定。
日付がない場合は灰色の塗りつぶしが入るようにしました。

ばっちりですね

真っ黒にすると間違って数字が入力されててもわからなくなるので
文字は判別できる色で塗りつぶしにしておきます。

まとめ

いままでいくつもIFを並べた条件の分岐もわかりやすく、入力もしやすくなりました。

最後に必要な”)”の数がわからなくなり
エラー表示にイライラする必要もなくなります。

使い勝手のよい関数だと思いますので
ぜひマスターしておきたいですね。

-Excel MOS対策講座-(順次追加作成中)
MOS2016 もくじへ
MOS2016 エキスパートもくじへ
MOS365&2019 もくじへ

-VBA講座-
未作成 

-関数の使い方-
VLOOKUP関数の使い方
MATCH関数の使い方
INDEX関数の使い方
IFS関数の使い方
CLEAN関数の使い方
AND OR NOT 関数の使い方
PHONETIC関数の使い方
XLOOKUP関数の使い方

-条件付き書式-
土日祝日に条件付き書式で色をつけろ!

ABOUT ME
みらんく
そのとき取り組んでいることを記事にして備忘録として作成。いろいろ手を出します。