Contents
条件を指定して計算・表示を切り替える/IF関数
「○○の時はAを、○○でない時はBを・・・」といった、条件によって表示する内容を変えたい場合は以下の関数を使用します。
=IF(論理式, 真の場合, 偽の場合)
[論理式] = 条件となる式を指定します。
[真の場合] = [論理式]の内容が「TRUE」になる場合(正しい場合)の処理を指定します。
[偽の場合] = [論理式]の内容が「FALSE」になる場合(違っている場合)の処理を指定します。
関数の説明 | 条件となる[論理式]によって、セルの内容を変更して表示する関数 |
---|---|
EXCELバージョン | Excel2003 ・ Excel2007 ・ Excel2010 ・ Excel2013・ Excel2016 |
使い方例1)空白・文字列の条件を指定
下の表は、北海道にある各スキー場の積雪状況を一覧にした表です。
各積雪状況が良ければ、滑走を「可」に、不足であれば滑走のセルは空白としています。
ではIF関数を使用して、
①積雪状況が「良」の場合に、滑走の列(D列)に「可」と表示
②滑走の可否が「可」ではなく「空白」である場合、E列に「閉鎖」と表示
の、以上2点の場合の数式を作成してみましょう。
① 積雪状況が「良」であれば、滑走を「可」とする。
(1)[論理式] : 『積雪状況(=セルE4)が、「良」の場合・・・』なので、次のように指定します。 → C4=”良”
(2)[真の場合] : [論理式]の通りに、セルE4の文字列が「良」である場合の処理として、「可」という文字を「”」(ダブルクォーテーション)で囲んで指定します。 → ”可”
(3)[偽の場合] : [論理式]の通りではなく、違っている場合には「空白(””)」となるように指定します → ””
=IF(C4=”良”,”可”,””)
② 滑走の項目が空白であれば、「閉鎖」と表示する。
(1)[論理式] : 『滑走(=セルD4)が空白(””)の場合・・・』なので、次のように指定します。 → D4=””
(2)[真の場合] : [論理式]の通りに、セルD4の文字列が「空白」である場合の処理として、「閉鎖」という文字を「”」(ダブルクォーテーション)で囲んで指定します → ”閉鎖”
(3)[偽の場合] : [論理式]の通りではなく、違っている場合には「空白(””)」となるように指定します。 → ””
=IF(D4=””,”閉鎖”,””)
使い方例2)【~を含む】文字列を指定/ワイルドカードの利用
「○○という文字を含んでいる場合・・・」といった条件を指定したい場合は、IF関数の他に、COUNTIF関数を併用することで条件式を組み立ることが出来ます。 →COUNTIF関数の詳細についてはこちら
下の表は、ある会社の従業員名簿です。このたび、営業課のみにボーナスを支給することに決定いたしました。対象となる所属の従業員が分かるようにD列にIF関数を使用して、「○」を表示させましょう。
① 部署に「営業」という文字が含まれている場合、夏季ボーナス対象に「○」を、違う場合は「×」を表示する。
(1)[論理式] : IF関数の論理式ではワイルドカード(あいまい検索)は使用できないため、まずはCOUNTIF関数にて、『セルB4が、「営業~」である場合にカウントする』数式を作ります。
COUNTIF(B4,“営業*”)
このカウントした結果が、「0」より多い場合・・・つまりB4がカウント出来るなら「営業」の所属である、ということになりますので、次のようにしてIF関数用の論理式とします。
COUNTIF(B4,”営業*”)>0
(2)[真の場合] : [論理式]の通りに、セルB4がカウントされる場合の処理として、「○」を指定します。 → ”○”
(3)[偽の場合] : [論理式]の通りではなく、違っている場合には「×」となるように指定します → ”×”
=IF(COUNTIF(B4,”営業*”)>0,”○”,”×”)
このように、1つの関数の中に他の関数を入れ子にして使用することで、数式を使った[論理式]や[真の場合]・[偽の場合]を指定することが出来るようになります。
入れ子の考え方については、次でもう一度詳しく見てみましょう。
複数条件を指定する/入れ子(ネスト)
使い方例1)複数条件を指定する方法
下の表は、ある国家試験による結果を一覧にしたものです。右側には、試験の合否の際に判断基準になる「平均点」と「合計点」が入力されています。
J列の合否に、
・平均点が50点以上
・合計点が350点以上
の場合の2つの条件をクリアした場合のみ「合格」、それ以外は不合格とするIF関数を組み立ててみましょう。
① 平均点が50点以上で、かつ、合計点が350点以上の場合に「合格」、それ以外は「不合格」を表示する。
(1)[論理式] : 『平均点(セルH5)が50点以上』という式を指定します。 → H5>=50
(2)[真の場合] : [論理式]の通りであった場合、次の条件として新しくIF関数を再度使用して、
『合計点(セルI5)が350点以上であった場合に「合格」、違う場合は「不合格」』とする数式を指定します。
IF(I5>=350,“合格”,“不合格”)
(3)[偽の場合] : [論理式]の通りではなく、違っている場合には「不合格」となるように指定します → ”不合格”
=IF(H5>=50,IF(I5>=350,”合格”,”不合格”),”不合格”)
少し数式が長くなり分かりづらいですが、このようにIF関数を[真の場合]や[偽の場合]に入れ子として使用することで条件を次々に複数の条件を指定することが出来るようになります。
イメージ図)
使い方例2)数値の範囲を指定する/or・または条件の指定方法
IF関数の条件設定の1つとして、「60以上か、または、90点以下」といった、『どちらかの条件を満たせば・・・』といった条件を指定したい場合もあります。
この場合は、OR関数という複数の論理式を指定できる関数を使用すれば、条件設定が可能となります。
=OR(論理式1, 論理式2, [論理式3]・・・)
[論理式1] = 条件となる1つ目の式を指定します。
[論理式2] = 条件となる2つ目の式を指定します。
[論理式3・・・] = 省略可。条件となる3つ目以降の式を指定します。
関数の説明 | 複数の条件となる[論理式]を指定できる関数 |
---|---|
EXCELバージョン | Excel2003 ・ Excel2007 ・ Excel2010 ・ Excel2013・ Excel2016 |
では、同じ表にて今回は、
平均点が50点以上
または、
合格点が250点以上
であれば、「合格」にするといった条件を指定して、合否を求めてみましょう。
① 平均点が50点以上か、または、合格点が250点以上の場合に「合格」、それ以外は「不合格」を表示する。
(1)[論理式] : OR関数を使用して、2つの条件を指定します。
OR(H5>=50,I5>=250)
(2)[真の場合] : [論理式]の通りであった場合、「合格」となるように指定します。 → ”合格”
(3)[偽の場合] : [論理式]の通りではなく、違っている場合には「不合格」となるように指定します → ”不合格”
=IF(OR(H5>=50,I5>=250),”合格”,”不合格”)
使い方例3)数値の範囲を指定する/and・かつ条件
OR条件とは違って、「60点以上で、かつ、90点未満」などの、『どちらの条件も満たした場合・・・』といった条件指定の場合は、AND関数を使用します。
=AND(論理式1, 論理式2, [論理式3]・・・)
[論理式1] = 条件となる1つ目の式を指定します。
[論理式2] = 条件となる2つ目の式を指定します。
[論理式3・・・] = 省略可。条件となる3つ目以降の式を指定します。
関数の説明 | 複数の条件となる[論理式]を指定できる関数 |
---|---|
EXCELバージョン | Excel2003 ・ Excel2007 ・ Excel2010 ・ Excel2013・ Excel2016 |
では実際に、こちらも同じ表を使って、
平均点が50点以上
かつ、
合計点が350点以上
のどちらも満たした場合のみ「合格」とする条件を指定して、合否を求めてみましょう。
① 平均点が50点以上で、かつ、合格点が350点以上の場合に「合格」、それ以外は「不合格」を表示する。
(1)[論理式] : AND関数を使用して、2つの条件を指定します。
AND(H5>=50,I5>=350)
(2)[真の場合] : [論理式]の通りであった場合、「合格」となるように指定します。 → ”合格”
(3)[偽の場合] : [論理式]の通りではなく、違っている場合には「不合格」となるように指定します → ”不合格”
=IF(AND(H5>=50,I5>=350),”合格”,”不合格”)
AND関数やOR関数は、「論理関数」といった分類の関数で、この関数のみでは使用できない関数となっています。
論理関数は、IF関数などの『条件を指定できる関数』と組み合わせる事で、より具体的で細かな条件設定ができるようになります。