最近では、普段の業務でExcelを触ることは少なくなったのだが、統計学の勉強で久しぶりにExcelを触っていると便利な関数に出会った。
その名もIFS関数。
IFS関数は、通常のIF文で複数の条件を指定したい場合に有効な関数で、実際に使用例を見ていこう。
通常のIF文で3つの条件を指定する場合
まず、通常のIF文で以下のような3つの条件(統計値Pの有意差判定)を指定する場合、関数の書き方は次のとおりとなる。
条件 | 出力結果 |
p < 0.001 | *** |
p < 0.01 | ** |
p < 0.05 | * |
=IF(A1<0.001,"***",IF(A1<0.01,"**",IF(A1<0.05,"*","")))
IF関数を入れ子して複数条件を指定しているのだが、見た目も冗長的だし、後から関数を編集する際にどこのIF文を編集しているのかが分かりづらい。
このような問題を解決してくれるのがIFS関数だ。
IFS関数で複数条件をシンプルに指定する
IFS関数を使えば入れ子を使うことなく、先ほどと同じ条件をシンプルに書くことができる。
=IFS(A1<0.001,"***",A1<0.01,"**",A1<0.05,"*",TRUE,"")
IFS関数の引数の取り方は非常にシンプルだ。
第1引数に論理式、第2引数に論理式が真の場合の結果を指定し、複数条件を指定する場合は続けて第3・4引数に同じように論理式と結果を、第5・6引数にまた論理式と結果・・・と、一つの関数内で複数条件をまとめて指定することができるのだ。
どの条件にも当てはまらない場合(プログラミングで言うところのelse条件)は、論理式にTRUE
と指定すれば良い。
今回の例の場合、はじめの3つの条件いずれにも合致しない場合は空白が返ることになる。
ちなみにIFS関数は、GoogleスプレッドシートやExcel2016以降で使うことができるが、Excel2013以前のバージョンでは使えないので、ファイルの受け渡しを頻繁におこなう場合は注意が必要だ。