【Excel】IF関数/イフ関数の使い方 場合分け関数の初心者向け図解
約~分
(約文字)
2010-04-21 2019-07-26
- Keyword
- Excel
- IF関数
- イフ関数
- 使い方
- 場合分け
- 複数条件
【Excel】IF関数/イフ関数の使い方 場合分け関数の初心者向け図解
この記事では、エクセルの場合分けの関数「IF関数/イフ関数」について使い方を解説します。
IF関数は「どんな場面で使うの?」「使い方がイマイチわからない?」「場合分けはどうしたらいいの?」と悩む初心者さんが多いです。
そこで、IF関数の基礎知識と準備、IF関数の使い方の基本から実践、IF関数の使い方の応用まで、悩みや困りごとを解決します。
この記事を読んで、エクセルのIF関数/イフ関数を理解し、脱初心者を目指しましょう。
この記事の目次
1.【知識】エクセルでIF関数(イフ関数)の意味と使う場面
IFの意味
まず”IF(イフ)”という英単語の意味は「もし~」「もしも~」です。
2018年に「USA」で大ブレイクした「DA PUMP」の曲には「IF...」という名前の歌がありますが、この詞の中には「もしも~」のフレーズが沢山出てきます。
- 「もしも君がひとりなら~♪」
- 「もしも誰かといた時は~♪」
- 「もしも君じゃなかったら~♪」
- 「もしもあの時会わなけりゃ~♪」
- 「もしも醒めない夢ならば~♪」
私がIF関数を使うときは、この曲「IF...」を思い出します(ちなみにこの曲のリリースは2002年です)。
IF関数を利用のは”場合分け”したい時
ここでは、エクセルでIF関数を利用する場面ですが、次の様な場合分けの場面で利用します。
- 「もし、ある条件〇〇が"YES(真:条件を満たす)”なら”■■"する。」
- 「もし、ある条件〇〇が"NO(偽:条件を満たさない)”なら”▲▲"する。」
要は「真:条件を満たす場合」と「偽:条件を満たさない場合」で別の処理ができる”場合分け関数”がIF関数です。
IF関数はエクセル利用者の必須
IF関数は条件により処理を分けることが出来る機能を持つ優秀な関数です。
IF関数を「使える」のと「使えない」のでは、Excelのスキルに大きな差が生まれます。
絶対に使いこなせるようになっておきたい必須の関数です。
2.【基本】IF関数の使い方(基本構文)
IF関数の使い方として、基本構文と引数に指定する内容について、概要を説明します。
対応バージョン
- 365
- 2019
- 2016
- 2013
- 2010
- 2007
基本構文
=IF(論理式,真の場合,偽の場合)
この様にIF関数は引数が3つあります。
引数
引数 | 内容 | 詳細 |
---|---|---|
引数1 | 論理式 | 結果が”TRUE”又は”FALSE”となる判断条件を指定します。 |
引数2 | 真の場合 | 論理式の結果が真(TRUE)の場合の処理を指定します。 |
引数3 | 偽の場合 | 論理式の結果が偽(FALSE)の場合の処理を指定します。 |
これら3つの引数を図に当て嵌めてみると以下の様になります。
引数1「論理式」に指定する内容
IF関数の引数1「論理式」には、”もしセル番地の値が○○以上の場合”の様に、条件となる論理式を、比較演算子を使って指定するのが一般的です。
比較演算子
比較演算子は左辺と右辺を比較し、「TRUE(真)」又は「FALSE(偽)」を返します。
比較演算子 | 指定 | 内容 |
---|---|---|
= | A1=B1 | A1とB1が等しい |
<> | A1<>B1 | A1とB1が等しくない |
> | A1>B1 | A1がB1よりも大きい(超える) |
< | A1<B1 | A1がB1よりも小さい(未満) |
>= | A1>=B1 | A1がB1以上 |
<= | A1<=B1 | A1がB1以下 |
引数2「真の場合」に指定する内容
IF関数の引数2「真の場合」には、引数1の論理式(条件)の結果が「真(TRUE)」の場合の処理を指定します。数値、文字列、計算式が指定できます。
引数3「偽の場合」に指定する内容
IF関数の引数3「偽の場合」には、引数1の論理式(条件)の結果が「偽(FALSE)」の場合の処理を指定します。数値、文字列、計算式が指定できます。
3.【実践】エクセルで実際にIF関数を組立てる
IF関数の例題と完成イメージ
IF関数の使い方を覚えるための例題として、以下を想定しました。
もし(もしも)、○○さんの国語のテストの結果が、
- ・80点以上の場合は”合格”と表示する。
- ・80点未満の場合は”不合格”と表示する。
IF関数を使って作成した表の完成イメージは以下です。
【手順①】IF関数に必要な情報の整理
エクセルで関数を使った表を作る場合は、ロジカルに考えるとスムーズに作れます。
ロジカルに考えるのに慣れないうちは、情報を箇条書きに整理するのがコツです。
例えば、ひとつの内容を一枚の付箋(例えば、ポストイット)に書き出してみると、整理が容易に出来ます。
- B列は、国語のテストの点数を入力する。
- C列は、国語のテストの点数をIF関数を使って判定し結果を表示する。
- 判定条件は国語のテストの結果が80点以上の場合は”合格”する。
- 判定条件は国語のテストの結果が80点未満の場合は”不合格”する。
この様に整理出来れば、後はこの内容をIF関数の引数に当てはめていくだけです。
【手順②】箇条書きした情報をIF関数にあてはめる
まず、一番上の山田さんの国語のテストの結果を、IF関数を使って判定し「合格」「不合格」を表示しましょう。
IF関数の構文は以下でした。
=IF(論理式,真の場合,偽の場合)
論理式、真の場合、偽の場合に当てはめる内容を考えましょう。
山田さんの判定結果をIF関数を使って表示させる
山田さんの国語のテストの結果の判定を表示たい”セルC2”に以下の数式を入力します。
=IF(B2>=80,"合格","不合格")
- ・引数1「論理式」結果が”TRUE”又は”FALSE”となる判断条件を指定します。
- ・引数2「真の場合」論理式の結果が真(TRUE)の場合の処理を指定します。
- ・引数3「偽の場合」論理式の結果が偽(FALSE)の場合の処理を指定します。
IF関数の引数1「論理式」の指定
論理式は「もし○○が▲▲だったら」とする必要があります。
今回は「もし山田さんの国語のテストの結果が80点以上だったら」になります。
論理式に必要な材料は
- 山田さんのテスト結果はセル「B2」にある
- ”以上”を表す比較演算子は「>=」である
- 判定する基準の点数は「80」である
この3つの材料を組立てると、論理式は以下になります。
B2>=80
これが引数1「論理式」になります。
IF関数の引数2「真の場合」の指定
引数2には、「真の場合」の処理として以下を指定します。
"合格"
これは文字列の”合格”を表示する意味になります。
IF関数の引数3「偽の場合」の指定
引数3には、「偽の場合」の処理として以下を指定します。
"不合格"
これは文字列の”不合格”を表示する意味になります。
引数に文字列を指定する場合の注意点
関数の引数に文字列を指定する場合は"○○○"の様に、文字列を「ダブルクォーテーション記号」で括る必要があります。
一方、引数に計算式(数式や関数)を指定する場合はダブルクォーテーション記号で括る必要はありません。
もし、計算式(数式や関数)をダブルクォーテーション記号で括ってしまうと、計算式が計算されずに文字列をしてそのまま表示されます。
【手順③】山田さん用にIF関数を組立てる
これでIF関数の3つの引数が決まりましたので、引数の指定に関する基本的なルール(場所/数/順番)に従いIF関数を組み立てます。
=IF(B2>=80,"合格","不合格")
これでIF関数が完成しました。この式をC2セルに入力し、キーボードの【Enter】キーを押して確定します。
この場合、セルB2の値が”85”で、IF関数の条件である80以上なので論理式が「真」となりセルC2には真の場合の”合格”が表示されます。
もしエラーが発生してしまったら、入力した数式をじっくりと見て、間違いを探して修正しましょう。
【手順④】山田さん用のIF関数を他者にコピーする
山田さんの様のIF関数をコピーし、他の四人(斉藤:セルC3、加藤:セルC4、伊藤:セルC5、高橋:セルC6)へ貼り付けます。
これで、他の四人(斉藤、加藤、伊藤、高橋)の判定結果も表示することが出来ました。
山田さんの計算式で指定しているセル番地のB2は、他の四人へ計算式をコピーすると相対的にB3~B6番地に調整されますので心配無用です。
(ちなみにこれはエクセルのデフォルトの機能で”相対参照”と言います。)
4.【応用】IF関数でセルが空欄かどうかを判断する
IF関数でセルが空欄か判断できる
IF関数はセルが”空欄か/空欄ではないか”を判定させることが出来ます。
このテクニックは以下のような場合に使えます。
- ①必要な情報が入力されるまでは空白を表示しておく
- ②必要な情報が入力されたら計算結果を表示する
例えば、見積書の書式をエクセルで作った場合、費目ごとに合計を求める計算を指定しておきたいです。
数量が入力されるまでは「¥0」と表示されてしまうところを、このテクを使えば数量が入るまで空欄にしておくことが可能です。
IF関数によるセルの空欄判定の使用例
例えば、セルD4が「空欄」又は「空欄ではない」を調べる場合、以下の様に指定します。
=IF(D4="","",C4*D4)
""の様に、ダブルクォーテーション記号をスペースをあけずに2個並べるとエクセルでは「空欄」を表します (「空欄」を表すとは「空欄の判定にも使える」「空欄を表示させることもできる」という意味です)。
上記テクニックはエラー処理としてISERROR関数やIFERROR関数(Excel2007以降のみ)でも代用可能です。
5.【応用】IF関数で3分岐/4分岐/5分岐させて処理を変える方法
IF関数 複数条件の指定
IF関数の引数2「真の場合」と引数3「偽の場合」には計算式(数式や関数)も指定できます。
これをネストする(入れ子)と言います。
IF関数の引数2や引数3にIF関数を指定れば、処理を3分岐や4分岐や5分岐させることも可能です。
3つに分岐させる
=IF(条件1,処理①,IF(条件2,処理②,処理③))
4つに分岐させる【A】
=IF(条件1,処理①,IF(条件2,処理②,IF(条件3,処理③,処理④)))
4つに分岐させる【B】
=IF(条件1,IF(条件2,処理①,処理②),IF(条件3,処理③,処理④))
5つに分岐させる【A】
=IF(条件1,処理①,IF(条件2,処理②,IF(条件3,処理③,IF(条件4,処理④,処理⑤))))
5つに分岐させる【B】
=IF(条件1,IF(条件2,処理①,処理②),IF(条件3,処理③,IF(条件4,処理④,処理⑤)))
IF関数のネストの限界
エクセルのネストの限界は、古いバージョンのエクセルでは7階層まででしたが、Excel2007からは最大64階層まで指定することが出来るようになりました。
ただ、階層を深くしすぎると意味が解らなくなり混乱の元になってしまうので、最大でも3階層程度に抑えるのが無難です。
深い階層になってしまう条件で分岐させたいなら、複数のセルを使って計算するのをおすすめします。
6.【応用】IF関数にAND関数やOR関数を組み合わせて複雑な条件で判断できる
今回、引数1の判定条件はひとつでしたが、場合によっては複雑な条件で判定したいことがあるでしょう。
そんな時は「AND関数」「OR関数」「NOT関数」を使えば、更に複雑な条件で処理することが可能です。
それぞれの意味は以下になります。
- AND関数:「~かつ~」「~なおかつ~」「~と~」「~及び~」(論理積)
- OR関数:「~又は~」「~か~」「~ないし~」(論理和)
- NOT関数:「~ではない」「~ではなく」(否定)
AND関数/OR関数/NOT関数の図に表すと以下のような概念になります。
IF関数+AND関数を使用し「もし~なおかつ~だったら」を処理する例
=IF(AND(A1=10,B2=20),C1+D2,E1-F1)
この式は以下の意味を持ちます。
- ・「セルA1が10である」なおかつ「セルB2が20である」を判定する。
- ・判定がTRUE(真)の場合は、引数2のC1+D2の結果を表示する。
- ・判定がFALSE(偽)の場合は、引数3のE1-F1の結果を表示する。
この式を図に表すと以下の様になります。
IF関数+OR関数を使用し「もし~又は~だったら」を処理する例
=IF(OR(A1<>10,B2=C3),"パワポ","ワード")
この式は以下の意味を持ちます。
- ・「セルA1が10ではない」又は「セルB2とC3の内容が同じである」を判定する。
- ・判定がTRUE(真)の場合は、引数2の「パワポ」を表示する。
- ・判定がFALSE(偽)の場合は、引数3の「ワード」を表示する。
この式を図に表すと以下の様になります。
まとめ
このページでは、エクセルの「IF関数/イフ関数」について、以下を解説してきました。
- ・IF(イフ)の意味は「もし~」「もしも~」。
- ・エクセルでIF関数を利用する場面は”場合分け”したい時。
- ・IF関数の基本構文は「=IF(論理式,真の場合,偽の場合)」。
- ・IF関数でセルが空欄かどうかを判断するには""を使う。
- ・IF関数を複数条件で計算するには=IF(条件1,処理A,IF(条件2,処理B,処理C))の様にネスト(入れ子に)する。
- ・IF関数の論理式にAND関数やOR関数を使えば複雑な条件判断が出来る。
ご理解いただけましたでしょうか?
次は、あなたが実際にエクセル上で実際に作業してみて下さい。 自分の手を動かすことが、パソコンスキル向上の近道です。
この記事は以上です。