エクセル2016以降に追加された新関数 IFS()関数を使ってみる
エクセル2016以降ではIF()関数の複数に対応した
IFS()関数という関数が追加されました
IF()関数には入れ子に(ネスト)する数に制限がありました(7個)
→
IF関数の使用回数の上限
IFS()関数は入れ子(ネスト)上限は最大127個です
・関数 | IFS(読み方:イフス) | |
・書式 | =IF(論理式,真の場合,論理式,真の場合,論理式,真の場合,・・・) | |
・内容 | IFS 関数を使用して値または数式が複数の条件を満たしているかどうかをテストできます。(論理式,真の場合,)は最大127個テストできます。どの条件にも当てはまらない場合#N/A エラーになります | |
簡単な使い方としては
=IFS(
F3=1,
1,
F3=2,
2,
F3=3,
3,
F3=4,
4,
F3=5,
5,
F3=6,
6,
F3=7,
7)
F3の値が1なら1、2なら2、3なら3を返します
論理式を左から実行して一致したらそれ以上探しません
セルF3が1の場合
=IFS(
F3=1,
1,
F3=2,
2,
F3=3,
3,
F3=4,
4,
F3=5,
5,
F3=6,
6,
F3=1,
7)
結果:1
最後を
F3=1にしても最初にF3=1を見つけているので
以降が一致していても無視されます
#N/A エラー:条件が見つからない場合
#VALUE! エラー:TRUE または FALSE 以外の値
#NAME? エラー:エクセルが2016以上ではありません
サンプル
数字をアルファベット(大文字)にする
数字をアルファベット(小文字)にする
アルファベット(大文字小文字区別無)を数字にする
応用編)
BMI(ボディー・マス・インデックス)値の結果を出してみる
BMI値:体重kg ÷ (身長m)
2
BMIは、体重と身長の関係から人の肥満度を示す体格指数です。
日本肥満学会の判定基準(成人:高校生以上)
指標 | 判定 |
18.5未満 | 低体重(痩せ型) |
18.5~25未満 | 普通体重 |
25~30未満 | 肥満(1度) |
30~35未満 | 肥満(2度) |
35~40未満 | 肥満(3度) |
40以上 | 肥満(4度) |
上記の表を基にIFS()関数を使って判定します
|
A |
B |
C |
D |
E |
F |
G |
1 |
|
|
|
|
2 |
|
氏名 |
年齢 |
身長(cm) |
体重(kg) |
BMI値 |
体形 |
3 |
|
犬屋敷 壱郎 |
56 |
177 |
49 |
15.64 |
普通体重 |
4 |
|
佐藤 二朗 |
49 |
181 |
75 |
22.89 |
普通体重 |
5 |
|
石倉 三郎 |
71 |
170 |
65 |
22.49 |
普通体重 |
6 |
|
伊東 四朗 |
80 |
166 |
73 |
26.49 |
肥満(1度) |
7 |
|
稲垣 吾郎 |
44 |
176 |
56 |
18.07 |
低体重(痩せ型) |
8 |
|
岡島 緑郎 |
40 |
169 |
58 |
20.3 |
普通体重 |
セルF3にBMI値がある場合
セルG3)
※セルF3)=ROUNDDOWN(D3/((E3/100)*(E3/100)),2)
不等式の使い方
< 未満
<= 以下
>= 以上
ちなみにエクセル2013以前の場合はIFS関数は使えないので
IF関数を使った場合上記の式は
セルG3)
となります
論理式をよく見ると
1番目の論理式:F3<18.5
2番目の論理式:F3<25
3番目の論理式:F3<30
4番目の論理式:F3<35
5番目の論理式:F3<40
数値が17や18の場合、全部条件を満たしていますが、左から実行して一致したらそれ以上探さないので、最初のF3<18.5が判定されます
不等式を使う場合以下や未満の場合は小さい数字から論理式を設定する必要があります
子供の場合
カウプ指数(乳幼児 (3ヶ月~5歳) の発育状態の程度を表す指数)
=体重(kg)÷身長(cm)
2×10
4
カウプ指数
指標 | 判定 |
13未満 | やせ |
13~15未満 | やせぎみ |
15~18未満 | 正常 |
18~20未満 | 肥満ぎみ |
20以上 | 肥満 |
セルF3にカウプ指数がある場合
ローレル指数(学童の肥満の程度を表す指数)
=体重(kg)÷身長(cm)
3×10
7
ローレル指数
指標 | 判定 |
100未満 | やせ |
100~115未満 | やせぎみ |
115~145未満 | 正常 |
145~160未満 | 肥満ぎみ |
160以上 | 肥満 |
セルF3にローレル指数がある場合
※注意:OFFICE2016 エクセル2016以降しか対応していません
(2013以前に使うと#NAME?(お前誰だよ?)とエラーになります)
(OFFICE ONLINEやGoogleスプレッドシートは対応しています)