IF関数の練習問題(全5問)
色のついたセルに数式を入力して Enter。選択枠の右下の四角をドラッグすると、下や右へまとめて入力できます。
合否を判定する
C2 に、点数が 60 以上なら「合格」、そうでなければ「不合格」と表示し、C4 までコピーしてください。3人分の判定が並ぶようにします。
ヒント 1
「=IF(条件, 満たすとき, 満たさないとき)」の形で書きます。
ヒント 2
文字を表示するときは「"合格"」のようにダブルクォーテーションで囲みます。C2 に書いたら C4 までドラッグします。
解説を見る
IF関数はカッコの中を「,」で3つに区切ります。1つめが条件、2つめが条件を満たすときの表示、3つめが満たさないときの表示です。コピーすると、合格と不合格の両方が並びます。1つの式で、行ごとに違う結果を出せるのが IF の値打ちです。文字を表示するときの「"」を忘れると #NAME? エラーになります。
模範解答: C2 =IF(B2>=60,"合格","不合格") / C3 =IF(B3>=60,"合格","不合格") / C4 =IF(B4>=60,"合格","不合格")
「以下」の書き方に注意
C2 に、在庫が 10 以下なら「発注」、そうでなければ「十分」と表示し、C4 までコピーしてください。ちょうど 10 の行があることに注意してください。
ヒント 1
「10より少ない」と「10以下」は違います。
ヒント 2
「以下」はその数を含むので「<=」を使います。「<」だけだと、ちょうど 10 の行が「十分」になってしまいます。
解説を見る
「<」だけで書くと、ちょうど 10 個の消しゴムが「十分」と判定されてしまいます。日本語の「以上」「以下」はその数を含むため「>=」「<=」を使います。境界の行を表に入れておくと、コピーした瞬間に間違いが見えます。実務でもよく起きるミスなので、境界の値でテストする習慣をつけましょう。
模範解答: C2 =IF(B2<=10,"発注","十分") / C3 =IF(B3<=10,"発注","十分") / C4 =IF(B4<=10,"発注","十分")
数値を表示する
C2 に、購入額が 10000 未満なら送料 800、10000 以上なら 0 と表示し、C4 までコピーしてください。
ヒント 1
「未満」はその数を含みません。「<」を使います。
ヒント 2
数値を表示するときは、文字と違って「"」で囲みません。
解説を見る
IF が返すのは文字だけではありません。数値を表示するときは「"」で囲まずにそのまま書きます。ここで「"800"」と囲んでしまうと、見た目は同じでも文字列になり、あとで SUM で合計できなくなります。なお「10000未満なら800」は「10000以上なら0」と同じ意味なので、条件をひっくり返して書いても正解です。
模範解答: C2 =IF(B2<10000,800,0) / C3 =IF(B3<10000,800,0) / C4 =IF(B4<10000,800,0)
条件を満たさないときは空欄にする
C2 に、在庫が 0 のときだけ「要発注」と表示し、そうでなければ何も表示しないでください。C4 までコピーします。
ヒント 1
「等しい」の条件は「=」1つで書きます。
ヒント 2
何も表示しないときは「""」と書きます。ダブルクォーテーションを2つ続けます。
解説を見る
「""」は中身が空の文字列で、画面上は空欄に見えます。コピーすると、在庫が 0 のクリップの行にだけ「要発注」が出ます。ここを 0 にすると表じゅうに 0 が並んで、どこが該当行なのか分からなくなります。「該当するときだけ印をつける」書き方は、実務でよく使います。
模範解答: C2 =IF(B2=0,"要発注","") / C3 =IF(B3=0,"要発注","") / C4 =IF(B4=0,"要発注","")
3段階に分ける
C2 に、80以上なら「A」、60以上なら「B」、それ未満なら「C」と表示し、C4 までコピーしてください。3段階すべてが並ぶようにします。
ヒント 1
IF の3つめ(満たさないとき)に、もう一度 IF を書きます。
ヒント 2
「=IF(B2>=80,"A",IF(...))」の形です。大きいほうの条件から順に書きます。
解説を見る
IF の中に IF を書くことをネスト(入れ子)と呼びます。大きいほうから順に書くのがコツで、小さいほうから書くとすべてが最初の条件に引っかかってしまいます。コピーすると A・B・C が並ぶので、3段階が正しく分かれているか一目で確かめられます。閉じカッコは IF の数だけ必要です。新しい Excel なら「=IFS(B2>=80,"A",B2>=60,"B",TRUE,"C")」とも書けます。
模範解答: C2 =IF(B2>=80,"A",IF(B2>=60,"B","C")) / C3 =IF(B3>=80,"A",IF(B3>=60,"B","C")) / C4 =IF(B4>=80,"A",IF(B4>=60,"B","C"))
IF関数は、条件を満たすかどうかで表示する内容を変える関数です。
- 書き方
=IF(条件, 満たすとき, 満たさないとき)- 例
=IF(B2>=60,"合格","不合格")
IF関数とは
IF(イフ)関数は、条件を満たすかどうかで、表示する内容を変える関数です。
これまでの SUM や AVERAGE は「計算する」関数でしたが、IF は「判断する」関数です。ここから Excel でできることが一気に広がります。
=IF(条件, 満たすとき, 満たさないとき)
カッコの中は「,」で区切って3つ書きます。
| 位置 | 中身 | 例 |
|---|---|---|
| 1つめ | 条件 | B2>=60 |
| 2つめ | 条件を満たすときに表示するもの | "合格" |
| 3つめ | 満たさないときに表示するもの | "不合格" |
つなげるとこうなります。
=IF(B2>=60,"合格","不合格")
文字を表示したいときは「"」(ダブルクォーテーション)で囲みます。 これを忘れると #NAME? エラーになるので注意してください。数値を表示したいときは囲みません。
条件に使う記号
条件は「左辺 記号 右辺」の形で書きます。使える記号は6つです。
| 記号 | 意味 | 例 |
|---|---|---|
= |
等しい | B2="〇" |
<> |
等しくない | B2<>"" |
> |
より大きい | B2>60 |
>= |
以上 | B2>=60 |
< |
未満 | B2<60 |
<= |
以下 | B2<=60 |
「以上」「以下」は、その数を含む
「60点以上が合格」なのに B2>60 と書くと、ちょうど60点の人が不合格になります。「在庫が10以下なら発注」を B2<10 と書けば、ちょうど10個の商品が見落とされます。
日本語の「以上」「以下」はその数を含むので、>= と <= を使います。含まないのは「より大きい」「未満」で、こちらが > と < です。
| 日本語 | 記号 | 60 は含まれるか |
|---|---|---|
| 60以上 | >= |
含まれる |
| 60より大きい | > |
含まれない |
| 60以下 | <= |
含まれる |
| 60未満 | < |
含まれない |
これは実務でもよく起きるミスです。表に境界ちょうどの行を1つ入れておくと、式を書いた瞬間に間違いが見えます。境界の値でテストする習慣をつけてください。
何も表示したくないとき
条件を満たさないときに空欄にしたい場合は、"" と書きます。「」の中身が空の文字列、という意味です。
=IF(B2>=10000,"送料無料","")
0 と書くと画面に 0 が並んでしまうので、空欄にしたいときは必ず "" を使います。
3段階以上に分けたいとき
IF の中にもう一度 IF を書くと、判定を増やせます。これをネスト(入れ子)と呼びます。
=IF(B2>=80,"A",IF(B2>=60,"B","C"))
読み方はこうです。
- 80点以上なら「A」
- そうでなければ、次の IF へ進む
- 60点以上なら「B」
- どちらでもなければ「C」
大きいほうから順に書くのがコツです。小さいほうから書くと、すべてが最初の条件に引っかかってしまいます。
IFS を使うと読みやすい
条件が3つ以上になると、ネストした IF は括弧が増えて読みにくくなります。比較的新しい Excel では IFS が使えます。
=IFS(B2>=80,"A",B2>=60,"B",TRUE,"C")
「条件, 結果」を並べて書くだけなので、条件が増えても崩れません。最後の TRUE は「どれにも当てはまらなかったとき」を表します。
エラーを出したくないとき
割り算などでエラーが出る可能性があるときは、IFERROR で包みます。
=IFERROR(B2/C2,"")
計算がエラーになったときだけ空欄を表示し、そうでなければ計算結果を表示します。表の見た目を保つのに便利です。
関連する関数
| 関数 | 用途 |
|---|---|
IFS |
条件が3つ以上のときに、ネストせず書ける |
IFERROR |
エラーのときだけ別の値を表示する |
AND / OR |
「かつ」「または」で条件を組み合わせる |
COUNTIF |
条件に合うセルの個数を数える |
SUMIF |
条件に合う行だけを合計する |