Excel「IF関数」基本の使い方と条件2つ以上指定する「場合分け」を覚える

Excel「IF関数」基本の使い方と条件2つ以上指定する「場合分け」を覚える

ExcelのIF関数とは「真の場合」「偽の場合」に分けて条件を指定する論理式の関数のことです。2つ以上、3つ以上の条件分岐も可能です。ここではIF関数の基本の使い方から2つ以上の条件を指定する応用例までを初心者にも分かりやすく図解していきます。IF関数の引数「論理式」の書き方・場合分けで条件を指定する方法をしっかり覚えてExcelを使いこなしましょう。IF関数の使い方を覚えれば、ビジネスの場で大きく役立ちます。

ExcelのIF関数を使って条件指定で判定する例

ExcelのIF関数は「もし、~なら」という条件を指定して、その正誤を判定して結果を分けます。

例えば下図のように、IF関数を使って、あるSNSのアカウントごとにプレミアム会員資格を「フォロワー500以上なら会員資格あり」という条件で場合分けしてランク判定します。
IF関数を使って500以上、500未満でランク判定

また、テスト成績で合格・不合格を判定するのもIF関数の典型的な使用例です。下図は「平均点以上を合格、平均点未満を不合格」と言う条件で合否判定しています。
IF関数を使ってテスト成績の合格・不合格を判定
この例では合格・不合格のセルにそれぞれ条件付き書式で色を付けています。
IF関数の結果でセルに色を付ける

IF関数では以前、以降の日付を比較する使い方もできます。下図はネットオークション取引の管理表を例に、支払期限内に決済されたかどうかを判定し、「OK」「警告」の文字列で場合分けしています。
IF関数で以前、以降の日付を比較する使い方
この例では結果の文字列にそれぞれ条件付き書式で色を付けています。
IF関数の結果で文字に色を付ける

不等号は日付の前後を表すのにも使えます。「A1<TODAY()」と書けば、「今日より以前の日付」ということ、「A1>TODAY()」なら「今日より以後の日付」です。

この他にも、在庫管理で発注の必要な商品を特定したり、年齢によって制限を掛けたり、男女別にコースを振り分けたり、IF関数を使って実装できる範囲は広く、多岐にわたります。

IF関数の使い方【基本】条件を1つ指定して場合分け

IF関数の基本的な使い方を、あるサービスの月間利用回数が5回を超えると手数料が発生するという例で解説します。「利用回数が5より大きければ手数料1000円」という一つの条件を指定して、2つの「場合」を分けるシンプルなIF関数の数式を作成してみましょう。
条件をまとめた別表を作成しています。引数にセル参照する数値や文字列はそれぞれ一つのセルに単独で入力しておきます。
IF関数の使い方の例にするデータ表

ExcelのIF関数の引数を覚える

IF関数はExcelの「数式」タブ➔「関数ライブラリ」➔「論理」の中にあります。「IF」は2文字なので直接セルに手入力するのも簡単です。数式の入力に慣れていない内は、引数のダイアログボックスを使うとミスが最小限に抑えられます。IF関数の引数ダイアログボックスは以下の手順で開きます。
IF関数は「数式」タブ➔「関数ライブラリ」➔「論理」➔IFで引数のダイアログを開く

IF関数の引数の構成は下図のようになっています。数式を手入力する場合は引数を半角カンマで区切ります。
IF関数の引数の構成

論理式
第一引数の「論理式」には「もし、~なら」という条件を指定します。数値であれば「~以上」「~以下」「~超」「~未満」の条件を、文字列であれば「一致」「不一致」の条件を比較演算子でつないで指定します。
この例では「5より大きい」が条件ですから、「C2>$F$2」と入力します。「C2」は利用回数が入った1行目のセル、「>」は~より大きいを意味する比較演算子、「$F$2」は5が入ったセルをクリック後、F4キーを押して条件のセル参照が移動しないように絶対参照にします。組み合せて、「利用回数(C2)が5($F$2)より大きい(>)なら」という条件の指定になります。5は含まれないので、6以上を指定したのと同じになります。
IF関数の第一引数「論理式」の条件指定
値が真の場合
1つ目の「場合分け」です。「論理式」で指定した条件に一致した場合の表示を指定します。この例では「月間利用回数が5回を超えている場合」の表示を「¥1,000」とするため、金額が入ったセルをクリックした後、F4キーを押して絶対参照にした「$G$3」を指定します。列番号と行番号の両方にドルマークが付いたことを確認して下さい。
IF関数の第二引数「値が真の場合」の指定
値が偽の場合
2つ目の「場合分け」です。「論理式」で指定した条件に不一致だった場合の表示を指定します。この例では「月間利用回数が5回を超えていない場合」の表示を「¥0」とするため、半角数字で0を入力します。
IF関数の第三引数「値が偽の場合」の指定

数式はこのようになります➔ =IF(C2>$F$2,$G$3,0)

他のセルにオートフィルコピーして完了です。なお、IF関数の数式が入った列にはあらかじめ「ホーム」➔「数値」の「表示形式」を「通貨」にしてあります。
IF関数の基本的な使い方の例が実装完了

IF関数の「論理式」の書き方

第一引数「論理式(条件式とも呼ばれる)」「もし~なら」を実際どう組み立てればいいのか、基本的な書き方について解説します。

IFの「論理式」を構成するには2つの値が必要です。「もし、◯と△を比較して~ならば」という組み立てをします。◯と△は大小を比較する記号(等号・不等号:比較演算子)でつなぎます。

    【比較を示す等号・不等号の書き方一覧】

  • = イコール。等しい。一致する
    【表記例:セル番地】 A1=B1 (A1セルの値がB1セルの値に等しい)
    【表記例:数式】 A1=(B1*C1) (A1セルの値がB1×C1の値に等しい)
    【表記例:文字列】 A1=”合格” (A1セルの入力値が「合格」と一致)
  • <> 異なる。一致しない
    【表記例:セル番地】 A1<>B1 (A1セルの値がB1セルの値と異なる)
    【表記例:数式】 A1<>(B1*C1) (A1セルの値がB1×C1の値と異なる)
    【表記例:文字列】 A1<>”合格” (A1セルの入力値が「合格」と不一致)
  • > 大きい。一致を含まない
    【表記例:セル番地】 A1>B1 (A1セルの値がB1セルの値より大きい)
    【表記例:数式】 A1>(B1*C1) (A1セルの値がB1×C1の値より大きい)
    【表記例:数値】 A1>0 (A1セルの値が正数
  • < 小さい。未満。一致を含まない
    【表記例:セル番地】 A1<B1 (A1セルの値がB1セルの値より小さい)
    【表記例:数式】 A1<(B1*C1) (A1セルの値がB1×C1の値より小さい)
    【表記例:数値】 A1<0 (A1セルの値が負数
  • >= 以上。一致を含む
    【表記例:セル番地】 A1>=B1 (A1セルの値がB1セルの値以上)
    【表記例:数式】 A1>=(B1*C1) (A1セルの値がB1×C1の値以上)
    【表記例:数値】 A1>=5 (A1セルの値が5以上)
  • <= 以下。一致を含む
    【表記例:セル番地】 A1<=B1 (A1セルの値がB1セルの値以下)
    【表記例:数式】 A1<=(B1*C1) (A1セルの値がB1×C1の値以下)
    【表記例:数値】 A1<=5 (A1セルの値が5以下)

ExcelのIF関数の使い方【応用】条件を2つ以上指定して場合分け

これは、一つ目の条件から分岐した「場合」の一方に、もう一つのIF関数を挿入し、二つ目の条件を指定して更に「場合」を分ける仕組みです。第二引数か第三引数にもう一つのIF関数を入れてしまうということで、このやり方を「数式を入れ子する」または「数式をネストする」といいます。
2つの条件を指定した場合分けの仕組み

前章の例の応用で、「利用回数が5を超えたら手数料1000円」と「利用回数が10を超えたら手数料2000円」という2つの条件を指定したIF関数を作成します。
条件をまとめた別表も以下のように変更しています。
IF関数で条件を2つ以上指定して場合分けするデータ表

前章で作った「利用回数が5を超えたら手数料1000円」を条件にした数式を入れ子用のIF関数にします。参照するセル番地は違っていますが、引数の指定方法は同じです。
入れ子用のIF関数

この数式 IF(C2>$F$2,$H$3,0) を一つ目の条件「利用回数が10を超えたら手数料2000円」で分岐させたIF関数の引数に入れ子します。

このIF関数の組み立ても「論理式」「値が真の場合」の指定までは同じ方法です。論理式には「C2>$F$3」、値が真の場合には「$H$4」を入力します。
一つ目の条件「利用回数が10を超えたら手数料2000円」の「論理式」「値が真の場合」を指定

最後に「値が偽の場合」に「利用回数が5を超えたら手数料1000円」を条件にしたIF関数 IF(C2>$F$2,$H$3,0) を入れ子します。(※数式の冒頭にある = は入れません)
「値が偽の場合」に2つ目の条件のIF関数を入れ子

これで、条件を2つ以上指定して場合分けするIF関数の応用例は完了です。最終的な数式はこうなります。➔ =IF(C2>$F$3,$H$4,IF(C2>$F$2,$H$3,0))
この数式の構成は以下の通りです。
2つの条件を指定したIF関数の構成

上の応用例では「値が偽の場合」にIF関数を入れ子しましたが、「値が真の場合」に入れ子することもできます。下図の例では「30歳以上」を条件にして真と偽の両方の引数に男女で分岐させるIF関数をネストしました。
「30歳以上の女性はAコース」「30歳以上の男性はBコース」「30歳未満の女性はCコース」「30歳未満の男性はDコース」で場合分けしています。
「値が真の場合」「値が偽の場合」両方に入れ子したIF関数の例

数式はこうなります。➔ =IF(B2>=30,IF(C2=”女”,”A”,”B”),IF(C2=”女”,”C”,”D”))

IF関数の引数に次々入れ子していけば3つ以上、4つ以上、更にそれ以上の複数条件を指定できます。ただ、入れ子が多過ぎると数式が長く複雑になってエラーも出やすくなります。そんな時はIF関数の複数条件の指定を簡略化できるIFS関数が便利です。

IFS関数で複数条件の指定を簡略化する使い方

IFS関数はIF関数から派生した関数で、複数条件の指定を簡略化できます。

IFS関数の引数は「論理式」と「値が真の場合」のみ。これを127個まで繰り返すことができます。「偽の場合」が無いので、締めくくりの指定が必要です。上の例なら、2つの条件を「論理式・値が真の場合」の1と2のセットで指定して、3つ目の論理式に「TRUE」と入力します。値が真の場合3には「0」を指定します。
「TRUE」ではなく、前の2つの論理式とは逆の方向の比較演算子を使って「利用回数が5以下なら:C2<=$G$2」と指定しても問題はありませんが、この書き方の方が簡単ですので、覚えておきましょう。
IFS関数で複数条件を指定する方法

数式はこうなります。➔ =IFS(C2>$G$3,$I$4,C2>$G$2,$I$3,TRUE,0)

IFS関数も引数をあまりに多く並べ過ぎるとエラーにつながります。複数条件の指定は課題に応じて、IF関数、IFS関数、そして次に解説するAND・OR関数とIF関数の組み合せを使い分けることをおすすめします。

IF関数の複数条件をAND関数・OR関数と組み合せて指定する使い方

AND関数OR関数はIF関数の「論理式」に組み込んで使われることの多い関数です。シンプルな複数条件の指定に便利で、AND関数は「AかつBなら」、OR関数は「AまたはBなら」という条件式を構成します。ANDはAとBの両方に当てはまる値を抽出、ORはAとBのどちらか一方が当てはまる値を抽出するということです。

出欠届と委任状の二つの書類が提出されたかどうかの複数条件の判定をIF関数・AND関数・OR関数の組み合わせで指定してみましょう。どちらも未提出と判定された場合にのみ「✕」マークが表示されます。
IF関数の複数条件をAND関数・OR関数と組み合せて使うデータ表

IF関数にAND関数を入れ子して場合分け
AND関数は2つの条件が両方とも揃った場合にTRUEを返すので、「出欠届のセルが空白」かつ「委任状のセルが空白」という引数を指定した数式を「AND(B2=””,C2=””)」としてIF関数の論理式に入れ子します。「値が真の場合」には「どちらのセルも空白だった場合」の「×」表示をセル参照で「$G$2」とし、「値が偽の場合」には「空欄のまま」をダブルクォーテーション「””」で指定します。
IF関数にAND関数を入れて場合分けした構成

どちらの書類も未提出の場合にのみ「×」が表示されました。
IF関数にAND関数を入れて場合分けした結果

IF関数にOR関数を入れ子して場合分け
OR関数は2つの条件どちらかが一致した場合にTRUEを返すので、「出欠届のセルに文字が入力されている=空白ではない」または「委任状のセルに文字が入力されている=空白ではない」という引数を指定した数式を「OR(B2<>“”,C2<>“”)」としてIF関数の論理式に入れ子します。「値が真の場合」には「空欄のまま」をダブルクォーテーション「””」で指定し、「値が偽の場合」には「どちらかのセルにも文字が入力されていない場合」の「×」表示をセル参照で「$G$2」とします。
IF関数にOR関数を入れて場合分けした構成

どちらの書類も未提出の場合にのみ「×」が表示されました。
IF関数にOR関数を入れて場合分けした結果

上記のように、AND関数で場合分けするのとOR関数で場合分けするのでは引数の指定が変わってきます。どちらを使うべきかは課題によって違ってくるでしょう。未提出「×」ではなく、提出済み「◯」だけを表示させる場合、または提出済みに「◯」未提出に「×」を表示させる場合にも引数の書き方が変わります。どのやり方を選択するか判断するのは難しいと思いますが、最初の内は幾つかを並べて比較し、最適な方法を見つけて下さい。

便利に使える「IF」が付く関数

IF関数の使い方のコツ

IF関数を使うなら、まず最初に表示される2つの結果を考えましょう。真の場合と偽の場合に指定する文字列や数値を「合格と不合格」「100と50」「✓と空白」のようにはっきりさせた後で、それらを導き出す論理式を作るのがコツです。どんな条件を満たせば「合格」になるのかを考え、比較演算子(等号・不等号)を使って論理式を組み立てます。論理式の書き方は幾つか課題をこなして練習しましょう。
IF関数はExcel関数の中でもとてもよく使われますが、その使い方は簡単なようでいて奥が深いところがあります。特に複数条件を指定して細かく場合分けする数式は長く複雑になりがちで、なかなかうまくいきません。このページで解説した数式の入れ子、IFS関数、AND・OR関数とIF関数の組み合せを参考に、IF関数のいろいろな使い方とコツを覚えて下さい。

タイトルとURLをコピーしました