ExcelのIF関数とは「真の場合」「偽の場合」に分けて条件を指定する論理式の関数のことです。2つ以上、3つ以上の条件分岐も可能です。ここではIF関数の基本の使い方から2つ以上の条件を指定する応用例までを初心者にも分かりやすく図解していきます。IF関数の引数「論理式」の書き方・場合分けで条件を指定する方法をしっかり覚えてExcelを使いこなしましょう。IF関数の使い方を覚えれば、ビジネスの場で大きく役立ちます。
ExcelのIF関数を使って条件指定で判定する例
ExcelのIF関数は「もし、~なら」という条件を指定して、その正誤を判定して結果を分けます。
例えば下図のように、IF関数を使って、あるSNSのアカウントごとにプレミアム会員資格を「フォロワー500以上なら会員資格あり」という条件で場合分けしてランク判定します。
また、テスト成績で合格・不合格を判定するのもIF関数の典型的な使用例です。下図は「平均点以上を合格、平均点未満を不合格」と言う条件で合否判定しています。
この例では合格・不合格のセルにそれぞれ条件付き書式で色を付けています。
IF関数では以前、以降の日付を比較する使い方もできます。下図はネットオークション取引の管理表を例に、支払期限内に決済されたかどうかを判定し、「OK」「警告」の文字列で場合分けしています。
この例では結果の文字列にそれぞれ条件付き書式で色を付けています。
この他にも、在庫管理で発注の必要な商品を特定したり、年齢によって制限を掛けたり、男女別にコースを振り分けたり、IF関数を使って実装できる範囲は広く、多岐にわたります。
IF関数の使い方【基本】条件を1つ指定して場合分け
IF関数の基本的な使い方を、あるサービスの月間利用回数が5回を超えると手数料が発生するという例で解説します。「利用回数が5より大きければ手数料1000円」という一つの条件を指定して、2つの「場合」を分けるシンプルなIF関数の数式を作成してみましょう。
条件をまとめた別表を作成しています。引数にセル参照する数値や文字列はそれぞれ一つのセルに単独で入力しておきます。
ExcelのIF関数の引数を覚える
IF関数はExcelの「数式」タブ➔「関数ライブラリ」➔「論理」の中にあります。「IF」は2文字なので直接セルに手入力するのも簡単です。数式の入力に慣れていない内は、引数のダイアログボックスを使うとミスが最小限に抑えられます。IF関数の引数ダイアログボックスは以下の手順で開きます。
IF関数の引数の構成は下図のようになっています。数式を手入力する場合は引数を半角カンマで区切ります。
- 論理式
- 第一引数の「論理式」には「もし、~なら」という条件を指定します。数値であれば「~以上」「~以下」「~超」「~未満」の条件を、文字列であれば「一致」「不一致」の条件を比較演算子でつないで指定します。
この例では「5より大きい」が条件ですから、「C2>$F$2」と入力します。「C2」は利用回数が入った1行目のセル、「>」は~より大きいを意味する比較演算子、「$F$2」は5が入ったセルをクリック後、F4キーを押して条件のセル参照が移動しないように絶対参照にします。組み合せて、「利用回数(C2)が5($F$2)より大きい(>)なら」という条件の指定になります。5は含まれないので、6以上を指定したのと同じになります。
- 値が真の場合
- 1つ目の「場合分け」です。「論理式」で指定した条件に一致した場合の表示を指定します。この例では「月間利用回数が5回を超えている場合」の表示を「¥1,000」とするため、金額が入ったセルをクリックした後、F4キーを押して絶対参照にした「$G$3」を指定します。列番号と行番号の両方にドルマークが付いたことを確認して下さい。
- 値が偽の場合
- 2つ目の「場合分け」です。「論理式」で指定した条件に不一致だった場合の表示を指定します。この例では「月間利用回数が5回を超えていない場合」の表示を「¥0」とするため、半角数字で0を入力します。
数式はこのようになります➔ =IF(C2>$F$2,$G$3,0)
他のセルにオートフィルコピーして完了です。なお、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関数を入れてしまうということで、このやり方を「数式を入れ子する」または「数式をネストする」といいます。
前章の例の応用で、「利用回数が5を超えたら手数料1000円」と「利用回数が10を超えたら手数料2000円」という2つの条件を指定したIF関数を作成します。
条件をまとめた別表も以下のように変更しています。
前章で作った「利用回数が5を超えたら手数料1000円」を条件にした数式を入れ子用のIF関数にします。参照するセル番地は違っていますが、引数の指定方法は同じです。
この数式 IF(C2>$F$2,$H$3,0) を一つ目の条件「利用回数が10を超えたら手数料2000円」で分岐させたIF関数の引数に入れ子します。
このIF関数の組み立ても「論理式」「値が真の場合」の指定までは同じ方法です。論理式には「C2>$F$3」、値が真の場合には「$H$4」を入力します。
最後に「値が偽の場合」に「利用回数が5を超えたら手数料1000円」を条件にしたIF関数 IF(C2>$F$2,$H$3,0) を入れ子します。(※数式の冒頭にある = は入れません)
これで、条件を2つ以上指定して場合分けするIF関数の応用例は完了です。最終的な数式はこうなります。➔ =IF(C2>$F$3,$H$4,IF(C2>$F$2,$H$3,0))
この数式の構成は以下の通りです。
上の応用例では「値が偽の場合」にIF関数を入れ子しましたが、「値が真の場合」に入れ子することもできます。下図の例では「30歳以上」を条件にして真と偽の両方の引数に男女で分岐させるIF関数をネストしました。
「30歳以上の女性はAコース」「30歳以上の男性はBコース」「30歳未満の女性はCコース」「30歳未満の男性はDコース」で場合分けしています。
数式はこうなります。➔ =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(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関数を入れ子して場合分け
- AND関数は2つの条件が両方とも揃った場合にTRUEを返すので、「出欠届のセルが空白」かつ「委任状のセルが空白」という引数を指定した数式を「AND(B2=””,C2=””)」としてIF関数の論理式に入れ子します。「値が真の場合」には「どちらのセルも空白だった場合」の「×」表示をセル参照で「$G$2」とし、「値が偽の場合」には「空欄のまま」をダブルクォーテーション「””」で指定します。
どちらの書類も未提出の場合にのみ「×」が表示されました。
- IF関数にOR関数を入れ子して場合分け
- OR関数は2つの条件どちらかが一致した場合にTRUEを返すので、「出欠届のセルに文字が入力されている=空白ではない」または「委任状のセルに文字が入力されている=空白ではない」という引数を指定した数式を「OR(B2<>“”,C2<>“”)」としてIF関数の論理式に入れ子します。「値が真の場合」には「空欄のまま」をダブルクォーテーション「””」で指定し、「値が偽の場合」には「どちらかのセルにも文字が入力されていない場合」の「×」表示をセル参照で「$G$2」とします。
どちらの書類も未提出の場合にのみ「×」が表示されました。
上記のように、AND関数で場合分けするのとOR関数で場合分けするのでは引数の指定が変わってきます。どちらを使うべきかは課題によって違ってくるでしょう。未提出「×」ではなく、提出済み「◯」だけを表示させる場合、または提出済みに「◯」未提出に「×」を表示させる場合にも引数の書き方が変わります。どのやり方を選択するか判断するのは難しいと思いますが、最初の内は幾つかを並べて比較し、最適な方法を見つけて下さい。
便利に使える「IF」が付く関数
- SUMIF:同じ条件の値を検索して合計します。条件の指定にワイルドカードも使えて、利用場面が多い便利な関数です。
SUMIF関数の基本的な使い方、条件を検索する範囲と合計する値を取り出す範囲を指定するルールなどを図解
SUMIF関数の使い方|同じ条件の値を検索して合計SUMIF(サムイフ)の基本的な使い方と応用、SUMIFの条件をワイルドカード(部分一致)や比較演算子(以上・以下・未満・空欄以外)などで指定するコツ、範囲と合計範囲を複数列で指定するルールなどを初心者にも分かりやすく図解します。 - SUMIFS:複数の条件全てに一致する値を取り出して合計します。SUMIFの拡張版。
SUMIFS関数の基本構成と不等号を使った条件の指定ルールなどを図解
SUMIFS関数の使い方|複数の条件を検索して合計するExcelのSUMIFS関数は複数の条件に合う値をAND条件で合計。SUMIFSの使い方、SUMIFSの範囲を複数列で指定する方法、条件をワイルドカード(部分一致)や比較演算子(以上・以下・未満・以外)で指定するコツなどを初心者にも分かりや... - AVERAGEIF:AVERAGEIF関数は同じ条件の値を検索して平均値を出します。条件の指定にはワイルドカードも使えます。
AVERAGEIF関数の基本的な使い方、条件を検索する範囲と平均値を算出する値の範囲の指定方法などを図解
検索して平均値を出すAVERAGEIF関数の使い方と範囲の指定方法AVERAGEIFは同じ条件の値を検索して平均値を算出。基本的な使い方、条件の検索範囲と平均値を算出する値範囲の指定方法 - AVERAGEIFS:複数の条件全てに一致する値を取り出して平均を出します。AVERAGEIFの拡張版。
AVERAGEIFS関数の基本構成と不等号を使った条件の指定方法などを図解
AVERAGEIFS関数の使い方|2つ以上の条件を指定して平均値を出すExcelの平均関数「AVERAGEIFS」の使い方について解説しています。AVERAGEIFS関数とは? AVERAGEIFS関数の書式、簡単な使用例、数式の記載例、AVERAGEIFS関数の引数の指定方法など。 - COUNTIF:COUNTIF関数は同じ条件の値を検索して、セルの個数を数えます。数式も答えもシンプルで扱いやすく、いろいろ応用も利きます。
COUNTIF関数の基本的な使い方、アンケートの集計など特定の条件で検索して個数を表示する手順などを図解
エクセルCOUNTIF関数を使う技|効率的なデータ数カウントの指定方法COUNTIF関数の使い方について基本技から応用技までを実例を上げて初心者にも分かりやすく図解。条件に合うデータ数を効率的にカウントするCOUNTIF関数の指定方法を一から覚える。空白以外のカウント、複数条件の指定、ワイルドカードの使い方な... - COUNTIFS:複数の条件全てに一致する値を数えます。複数の項目別にデータをカウントしたい時に便利な関数です。
COUNTIFS関数の基本構成と使い方、不等号を使った条件の指定方法などを図解
https://www.tschoolbank.com/tb-articles/excel-function-countifs/
IF関数の使い方のコツ
IF関数を使うなら、まず最初に表示される2つの結果を考えましょう。真の場合と偽の場合に指定する文字列や数値を「合格と不合格」「100と50」「✓と空白」のようにはっきりさせた後で、それらを導き出す論理式を作るのがコツです。どんな条件を満たせば「合格」になるのかを考え、比較演算子(等号・不等号)を使って論理式を組み立てます。論理式の書き方は幾つか課題をこなして練習しましょう。
IF関数はExcel関数の中でもとてもよく使われますが、その使い方は簡単なようでいて奥が深いところがあります。特に複数条件を指定して細かく場合分けする数式は長く複雑になりがちで、なかなかうまくいきません。このページで解説した数式の入れ子、IFS関数、AND・OR関数とIF関数の組み合せを参考に、IF関数のいろいろな使い方とコツを覚えて下さい。