IF関数について、説明しています。
.
応用編の使い方や
注意すべきエラーなどについても
解説しているので必見です!
.
IFを含む他の関数も紹介していますので
ぜひ、ご活用くださいね。

たくさんあるデータを
場合分けしたいけど、手動は時間がかかる…

場合分けしたいの??
だったら、良い関数があるよ!

え!?そんな関数あるの??

IF関数だよ!
IFを含む他の関数でも場合分けできて
すごく便利だよ。

仕事でたくさん使うから
覚えたいな。

じゃあ、説明を見ていこう!
意外と簡単だから
ぜひマスターしてね。
【IF関数とは?】
▶︎条件に基づいて特定の結果を返す
IF関数は、条件に基づいて特定の結果を返すための関数です。
IF関数を使用することで、データの分岐処理や条件に応じた演算が可能となります。
指定した条件が真(True)である場合と偽(False)である場合に
それぞれ異なる結果を返します。
▶︎IF関数の構文
=IF(C5>=50,“可”,“不可”)
場合分けしたい条件を指定します。
例の場合だと「検査点数が50点以上」
※この条件から、【50点以上】か【それ以外】に分岐します。

条件式に当てはまる場合の対応を指定します。
例の場合だと「検査点数が50点以上」=「可と表示」

条件式に当てはまらない場合の対応を指定します。
例の場合だと「検査点数が50点未満」=「不可と表示」



意外とシンプルですよね!
ぜひ、覚えてくださいね。
【IF関数の使い方】
▶︎使い方1:データの仕分けをしたい
データの仕分けをする際にIF関数は非常に便利です。
例えば、ある数値が特定の範囲に該当する場合に
特定のラベルを付けたい場合などに利用します。
検査点数が50点以上 → 結果を「可」表示
検査点数が50点未満 → 結果を「不可」表示
①条件式を設定
「検査点数が50点以上」という条件式を設定
=IF(C5>=50,“可”,“不可”)
②「真の場合」を指定
検査点数が50点以上だったら(真の場合)
→「可」を表示という設定
=IF(C5>=50,“可”,“不可”)
③「偽の場合」を指定
検査点数が50点未満だったら(偽の場合)
→「不可」を表示という設定
=IF(C5>=50,“可”,“不可”)
④実行する
検査点数が50点以上 → 結果を「可」表示
検査点数が50点未満 → 結果を「不可」表示
の仕分けができました!
▶︎使い方2:「真の場合」のときだけ記入したい
特定の条件が真の場合にのみデータを表示したい場合、IF関数を使用します。
在庫数がある場合だけ「在庫あり」で表示
①条件式を設定
「在庫数が0以上」という条件式を設定
=IF(C13>0,“在庫あり”,“”)
②「真の場合」を指定
在庫数が0以上だったら(真の場合)
→「在庫あり」を表示という設定
=IF(C13>0,“在庫あり”,“”)
③「偽の場合」を指定
在庫数が0以下だったら(偽の場合)
→何も表示しない、という設定
=IF(C13>0,“在庫あり”,“”)
※空白は【ダブルクォーテーション(”)2つ】で設定する
④実行する
在庫数がある場合だけ「在庫あり」で表示できました!
▶︎使い方3:条件を3つ以上に分岐させたい
IF関数は、条件を2つだけでなく、
3つ以上に分岐させることも可能です。
検査点数が80点以上 → 結果を「優」表示
検査点数が60点以上 → 結果を「良」表示
検査点数が60点未満 → 結果を「不可」表示
IF(条件式2 ,(条件2の)真の場合の結果 , 偽の結果※条件1・2以外の結果))
①条件式1を設定
「検査点数が80点以上」という条件式を設定
=IF(C7>=80,“優”,IF(C7>=60,“良”,“不可”))
②条件1の「真の場合」を指定
検査点数が80点以上だったら(真の場合)
→「優」を表示という設定
=IF(C7>=80,“優”,IF(C7>=60,“良”,“不可”))
③条件式2を設定
「検査点数が60点以上」という条件式を設定
=IF(C7>=80,“優”,IF(C7>=60,“良”,“不可”))
④条件2の「真の場合」を指定
検査点数が60点以上だったら(真の場合)
→「良」を表示という設定
=IF(C7>=80,“優”,IF(C7>=60,“良”,“不可”))
⑤「偽の場合」を指定
検査点数が60点未満だったら(偽の場合)
→「不可」を表示という設定
=IF(C7>=80,“優”,IF(C7>=60,“良”,“不可”))
⑥実行する
検査点数が80点以上 → 結果を「優」表示
検査点数が60点以上 → 結果を「良」表示
検査点数が60点未満 → 結果を「不可」表示
の仕分けができました!
条件の順番に注意!
今回の例だと…
- 検査点数が80点以上 → 結果を「優」表示
- 検査点数が60点以上 → 結果を「良」表示
- 検査点数が60点未満 → 結果を「不可」表示
これを下記の条件順にすると
- 検査点数が60点以上 → 結果を「良」表示
- 検査点数が80点以上 → 結果を「優」表示
- 検査点数が60点未満 → 結果を「不可」表示
1つ目の条件(60点以上)の場合に
2つ目の条件(80点以上)も含まれてしまう。
条件の順番に注意しましょう!

3つ以上の分岐が使えるようになると
できるようになることも増えるし
効率も大幅アップ!
【IF関数のエラー】
▶︎関数名の間違い【#NAME?】
#NAME?エラーは、関数名が間違っている場合に表示されます。
このエラーを修正するには、関数名を正しく入力する必要があります。
関数名は大文字と小文字を区別するので、
正確なスペルと大文字・小文字の使い方に注意しましょう。
▶︎参照先を削除してしまった【#REF!】
#REF!エラーは、セルや範囲の参照先が削除された場合に表示されます。
このエラーを修正するには、セルや範囲の参照を正しく修正する必要があります。
削除されたセルや範囲を修正するか、参照を適切なセルや範囲に変更してください。
▶︎参照できない値を参照している【#VALUE!】
#VALUE!エラーは、セルや式が予期しないデータ型や値を含んでいる場合に表示されます。
このエラーを修正するには、
参照されているセルや式の値やデータ型を確認し、修正する必要があります。
たとえば、数値が必要な計算式に文字列が含まれている場合など、
適切なデータ型に変換する必要があります。

些細な違いがあっても関数が動かないから
気をつけよう…!!
【IF関数で複数条件を指定する】
▶︎AND関数
AND関数は、すべての条件が真の場合にのみ真を返します。
つまり、AND関数の引数に指定された
すべての条件が満たされている場合に、TRUEを返します。
「点数50点以上」かつ「在庫あり」で出荷OK
例として
「点数50点以上」かつ「在庫あり」で出荷OK
という式を組んでみましょう。
①ANDを使って2つの条件指定
「検査点数が50点以上」かつ「在庫あり」
という条件を指定。
=IF(AND(C5>=50,D5=”在庫あり”),“出荷OK”,“”)
②真の場合・偽の場合を指定
真の場合:「出荷OK」と表示
偽の場合:空白
=IF(AND(C5>=50,D5=”在庫あり”),“出荷OK”,“”)
③実行する
2つの条件
「検査点数が50点以上」
「在庫あり」
で仕分けができました!
▶︎OR関数
OR関数は、いずれかの条件が真の場合に真を返します。
つまり、OR関数の引数に指定された
いずれかの条件が満たされている場合に、TRUEを返します。
「点数50点以上」または「在庫あり」で出荷OK
例として
「点数50点以上」または「在庫あり」で出荷OK
という式を組んでみましょう。
①ORを使って2つの条件指定
「検査点数が50点以上」または「在庫あり」
という条件を指定。
=IF(OR(C5>=50,D5=”在庫あり”),“出荷OK”,“”)
②真の場合・偽の場合を指定
真の場合:「出荷OK」と表示
偽の場合:空白
=IF(OR(C5>=50,D5=”在庫あり”),“出荷OK”,“”)
③実行する
2つの条件
「検査点数が50点以上」
または
「在庫あり」
で仕分けができました!
▶︎AND関数とOR関数の組み合わせ
AND関数とOR関数は、
より複雑な条件を評価するために組み合わせることもできます。
例えば、
または
「在庫あり」
という条件で仕分けしてみましょう。
①ANDとORを使って条件指定
「商品が文房具」かつ「点数50点以上」
または
「在庫あり」
という条件を指定。
=IF(OR(AND(B7=”文房具”,C7>=50),D7=”在庫あり”),“出荷OK”,“”)
②真の場合・偽の場合を指定
真の場合:「出荷OK」と表示
偽の場合:空白
=IF(OR(AND(B7=”文房具”,C7>=50),D7=”在庫あり”),“出荷OK”,“”)
③実行する
「商品が文房具」かつ「点数50点以上」
または
「在庫あり」
で仕分けができました!
【IFを含む関数】
▶︎条件に合う値を算出する関数|
…SUMIF・AVERAGEIF・COUNTIF・MAXIFS・MINIFS
SUMIF関数
SUMIF関数は、条件に合う値の合計を算出するための関数です。
指定した範囲内で条件に一致するセルの値を合計します。
AVERAGEIF関数
AVERAGEIF関数は、条件に合う値の平均を算出するための関数です。
指定した範囲内で条件に一致するセルの値の平均値を計算します。
COUNTIF関数
COUNTIF関数は、条件に合う値の個数を算出するための関数です。
指定した範囲内で条件に一致するセルの個数を数えます。
MAXIFS関数
MAXIFS関数は、条件に合う値の中で最大値を抽出するための関数です。
指定した範囲内で条件に一致するセルの中から最大値を取得します。
MINIFS関数
MINIFS関数は、条件に合う値の中で最小値を抽出するための関数です。
指定した範囲内で条件に一致するセルの中から最小値を取得します。
▶︎エラー時に表示させる値を指定できる関数|
… IFERROR
IFERROR関数は、他の関数の結果がエラーを返した場合に指定した値を表示するための関数です。
エラーが発生した場合にエラーメッセージの代わりに任意の値を表示することができます。
▶︎期間内の年数、月数、日数を求める関数|
….DATEDIF
DATEDIF関数は、2つの日付の間の年数、月数、日数を計算するための関数です。
※単位→年数:Y、月数:M、日数:D
=DATEDIF($B$37,$C$37,“M”)
=DATEDIF($B$37,$C$37,“D”)
【IF関数 まとめ】
▶︎IF関数
IF関数は、条件に基づいて特定の結果を返すための関数です。
指定した条件が真(True)である場合と偽(False)である場合に
それぞれ異なる結果を返します。
場合分けしたい条件を指定します。

条件式に当てはまる場合の対応を指定します。

条件式に当てはまらない場合の対応を指定します。


▶︎分岐が3つ以上のIF関数
IF関数は、条件を2つだけでなく、
3つ以上に分岐させることも可能です。
検査点数が80点以上 → 結果を「優」表示
検査点数が60点以上 → 結果を「良」表示
検査点数が60点未満 → 結果を「不可」表示
IF(条件式2 ,(条件2の)真の場合の結果 , 偽の結果※条件1・2以外の結果))
①条件式1を設定
=IF(C7>=80,“優”,IF(C7>=60,“良”,“不可”))
②条件1の「真の場合」を指定
=IF(C7>=80,“優”,IF(C7>=60,“良”,“不可”))
③条件式2を設定
=IF(C7>=80,“優”,IF(C7>=60,“良”,“不可”))
④条件2の「真の場合」を指定
=IF(C7>=80,“優”,IF(C7>=60,“良”,“不可”))
⑤「偽の場合」を指定
=IF(C7>=80,“優”,IF(C7>=60,“良”,“不可”))
⑥実行する
検査点数が80点以上 → 結果を「優」表示
検査点数が60点以上 → 結果を「良」表示
検査点数が60点未満 → 結果を「不可」表示
の仕分けができました!
条件の順番に注意!
- 検査点数が60点以上 → 結果を「良」表示
- 検査点数が80点以上 → 結果を「優」表示
- 検査点数が60点未満 → 結果を「不可」表示
1つ目の条件(60点以上)の場合に
2つ目の条件(80点以上)も含まれてしまう。
条件の順番に注意しましょう!
.
▶︎複数条件のIF関数
AND関数
AND関数は、すべての条件が真の場合にのみ真を返します。
つまり、AND関数の引数に指定された
すべての条件が満たされている場合に、TRUEを返します。
例として
「点数50点以上」かつ「在庫あり」で出荷OK
という式を組んでみましょう。
=IF(AND(C5>=50,D5=”在庫あり”),“出荷OK”,“”)
2つの条件
「検査点数が50点以上」
「在庫あり」
で仕分けができました!
OR関数
OR関数は、いずれかの条件が真の場合に真を返します。
つまり、OR関数の引数に指定された
いずれかの条件が満たされている場合に、TRUEを返します。
例として
「点数50点以上」または「在庫あり」で出荷OK
という式を組んでみましょう。
=IF(OR(C5>=50,D5=”在庫あり”),“出荷OK”,“”)
2つの条件
「検査点数が50点以上」
または
「在庫あり」
で仕分けができました!
AND関数とOR関数の組み合わせ
AND関数とOR関数は、
より複雑な条件を評価するために組み合わせることもできます。
例えば、
または
「在庫あり」
という条件で仕分けしてみましょう。
=IF(OR(AND(B7=”文房具”,C7>=50),D7=”在庫あり”),“出荷OK”,“”)
「商品が文房具」かつ「点数50点以上」
または
「在庫あり」
で仕分けができました!
▶︎関連する関数
SUMIF関数
SUMIF関数は、条件に合う値の合計を算出するための関数です。

AVERAGEIF関数
AVERAGEIF関数は、条件に合う値の平均を算出するための関数です。
COUNTIF関数
COUNTIF関数は、条件に合う値の個数を算出するための関数です。
MAXIFS関数
MAXIFS関数は、条件に合う値の中で最大値を抽出するための関数です。
MINIFS関数
MINIFS関数は、条件に合う値の中で最小値を抽出するための関数です。
IFERROR関数
IFERROR関数は、他の関数の結果がエラーを返した場合に指定した値を表示するための関数です。
DATEDIF関数
DATEDIF関数は、2つの日付の間の年数、月数、日数を計算するための関数です。
※単位→年数:Y、月数:M、日数:D
=DATEDIF($B$37,$C$37,“M”)
=DATEDIF($B$37,$C$37,“D”)

IF関数は幅広く使えて、かつ
とても便利な関数です!
ぜひ、使いこなせるようになってくださいね。