photo
photo
  1. トップ
  2. Microsoft Office
  3. ExcelのIF関数の使い方!複雑な条件の指定方法をマスター

ExcelのIF関数の使い方!複雑な条件の指定方法をマスター

エクセルのIF関数は、ビジネスシーンでも便利に使える基本操作のひとつです。そんなIF関数の使い方について、エクセル初心者の方向けにご紹介します。

IF関数を使ってできることや基本的な使い方を、会社でよくある具体例やわかりやすい画像でお伝えしますので、ぜひ参考にしてみてください。

エクセル IF関数とは?どんなことができる?

IF関数とは、設定した条件にしたがって、値を変化させるエクセル(Excel)関数のことです。

まずはIF関数でどんなことができるか、具体例を使ってご紹介します。

例えば、会社の有志でクリスマス会を開催するために、参加する社員から集金をすることになったとします。

なるべく若手社員の負担を少なくしようと、30歳以上の社員の参加費は1,000円、30歳未満の社員の参加費は500円と決まりました。

それに従い、Excelで以下の名簿を作成しました。

エクセルのif関数のイメージ

ここでif関数を使えば、それぞれの社員の参加費がいくらになるのか、自動的に振り分けをしてセルに入力できます。

if関数を自動的に計算

「もしも社員が30歳以上なら1,000円」「もしも社員が30歳未満なら500円」という2つのパターンによって値が振り分けられ、セルへ金額が入力されました。

IF関数は他にも、社内の資格試験の合格/不合格を自動的に振り分けるときなどに使えます。

if関数で合格/不合格を自動的に振関数で

このように「もしも……」と条件を指定して、「この場合はA、この場合はB」と値を変えるのが、if関数にできることです。

 

エクセル IF関数の使い方

それでは、初めにご紹介した例を参考に、Excelのif関数の使い方を解説します。

1. まずは条件を決めて値を入力した表を作成しましょう。

表を作成する

こちらの例では、(1)30歳以上なら1,000円、(2)30歳未満なら500円、という引数で表を作成しています。

2. 次に、セルに式を入力します。if関数で使う式は、以下の通りです。

=IF(論理式,真の場合,偽の場合)

セルに式を入力

なお、こちらの例では「=IF(B2>30,$E$1,$E$2)」という式をC2のセルに入力しています。

  • 「B2>=30」は「もし社員の年齢が30歳以上だったら」という条件を指します
  • 「$E$1」は論理式が真の場合の値で、E1のセルに入力された「1,000円」の値を選択することを指します
  • 「$E$2」は論理式が偽の場合の値で、E2のセルに入力された「500円」の値を選択することを指します

3. 最後に、オートフィルで式をコピーして完了です。

if関数をオートフィルでコピー

30歳以上の間宮さん・大橋さん・広瀬さん・槇村さん・角田さんは1,000円、30歳未満の金井さんと栗本さんは500円と振り分けられています。

if関数での振り分け結果

引数「論理式」に使える比較演算子

引数の「論理式」には、条件文を記載します。条件文とは、「金額が500円未満」や「A3とA4セルの値が同じ」などです。この条件文は比較演算子を用いて記述されます。

比較演算子の意味は下記の表の通りです。結果は使用例を実行したときの結果です。

比較演算子 意味 使用例 使用例の説明
= 等しい A1=B1 A1の値とB1の値が等しければTRUE、そうでなければFALSE 例:1=2の時、結果はFALSE
<>  等しくない A1<>B1 A1の値とB1の値が等しくなければTRUE、そうでなければFALSE 例: 1<>2の時、結果はTRUE
大きい A1>B1 A1の値がB1の値より大きければTRUE、そうでなければFALSE 例:1>2の時、結果はFALSE
小さい A1<B1 A1の値がB1の値より小さければTRUE、そうでなければFALSE 例:1<2の時、結果はTRUE
>= 以上 A1>=B1 A1の値がB1の値以上であればTRUE、そうでなければFALSE 例:1>=2の時、結果はFALSE
<= 以下 A1<=B1 A1の値がB1の値以下であればTRUE、そうでなければFALSE 例:1<=2の時、結果はTRUE

 

エクセル IF関数で複数条件を指定する方法

エクセルのif関数では、2つ以上の条件を組み合わせることも可能です。たとえば、参加費が3パターンに増えた場合の例でご説明します。

1. まずは条件を決めて値を入力した表を作成しましょう。40歳以上は2,000円、30~40歳は1,000円、30歳未満は500円とします。

エクセル IF関数で複数条件を指定する方法

2. 次に、セルに式を入力します。

セルに式を入力

こちらの例では「=IF(B2>=40,$E$1,IF(B2<30,$E$3,$E$2))」という式をC2のセルに入力しています。

先程の式における“偽の場合”にあたる部分にもう1つIF関数を入れることで、複数の条件に対応できるようになります。

  • 「B2>=40」は「もし社員の年齢が40歳以上だったら」という条件を指します
  • 「$E$1」は、論理式が真の場合の値で、E1のセルに入力された「2,000円」の値を選択することを指します
  • 次の「=IF(B2<=30」は、論理式が偽の場合の値で、「社員の年齢が30歳未満だったら」という条件を指します
  • その後の「$E$3」と「$E$2」は、「=IF(B2<=30」が真の場合と偽の場合の値です。

3. 最後に、オートフィルで式をコピーして完了です。

オートフィルで式をコピー

40歳以上の間宮さん・大橋さん・槇村さんは2,000円、30歳以上40歳未満の広瀬さん・角田さんは1,000円、30歳未満の金井さんと栗本さんは500円と振り分けられています。

エクセル IF関数で複数条件を指定した結果

 

エクセル IF関数におけるANDとORの使い方

if関数ではさらに、「かつ(and関数)」と「または(or関数)」を指定してより複雑な処理ができます

たとえば、社内資格試験の合格者の判定にif関数を使うとします。

2回の試験によって合否判定

一次試験と二次試験があり、それぞれの点数によって合否判定がなされます。

一次試験が90点以上でかつ二次試験が90点以上で合格の場合(AND関数)

1. まずはセルに式を入力します。

IF関数とAND関数を組み合わせた例

こちらの例では「=IF(AND(B3>=90,C3>=90),$F$2,$F$3)」という式をD2のセルに入力しています。

論理式の部分にAND関数を用いた「AND(B3>=90,C3>=90)」が入り、“一次試験が90点以上でかつ二次試験が90点以上”という条件を指定しています。

  • 「$F$2」と「$F$3」は、論理式が真の場合の値と、偽の場合の値が指定されることで「合格」と「不合格」の値を選択することを指します。

2. オートフィルで式をコピーして完成です。

オートフィルでコピー

一次試験と二次試験がいずれも90点以上の金井さんと槇村さんが合格に、その他のみなさんが不合格に振り分けられています。

一次試験が90点以上または二次試験が90点以上で合格の場合(OR関数)

1. まずはセルに式を入力します。

if関数とOR関数を組み合わせた例

こちらの例では「=IF(OR(B3>=90,C3>=90),$F$2,$F$3)」という式をD2のセルに入力しています。

“論理式”の部分にOR関数を用いた「OR(B3>=90,C3>=90)」が入り、“一次試験が90点以上または二次試験が90点以上”という条件を指定しています。

  • 「$F$2」、「$F$3」はANDを用いたときと同様で、真の場合と偽の場合の値です。

2. オートフィルで式をコピーして完成です。

オートフィルでコピー

一次試験か二次試験のいずれかが90点以上の、金井さん・間宮さん・広瀬さん・栗本さん・槇村さんが合格に、その他のメンバーが不合格に振り分けられています。

if関数とOR関数を組み合わせた結果

 

複数条件の指定にはIFS関数が便利

IFS関数は、1つ以上の条件が満たされているかをチェックし、最初のTRUE条件に対応する値を返します。複数の条件を指定する場合、IF関数を使用すると、IF関数の入れ子(ネスト)になり複雑になってしまいますが、IFS関数を使用することで、1つの関数で表現することができます。

IFS関数はExcel2019から追加された関数で、Excel2019とMicrosoft365のバージョンであれば使用可能です。

IFS関数の使い方

記述方法は下記です。

=IFS(論理式1,真の場合1, 論理式2,真の場合2, … , 論理式127,真の場合127)

“論理式1”が真であれば、“真の場合1”の値を返し、偽であれば、“論理式2”の条件を確認します。“論理式2”が真であれば、“真の場合2”の値を返し、偽であれば”論理式3”の条件確認を続けていきます。論理式は最大127個まで指定することができます。

とはいえ、あまりにも多くの条件を指定すると、正確な条件順序を確認することが大変になるため、条件を多くし過ぎないことをおすすめします。全ての論理式に合わない場合、“#N/A”が返ります。IF関数であれば、偽の場合の値を返すことができるため、簡単な条件を記載し、それ以外は偽の場合としてまとめることができました。しかし、IFS関数ではできませんので、用途に応じてIF関数とIFS関数を使い分けると良いでしょう。

IFS関数の使用例

前述の、年齢によって集金金額を変更したい場合を、IFS関数を使って算出してみましょう。

IFS関数の使用例

こちらの例では、C2セルに「=IFS(B2>=40,$E$1, B2>=30,$E$2, B2<30,$E$3)」と式を入力します。

IFS関数を使用することで、前述のIF関数が入れ子になっている式と比較すると、式が見やすくなります。

IFS関数の式により、年齢が40歳以上であれば2,000円、年齢が30歳以上40歳未満であれば1,500円、30歳未満であれば500円を算出します。

オートフィルで全てを算出した結果は、IF関数と同じ結果になります。

 

知っておきたいIFを使うエクセル関数

上記の他にも、知っておくと便利なIFを使う関数を紹介します。

COUNTIF

COUNTIF関数は、条件に当てはまるセルの個数をカウントする関数です。

=COUNTIF(範囲、検索条件)

の形式で記述します。”範囲”には検索したいセルの範囲、”検索条件”にはカウントしたいセルの条件を設定します。

詳しく知りたい方は、「エクセルのCOUNTIF関数はどう使う?複数条件の扱い方も解説」を参考にしてください。

SUMIF

SUMIF関数は特定の条件に一致したデータを合計する関数です。

=SUMIF(範囲,検索条件,[合計範囲])

の形式で記述します。“範囲”には検索対象にしたいセルの範囲、”検索条件”には、絞り込んで合計を計算したい検索の条件、”合計範囲”は条件に当てはまった場合に合計する値を設定します。

詳しく知りたい方は、「ExcelのSUMIF関数の使い方!検索・複数条件もわかりやすく解説」を参考にしてください。

AVERAGEIF

AVERAGEIF関数は、条件に一致するすべてのセルの平均値を計算します。

=AVERAGEIF(範囲, 検索条件, [平均対象範囲])

の形式で記述します。”範囲”は平均値を求めたい値が入力されているセルの範囲、”検索条件”は絞り込んで平均値を計算したい検索の条件、”平均対象範囲”は条件に当てはまった場合に平均値計算に使用する値を設定します。

詳しく知りたい方は、「【エクセル】averageIF関数の使い方!入力方法もわかりやすく解説」を参考にしてください。

IFERROR

IFERROR関数はエラーの場合に指定した値を返す関数です。例えば、0で割る除算の場合や、関数を使用したが値が求められない場合などは、Excelからエラーが出力されます。IFERROR関数を使用すると、そのエラーを別の文字列などに変更することができます。

=IFERROR(値,エラーの場合の値)

の形式で記述します。“値”はエラーかどうかをチェックする数式やセル参照を指定し、”エラーの場合の値”は、第1引数の”値”がエラーの場合に返す値を指定します。

 

今回は、ExcelでのIF関数とIFS関数の使い方をご紹介しました。

基本操作のひとつであるIF関数は、ビジネスシーンでも非常によく使います。

Excelの基本として押さえておきたい部分はIF関数だけではないので、これを機にしっかりとしたExcelの知識を身につけましょう!

Excelの基本として押さえておきたい部分はif関数だけではないので、これを機にしっかりとしたExcelの知識を身につけましょう!

あなたのビジネススキルを向上させるおすすめ講座

ビジネスパーソン必見のExcelスキル

【初心者から上級者まで】1日で学べるエクセルの教科書 マスターコース
データ集計や「見やすく、ミスなく、速く」Excelスキルを1日でマスター。

ソフトバンクの孫正義氏が認めたプレゼン術

3分で一発OK!社内プレゼンの資料作成術
ベストセラー書「社内・社内プレゼンの資料作成術」の著者、前田鎌利による特別ワークショップでプレゼン術の秘訣を全公開。

イケてる資料作成術を身につけよう!

【22倍印象に残る】グローバルでも通用するPowerpoint資料作成術 ~思考整理から資料作成までの黄金の4ステップ~
伝わらない・分かりづらいを解決!「ストーリー型」プレゼン資料作成術。米スタンフォードMBA出身の元外資系コンサルが10年の経験を集約してお伝えします。

マーケティング分析をしたい方へ

EXCELで学ぶ数字思考力とマーケティング分析【入門編】分析のための考え方と手法を学び、実践的な分析ができるようになる!
ロジカルシンキングの中の因数分解(数字思考力)と8つの分析手法をEXCELワークシートを使って学習しよう!