ExcelのIF関数の使い方 複数条件を指定する方法や、文字列の処理の仕方などについて
この記事では、エクセルのデータを整理したり、効率よく集計したりするときに役立つIF関数の基本的な使い方から応用的な用法までわかりやすく解説します。
目次
この記事を読んだ人がよくダウンロードしている資料
IF 関数とは
IF関数は、指定した条件を満たしている時と満たしていない時で異なる値を表示させることができる関数です。
例えば下の図ではC4〜C8にIF関数を使用しています。
営業担当者一人あたりの売上目標が300万円と設定していた場合に、B列の売上が300万円以上なら「達成」、300万円未満なら「未達成」と表示させています。
IF関数の式と使い方
この例をもとにIF関数の式や書き方を確認していきましょう。ちなみに、ここからの解説に用いるExcelテンプレートはこちらから無料ダウンロード可能ですので、ぜひダウンロードして読み進めてみてください。
まずIF関数の式は次のように書きます。
=IF(論理式, [真の場合], [偽の場合])
論理式、真の場合、偽の場合の部分には次のような内容を入力します。
- 論理式:条件を示す式を書く
- 真の場合:論理式の条件を満たしている場合の処理を書く
- 真の場合:論理式の条件を満たしていない場合の処理を書く
具体的に先ほどの例で確認してみましょう。
例:営業担当者の売上実績に基づいて、目標の達成状況を表示する
この例でC4には次のような式が入力されています。
式の意味を確認してみましょう。
- ❶ 論理式:B4が300万以上(「>=」は「以上」という意味を表します)
- ❷ 真の場合:条件(B4が300万以上)を満たしていれば「達成」と表示する
- ❸ 偽の場合:条件を満たしていなければ「未達成」と表示する
上記の図では、実際にB4が300万以上で、条件を満たしているためC4に「達成」と表示されています。この例では、C4〜C8にIF関数を使っていますが、C4のセルをコピーしてC5〜C8に貼り付ければ、自動で対応するセルを条件に照らし合わせて「達成」「未達成」が表示されます。
文字を表示させる場合は「””」を使う
またこの例にあるように「達成」「未達成」のような文字を表示させたい場合は、その文字列を””(ダブルクオテーション)で囲みます。数値を表示させる場合には””(ダブルクオテーション)は不要です。
論理式の条件にはセルを指定することもできる
ちなみに、例では分かりやすくするために論理式を「B4>=3000000」としていますが、C1に目標金額が入力されているため論理式を「B4>=C1」と書き換えても同じような結果を得られます。その場合はC1の目標金額を書き換えた場合にその金額に合わせて達成/未達成の表示が自動で変わるためより便利です。
IF関数でミスなくデータを整理する
IF関数を使うことで、条件を満たしているかどうかを自動で判別することができ、手動で入力した場合に比べて素早く、ミスなく素早くデータを整理することができるようになります。
IF関数の活用のポイント
ここからはIF関数を活用していく上で知っておくべきポイントを解説していきます。
論理式に使える比較演算子
先述の例では300万円以上という条件を指定するために「>=」という記号を使いました。この他にもIF関数の論理式には「=」「>」などの記号を使用することができ、これらを比較演算子と呼びます。
IF関数の論理式に使える比較演算子は以下の6つです。
- =:等しい(例: A1 = 100)
- <>(もしくは !=):等しくない(例: A1 <> 100)
- >:大なり(例: A1 > 100)
- <:小なり(例: A1 < 100)
- >=:以上(例: A1 >= 100)
- <=:以下(例: A1 <= 100)
これらはIF関数以外の関数でも頻繁に使用します。
複数の条件を指定する方法
IF関数の [真の場合] や [偽の場合] にさらにIF関数の式を入れれば、複数の条件を指定することも可能です。具体例で見てみましょう。
例:目標の達成状況を3通りのパターンで表示する
売上の実績が目標の300万円を超えていたら「達成」、目標には届いていないが達成率80%(売上240万円)以上であれば「80%達成」、達成率80%未満であれば「未達成」と表示されるようにしています。
この例でC4には次のような式が入力されています。
式の意味を確認してみましょう。
- ❶ 論理式:B4が300万以上
- ❷ 真の場合:条件(B4が300万以上)を満たしていれば「達成」と表示する
- ❸ – 1 論理式:B4が240万以上
- ❸ – 2 真の場合:条件(B4が240万以上)を満たしていれば「80%達成」と表示する
- ❸ – 3 偽の場合:条件(B4が240万以上)を満たしていなければ「未達成」と表示する
最初の条件「B4が300万以上」が偽だった場合に、さらにIF関数で条件を設けることで3通りの表示ができるようになっています。さらにIF関数を入れていけばさらに条件分岐を増やすことも可能です。
IFS関数を使う方法
IF関数の中にIF関数を入れる方法以外にも、複数の条件を設定する方法があります。それがIFS関数です。IFS関数はExcel2019や2021などで利用できるようになっています。
IFS関数の式
=IFS(論理式1, 真の場合1, 論理式2, 真の場合2, …, 論理式N, 真の場合N)
先ほどの「達成」「80%達成」「未達成」と表示する例をIFS関数で書き直してみると以下のようになります。
式の意味を確認してみましょう。
- ❶ 論理式1と真の場合1:B4が300万以上を満たしていれば「達成」と表示する
- ❷ 論理式2と真の場合2:B4が240万以上を満たしていれば「80%達成」と表示する
- ❷ 論理式3と真の場合3:B4が240万未満を満たしていれば「未達成」と表示する
式自体はIFS関数のほうが長くなっていますが、関数の中に関数を入れるという書き方をしなくてよいため、IF関数に比べて単純な式で表現できます。
ANDとORの使い方
IF関数と合わせて使われることが多い関数にANDとORがあります。それぞれ具体例で確認してみましょう。
AND関数の例
この例では、2つの主力商品があり、それぞれに目標金額が設定されている例です。
両方の目標金額を超えている場合のみ「達成」と表示させるためにANDの関数を使っています。D4に入力されている式を見てみましょう。
- ❶ 論理式:B4が250万以上 かつ C4が50万以上
例の担当者 松本さんは、商品Aの目標は達成しているものの、商品Bの目標は達成していないため、「未達成」と表示されています。
ORの例
OR関数も同じ例で確認してみます。
ANDの時との違いは、商品Aの売上か商品Bの売上のいずれかが目標金額を超えていれば達成と表示するためにOR関数を使っています。D4に入力されている式は次の通りです。
- ❶ 論理式:B4が250万以上 または C4が50万以上
先ほどと変わって例の担当者 松本さんは商品Aで目標を達成しているため、「達成」の表示に変わっています。
論理式で文字列を指定する場合
ここまでは「売上目標が300万円以上」のように、論理式で指定する条件が数値の場合を解説しましたが、論式には文字列を指定することもできます。こちらも具体例で見てみましょう。
例:担当者に対応する事業部名を表示する
この例では大野さんが第一事業部、それ以外の人は第二事業部となるようにしています。
D4に入力している式は以下の通りです。
文字列を条件に指定するときも””(ダブルクオテーション)を使います。
また、ここまでに解説したAND関数を使って複数人を指定したり、IFS関数を使って条件分岐を増やすこともできます。
エラー表示をなくす場合にはIFERROR関数
IF関数と似た役割を果たす関数にIFERROR関数というものがあります。IF関数と合わせて使用することが多いためIFERROR関数の使い方も解説しておきます。
エクセルで数式や関数を使用すると、「#VALUE」や「#N/A」といったエラー表示が出ることがあります。そのような表示を見かけたことがある方も多いと思いますが、そのままにしておくと表としての見栄えが悪く、必要な情報が読み取りづらくなる場合があります。そのような時に使うのがIFERROR関数です。
IFERROR関数の式は
=IFERROR(値, エラーの場合)
です。具体例を元に使い方を確認してみましょう。
例:担当者ごとの達成率を表示する
以下の例ではD列に各担当者の達成率を表示していますが、C4やC8には「#VALUE」のエラーが表示されてしまっています。
これはC4には「=B4/C1」という数式を入力しているのにB4の欄に「実績なし」という文字列が入力されているためエラーが表示されてしまっています(C8も同様)。
そこでD列にIFERROR関数を使って書き直したのが次のシートです。
D4に入力している式は以下の通りです。
- ❶ 値:「C1の値」割る「B4の値」
- ❷ エラーの場合:❶の値がエラーになった場合に” – ”を表示する
このように、エラーが発生する場合の条件分岐にはIFERROR関数を使って、見やすいシートを作成しましょう。
まとめ
IF関数は式もシンプルで他の関数と組み合わせて様々な応用方法もある関数です。まずは基本的な使い方を覚えてエクセルを使ったデータの整理や分析に活用していきましょう。
\ この記事を読んでいる人におすすめ! /