Trace Id is missing

Excel IF 関数の使い方をマスターして複数条件にも対応しよう

2021 年 9 月 27 日

Microsoft Excel の IF 関数は条件に合致するかどうかで表示する値を変えられる関数です。使用頻度の高い便利な関数で、上手に活用することでさまざまな使い方が可能です。
本稿では IF 関数の概要や論理式を解説しながら、応用的な使い方まで紹介します。

1. IF 関数の使い方~基本編~

IF 関数は選択したセルと論理式を参照し、A または B を判断する関数です。
具体的には、条件に合っているか、合っていないかに応じて、セルに表示する値を真の場合 (条件の答えが TRUE となる場合)、または偽の場合 (条件の答えが FALSE となる場合) のどちらかへ自動的に分岐してくれるもので、わかりやすい例を挙げると、点数に応じて合否を判断するような場面で利用できます。

以下の例では、IF 関数を使って 90 点以上という条件に対し、値が 90 以上の数値なら真の場合となるので「合格」を表示、それ以外の値なら偽の場合となるので「不合格」を表示しています。

IF 関数を使って 90 点以上という条件に対し、値が 90 以上の数値なら「合格」、それ以外の値なら「不合格」を表示する例

IF 関数を使うときは、IF の式の中に、「条件を表す式」「条件に合っている場合に表示する値」「条件に合っていない場合に表示する値」の 3 つを入れます。

ここでは「90 点以上が真」という論理式を入力しました。この「90」という基準値に一致するかどうかで、表示する値が「合格」か「不合格」かが変わります。
式の中に入れる値については次の章で詳しく解説します。

2. IF 関数で使う 3 つの引数

IF 関数は、論理式、論理式が真の場合の応答、論理式が偽の場合の応答の 3 つの値を入れて使用します。
関数を使うために入力するこれらの 3 つの値のことを引数といいます。
IF 関数を構成する 3 つの引数を、以下の例で解説しましょう。

IF 関数の 3 つの引数

2-1. 論理式 : 何を基準にするのか

IF 関数の論理式には、「条件を表す式」が入ります。論理式の条件を基に真偽に分岐するため、論理式は必ず「Yes (=TRUE) / No (=FALSE)」で答えられる式が入ります。

論理式で使えるのは以下の 4 種類です。

  1.  : 比較演算子 (=、<、>)
  2.  : 数字、文字列
  3.  : セル参照
  4.  : 関数

セル参照と関数については後段で説明します。
まずは基本となる比較演算子について紹介します。

【比較演算子を使って 2 つの値を比較する】

比較演算子は別のセルの値と値を比較するなど、分岐のための条件となる式を指定します。
比較演算子の種類は以下のとおりです。(YES の場合は TRUE、NO の場合は FALSE になります。)

  • =  右の値と左の値が等しい
  • <>  右の値と左の値が等しくない
  • < 右の値が左の値よりも大きい
  • > 右の値が左の値よりも小さい
  • <= 右の値が左の値以上
  • >= 右の値が左の値以下

先程の例では、B2 のセルが 90 以上の値かどうかという基準を「B2>=90」という論理式で表しています。

【数字、文字列を直接指定する】

論理式で用いる値は、セルを指定するだけではなく、数字や文字列を直接指定することもできます。
式に文字列を指定するときは文字列をダブル クォーテーションで、「“合格”」のように囲みます。
論理式内の全角文字と半角文字は区別されますが、英字の大文字と小文字は区別されないため、注意が必要です。

2-2. 値が真の場合 : 条件に当てはまるとき

値が「真の場合」の項では、論理式に合致するとき、設定された値をセルに入力します。
省略することもでき、省略した場合は「0」となります。「“”」とダブル クォーテーションで囲めば、空白を返すこともできます。

例では、値が真の場合に「”合格”」を設定しているので、論理式が真の場合、つまり値が 90 以上の場合に「合格」という文字列が表示されます。

また、値は数字や文字列などの固定値以外に関数を含めることもできます。IF 関数を入れ子 (ネスト) にすれば、複数の条件を設定することも可能です。

2-3. 値が偽の場合 : 条件に当てはまらないとき

値が「偽の場合」の項では、論理式に合致しないとき、設定された値をセルに入力します。
真の場合と同様に省略することもでき、省略した場合は「FALSE」となります。

例では、値が偽の場合には「“不合格”」を設定しているので、論理式が偽の場合、つまり値が 90 以上でない場合に「不合格」という文字列が表示されます。

真の場合と同様に、値に空白を返すことも、関数を指定することもできます。

Excel 作業を高速化するテクニックを厳選!

無料ガイドブック
Excel ショートカット 30 選
Microsoft 公式 超時短仕事術 Excel ショートカット 30 選

3. 論理式のバリエーション

論理式で利用できる値は、“1=1”(=TRUE) といったように、結果が真偽 (TRUE/FALSE) のどちらかになる必要があります。別のセルを参照することで、別で行った計算結果に応じて値を設定することも可能です。

真偽を分けるためにはいくつかの方法があるので、1 つずつ見ていきましょう。

3-1. 2 つの参照値を比較する論理式

論理式や真偽の値では別のセルを参照することもできます。
セル参照を使って論理式を作ると、参照先のセルの値を変更するだけで関数式を変えずに値を変更することが可能です。
また、別のセルに入力されている値をもとに真か偽か判断することができるため、複雑な計算を行った結果を条件にすることもできます。

【計算式の入ったセルを参照する方法】

セル参照を使うときは、式を作成する際にセルをクリックして指定するか、セル名を入力します。

下の例では、国語、数学、英語の 3 科目の平均点を別で計算しておき、それを合否の論理式に当てはめることで、得点と全体平均の値を比較して合格、不合格の判断を行っています。

計算式の入ったセルの参照

例では、C 列の合否の論理式に絶対参照 ( $ ) を用いています。絶対参照とは、セルをコピーしても参照する場所が変わらないようにする参照方法です。
絶対参照を使うときは、セルを指定したときに「F4」キーを押下するか、範囲の列名と行名の頭に「$」を入力します。

【2 種類のリストの一致を確認する方法】

セル参照を使って論理式を作成することで、2 つの値が一致しているかどうか確認できます。
論理式で 2 つのセルを参照し、値が一致した場合に、真の場合の値を返すといった利用方法です。

セル参照を使って論理式を作成し、2 つの値が一致しているかどうかを確認

この例では、名簿 1 と名簿 2 のチームが同じ場合に、新名簿の値が名簿 1 のチームの値となるようにしています。

論理式 (B16=E16) の値が合致しないため、偽の場合の「要確認」の文字列が表示

例では論理式 (B16=E16) の値が合致しないため、偽の場合の「要確認」の文字列が表示されました。

3-2. 参照値にブランクを含む場合の論理式

Excel の数式は空白を参照した場合、0 を表示します。また、論理式でどちらかの参照値が空白だった場合は、偽の場合の値が表示されます。
そのような意図していない値が返るのを回避するために、IF 関数と組み合わせて利用されることが多いのが ISBLANK (イズブランク) 関数です。

IF 関数を使うときに、セル参照を行っているセルが空白かどうかを調べ、それによって返す値を変えるときに ISBLANK 関数を論理式で利用します。データの入ったセルと空白が混在する際など、空白を区別したいときに利用すると便利です。

ISBLANK 関数はセルの値が空のときに TRUE となります。ISBLANK 関数を IF 関数の論理式として使用する場合は、空白時に「値が真の場合」の値になり、値がある場合は「値が偽の場合」の値になるという形です。

下の例は、提出日のセルが空白だったら「未提出」、空白でない場合は「提出済」が返る ISBLANK 関数を使った IF 関数の式です。

提出日のセルが空白だったら「未提出」、空白でない場合は「提出済」が返る ISBLANK 関数を使った IF 関数の式

提出日のセルが空白なので、「未提出」が表示されます。

提出日のセルが空白なので、「未提出」が表示される

また、ISBLANK 関数を論理式に利用した IF 関数を、入れ子の IF 関数で利用することで、空白のセルをチェックしてから、さらに条件を分岐させることができます。
これは、「IF 関数の便利な使い方〜応用編〜」で後述します。

3-3. 参照値にエラーを含む場合の論理式

参照元のセルにエラーが発生していると IF 関数を使っているセルもエラーとなってしまいます。
このようなエラーをチェックするときに ISERROR (イズエラー) 関数を利用できます。

ISERROR 関数は、「#N/A」、「#VALUE!」、「#REF!」、「#DIV/0!」、「#NUM!」、「#NAME?」、「#NULL!」などさまざまなエラーをチェックして、エラーがある場合に値が真の場合を返します。
それでは実際の使用例を紹介します。

例では、総合合否のセルで IF 関数を用いています。合格率と合格基準のセルを比較して、合格基準以上なら「合格」を返す式となっています。
しかし合格率の H2 セルの値が「=2/0」と値を 0 で割っているため 0 除算エラーになり、全体平均の値を参照している合否のセルもエラーになっています。

セルの値がエラーとなる場合

このとき、0 除算のエラーをチェックする場合は ISERROR 関数を利用して論理式を作ります。
下の例では I 列にエラー チェックの枠を設け、合格率のセルがエラーのときは「エラー」、エラーでない場合は「OK」の値が表示される式が入っています。
IF 関数の論理式に ISERROR 関数を設定しているのですが、ISERROR 関数を使うとエラーの場合は TRUE、エラーでない場合は FALSE となります。

ISERROR 関数を利用して論理式でエラーの場合は「エラー」の文字列を表示

ISERROR 関数も IF 関数を入れ子で利用することで、エラーがあるものをチェックしてから条件を分岐させることができます。
こちらも次の「IF 関数の便利な使い方〜応用編〜」で後述します。

4. IF 関数の便利な使い方~応用編~

IF 関数の引数に別の関数を使うことで、より複雑な計算を行うことが可能です。

【3 つ以上の値に分岐させたい場合】

IF 関数の真偽の値に IF 関数を入れ子 (ネスト) にすることで、TRUE/FALSE の 2 択から 3 択以上に拡張できます。

たとえば、90 点以上は合格、70 点~ 89 点は条件付き合格、それ以下は不合格といったように、複数の値を返すことが可能です。

IF 関数で3 つ以上の値に分岐させたい場合の例

この例では、最初の IF 関数の論理式で 90 点以上、値が真の場合を「合格」とし、値が偽の場合の引数を IF 関数に設定しており、偽の場合の IF 関数では、論理式が 70 点以上、値が真の場合を「条件付き合格」、値が偽の場合を「不合格」となるよう指定しているため、通常真偽のどちらかとなる IF 関数において、3 つの値を設定できています。

ただ、条件が増えれば増えるほど関数の記述が複雑になってしまうため、3 つ以上の値を設定する場合、I F S 関数を用いるのがおすすめです。
I F S 関数は IF 関数を複数記述できる関数で、IF 関数を入れ子にするよりもすっきりした記述になります。

【2 つ以上の条件をもとに値を分岐させたい場合】

先程の例とは逆に、複数の論理式を組み合わせて使い、結果を真偽の 2 択に分岐させたい場合は、AND 関数を用いることで解決できます。

IF 関数で2 つ以上の条件をもとに値を分岐させたい場合の例

この例では AND 関数を用いて C54、E54、G54 が同じ値かつ「合格」となる場合に H54 に「合格」、それ以外の場合に「不合格」を設定しています。G54 が「不合格」となっているため、条件に一致せず総合合否では「不合格」となります。
同じように OR 関数を用いることも可能です。

【空白を条件に加えたい場合】

また、論理式のバリエーションで紹介した ISBLANK 関数や ISERROR 関数を入れ子にして利用することもできます。

下の例では、最初の IF 関数の論理式で ISBLANK 関数を用いて空白かどうかを判断し、セルが空白で値が真の場合「欠席」を引数とし、値が偽の場合は引数を IF 関数に設定しています。そして2 つ目の IF 関数では、論理式が 90 点以上、値が真の場合を「合格」、値が偽の場合を「不合格」となるよう指定しています。

IF 関数で空白を条件に加えたい場合の例

【エラーを条件に加えたい場合】

ISERROR 関数を入れ子にした下の例では、最初の IF 関数の論理式で ISERROR 関数を用いてエラーかどうかを判断し、エラーで値が真の場合の引数は「エラー」、値が偽の場合の引数は IF 関数に設定しています。そして2 つ目の IF 関数では、論理式が得点と全体平均を比較し、値が真の場合を「合格」、値が偽の場合を「不合格」となるよう指定しています。

IF 関数でエラーを条件に加えたい場合の例

ただし、値がない「#N/A」エラーをエラーとして処理したくない場合には ISERR 関数を使います。ISERR 関数は ISERROR 関数同様、エラーがあると値が真の場合を表示しますが、「#N/A」エラーに対しては値が偽の場合を表示します。

例では、VLOOKUP 関数を使って得点一覧の表の平均点を合否結果の平均点に表示しています。
目的の値である氏名 (G26) が得点一覧の氏名に存在しないため、「#N/A」エラーとなっています。
ここで、ISERR 関数を使ってエラー チェックをすると、「#DIV/0」の 0 除算エラーはエラーと判断されているのに対し、「#N/A」エラーは値が偽の場合の「該当なし」と表示されています。

VLOOKUP 関数を使って得点一覧の表の平均点を合否結果の平均点に表示した例

下の例のように、ISERR 関数を入れ子にすると、総合合否の列には「#N/A」エラーを参照しているセルには「#N/A」が表示され、「#DIV/0」エラーを参照しているセルには「エラー」が表示されます。

ISERR 関数を入れ子にして使用した例

5. まとめ

IF 関数は論理式の値が真偽 (TRUE/FALSE) になるときに使うもので、Excel では基本の関数となります。応用範囲も広いため、覚えておきたい関数の 1 つです。

2 つの値が一致するかの確認にも利用でき、式を入れ子にすると複数の条件を基に分岐できます。また、ISBLANK 関数を論理式に用いることで参照した値が空かどうかを判断でき、ISERROR 関数を論理式に使うと参照した値がエラーかどうかの判断も可能です。

IF 関数にはバリエーションがいくつかあり、IFERROR、IF N A、I F S などがそれにあたります。さらに、SUM 関数や COUNT 関数などの他の関数と IF 関数との組み合わせで、COUNTIF、SUMIF、SUMIFS といった関数もあります。

「関数の挿入」ボタンから検索すると、どういった関数なのかが解説されているため、ぜひ試してみてください。

【参考】関連する関数

リモートワーク・ハイブリッドワークに適した環境設置のために

リモートワーク・テレワーク・在宅勤務環境を安全・快適に実現するためには、「セキュリティの確保」「Web 会議のためのデバイス選択」「グループワークのためのアプリケーション」など検討する課題も多く、またこれらを潤沢な資金で準備するのではなくコスト削減につなげることが大切です。

これらの達成のための Microsoft 365、Excel の使い方や、リモートワーク・ハイブリッドワーク環境を充実させるために以下の記事が参考になります。

他にも Excel 作業を高速化するテクニックを厳選! 無料ガイドブック

Microsoft 公式 超時短仕事術 Excel ショートカット 30 選

Excel ショートカット 30 選

Microsoft 公式の超時短仕事術 Excel ショートカット 30 選です。マウスなしで快適に Excel を使いこなしたい、より効率に作業したいという方必見!

ご購入検討の問い合わせ先

電話アイコン

お電話で購入相談

受付時間: 9:00 - 17:30 (土日祝日、弊社指定休業日を除く)

封筒アイコン

Web フォームで購入相談

本情報の内容 (添付文書、リンク先などを含む) は、作成日時点でのものであり、予告なく変更される場合があります。