IF関数は、条件によって処理を変える関数です。
条件によって処理を変えるとは、例えば
「得点が80点以上なら合格、79点以下なら不合格にする」とか
「住所の4文字目が"県"だったら、住所の左から4文字を取り出す」など、
指定した条件によって入力する値や処理を変えることを言います。
指定する条件は、論理式というもので表されます。
例えば、「B1セルの値が100%以上」という条件は、
B1>=100%
というように書きますし、「A1セルの4文字目が"県"だったら」という条件は
MID(A1,4,1)="県"
というように書きます。
いずれも、「B1の値は100%以上である」とか、「A1セルの4文字目は"県"である」って、言いきっています。
しかし、前者の場合であれば実際にはA1セルの値が70だったら、その断言は「成り立たない」ということになります。
もちろん、B1セルの値が120%であれば、その断言は「成り立つ」ということになります。
このように、「成り立つか、成り立たないか」の二択で判定できる条件式を「論理式」といいます。
論理式が「成り立つ」とき、その論理式の判定結果を「真(TRUE)」といいます。
論理式が「成り立たたない」とき、その論理式の判定結果を「偽(FALSE)」といいます。
IF関数は、この論理式を指定して、その結果が真の場合と偽の場合とで、入力する値を変えることができる関数です。
図A
=IF(B2>=100%,"A","B")
図Aの場合、B2セルが100%以上の場合はAと入り、そうでなければBと入ります。
【書式】
IF関数はこんな書式になります。
=IF(論理式,真の場合,偽の場合)
それぞれの意味を見てみましょう。
・第一引数:論理式(条件によって処理を分ける際の条件)
・第二引数:真の場合(第一引数の論理式が成立する場合、つまり真だった場合に返す値)
・第三引数:偽の場合(第一引数の論理式が成立しない場合、つまり偽だった場合に返す値)
つまり、先ほどの式は、「B2セルの値が100%以上だったらA、そうじゃなかったらBを入力!」
という命令文になっているわけです。
〇 複数の条件を判定するには
「100%以上ならA、80%以上ならB、80%未満ならC」というように複数の条件を判定する場合は、
以下のような式になります。
=IF(B2>=100%,"A",IF(B2>=80%,"B","C"))
最初の式より複雑になりますが、以下の手順を繰り返しているだけです。
① 最初の論理式(B2>=100%)と、その論理式が真だった場合の値(A)を入力
② 次の引数で、またIFとカッコはじまりを入力
③ 次の論理式を書いていく
最後の"C"は、それまでに出てきた論理式のいずれにの条件にも当てはまらない場合、
つまり「偽の場合」に入力する値として指定しています。
このように、関数の中にさらに関数を組み込むことを「ネスト」と言います。
IF関数の「ネスト」は、Excel2007以降では64個まで組み込むことが出来るようになりました。
しかし、あまりたくさんネストしすぎると、自分でも理解不能な式になってしまうので、注意が必要です。
また、Excel2016からは、複数の条件分岐をより簡易にしたIFS関数が登場しました。
【書式】
=IFS(論理式1,真の場合,論理式2,真の場合,…)
「100%以上ならA、80%以上ならB、80%未満ならC」の場合は、
=IFS(B2>=100%,"A",B2>=80%,"B",B2<80%,"C")
となり、IF関数のネストが必要なくなります。
ただし、Excel2013以前ではIFS関数は使えませんので、当面の間は基本であるネストもきちんと押さえる必要があります。
【関連記事】
IF関数
MID関数
MID関数~セル内文字列の途中から指定した文字数だけ取り出す
和暦の日付を西暦の日付に変換するには?
独学でやってきた方、体系的に学びたい方、もっと効率的に使いたい方へ…
過去10年間毎週開催・400回以上の開催で3700名以上が参加したExcelセミナーです。
実務直結・超実践型・一日完結・生涯無期限アフターサポートがついてます。