ITパスポート 2016年 秋期 問82
問題文
セルB2〜C8に学生の成績が科目ごとに入力されている。セルD2に計算式“”を入力し、それをセルD3〜D8に複写した。セルD2〜D8において“合格”と表示されたセルの数は幾つか。

選択肢
ア:2
イ:3
ウ:4
エ:5(正解)
🔒 解説は解答すると表示されます
ネストIFによる合否判定【ITパスポート解説】
正解の理由
セルD列の式は「IF(B2≧50, '合格', IF(C2≧50, '合格', '不合格'))」です。これは「まず数学(B列)が50以上なら合格とし、そうでなければ英語(C列)が50以上かを見て合格・不合格を決める」という流れです。言い換えれば「数学または英語のいずれかが50以上であれば合格」と同じ論理(OR)になります。与えられた7人についてこの条件を当てはめると、合格は5人になるため、選択肢のエが正解です。
(参考:数学>=50 の人は4人、英語>=50 の人は3人、両方>=50 の人は2人、いずれか>=50 の人は5人です)
解法ステップ
- IF関数の意味を確認する。IF(条件, 真の場合の値, 偽の場合の値)。
- 式の構造を読む:外側のIFで数学>=50を判定。外側が偽の場合に内側のIFで英語>=50を判定する(内側は外側が偽のときだけ実行される)。
- 各行について順に判定する(数学が先に来るため数学が50以上なら英語は見ない)。
- 「合格」と表示されたセルの個数を数える(該当は行2,4,5,6,8=5個)。
選択肢別の誤答解説
-
ア: 2
誤りの理由は「両方の科目が50以上の人だけを数えた」場合の数(数学・英語両方>=50 は2人)と混同したためです。式は両方必要とはしていません。 -
イ: 3
誤りの理由は「英語が50以上の人の数(英語>=50 を満たす人は行2,4,5 の3人)」をそのまま答えにしてしまったケースです。式は英語だけを見ているわけではなく、まず数学が50以上かを優先します。 -
ウ: 4
誤りの理由は「数学が50以上の人の数(数学>=50 は行2,5,6,8 の4人)」だけを数えた場合です。数学が50以上なら合格ですが、数学未満でも英語が50以上なら合格になる点を見落としています。 -
エ: 5
正しい理由は上の通り。式は「数学>=50 または 英語>=50(どちらか一方でも)」を合格とするため、合格者は5人になります。
よくある誤解
- 「ネストされたIFはAND条件だ」と誤解する:外側・内側両方が真でなければならないと考える人がいますが、今回のような書き方は「外側が真なら即合格、外側が偽のときのみ内側で合否を決める」ため、実質的にOR(どちらかが真であれば真)です。
- 境界値(50)の扱いの誤り:条件は「>=50(以上)」です。50を含めるかどうかで結果が変わるので、「50は合否どちらか」を必ず確認してください。
- 「〜のみ」を数える表現の混同:例えば「数学のみ」を数えると言った場合、数学>=50を単に数えるのか、数学>=50かつ英語<50の人だけを数えるのかで意味が変わります。今回の問題で重要なのは「いずれかが50以上(少なくとも1科目が50以上)」である点です。
補足コラム
- この式は OR の考え方で短く書けます。Excelでは OR関数(論理和)を使い、次のようにすると読みやすくなります:
=IF(OR(B2>=50, C2>=50), "合格", "不合格")
- IF関数(条件式、真の場合、偽の場合)はプログラミングでもよく出てくる基本です。ネスト(入れ子)を深くすると読みにくくなりますが、優先判定(ここでは数学優先)の流れを意識すれば正しく評価できます。
- なお、Excelの引数区切り文字は設定によって「,(カンマ)」か「;(セミコロン)」になります(ロケールや設定に依存)。問題文の表記に注意してください。
FAQ
Q. 数学と英語の両方が50以上のときはどう判定されますか?
A. 外側のIFで数学>=50がまず真になるので即「合格」です。英語は評価に関係しません。
A. 外側のIFで数学>=50がまず真になるので即「合格」です。英語は評価に関係しません。
Q. 「英語のみを数える」とは何を指しますか?
A. 文脈によりますが、単に英語>=50 を満たす人数(英語の条件だけを満たしているかどうかを見ている)を指すことが多いです。本問で英語>=50 の人数は3人です。
A. 文脈によりますが、単に英語>=50 を満たす人数(英語の条件だけを満たしているかどうかを見ている)を指すことが多いです。本問で英語>=50 の人数は3人です。
Q. 別の書き方はありますか?
A. 前述のOR関数を使う方法が簡潔で分かりやすいです。複雑なネストはバグの元になります。
A. 前述のOR関数を使う方法が簡潔で分かりやすいです。複雑なネストはバグの元になります。
関連キーワード: IF関数、ネスト、OR関数、論理式、合否判定、Excel関数

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

