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

選択肢
ア:2
イ:3
ウ:4
エ:5(正解)
🔒 解説は解答すると表示されます
セルのIF判定で合格数を数える問題【ITパスポート 解説】
正解の理由
セルD2の式は、まず数学(セルB2)が50以上かを調べ、50以上なら「合格」を表示します。数学が50未満なら次に英語(セルC2)が50以上かを調べ、50以上なら「合格」、どちらも50未満なら「不合格」を表示します。つまり「数学が50以上または英語が50以上」のいずれかを満たすと合格です。表の7人をこの基準で判定すると、合格は5人となるため答えは エ となります。
(IF関数は「条件によって結果を分ける関数」、ORは「どちらかが真なら真」の論理関数です。)
解法ステップ
- 式の意味を確認する。
式は次のネスト(入れ子)になっています。
→ まずB2(数学)が50以上か判定。真なら合格。偽ならC2(英語)を判定。 - 各行について条件を当てはめる。
- 行2(山田):数学50 → 50以上 → 合格
- 行3(鈴木):数学45、英語30 → どちらも50未満 → 不合格
- 行4(佐藤):数学35、英語85 → 英語が50以上 → 合格
- 行5(田中):数学55 → 合格
- 行6(山本):数学60 → 合格
- 行7(伊藤):数学30、英語45 → 不合格
- 行8(小林):数学70 → 合格
- 合格の数を数える。
合格は行2、4、5、6、8の5人。従って選択肢は エ(5)です。
選択肢別の誤答解説
- ア: 2
2と考えるのは、数学と英語の両方が50以上の場合のみを合格と誤解した場合に起こりやすいミスです。本問は「どちらかが50以上」でよいので誤りです。 - イ: 3
3とするのは、英語が50以上の行だけ数えた場合や、数学のみを数えた場合のミスです。本問では数学か英語かのいずれかを満たす行を数えます。 - ウ: 4
4とするのは、いずれかが50以上の判定を正しく理解していても、どれか1行を見落とした(例えば行6か行8を数え忘れた)などの単純な数え間違いが原因です。 - エ: 5
式の論理通りに判定すると合格は5人になるため正解です。よって エ が正しい選択です。
よくある誤解
- 「IFを使うと両方満たす場合だけ合格になる」と思う誤り
→ IFのネストの読み方を間違える例です。本問では最初のIFで真(数学50以上)なら即「合格」となり、両方必要ではありません。 - コピー(複写)すると参照が固定されると誤解する人がいる
→ D2をD3〜D8に複写すると、B2やC2は自動でB3やC3に変わります(相対参照)。固定したい場合は$記号(絶対参照)を使いますが、本問では複写で問題ありません。 - 全角文字や日本語のカンマで式がエラーになるケースを見落とす
→ 問題文の式中に全角の読点や引用符が混じっているとExcelでエラーになります。実際に入力する際は半角のカンマと半角の引用符を使います。
補足コラム
ネストしたIFより簡潔に書く方法があります。Excelや表計算ソフトではOR関数(または論理和)を使うと読みやすくなります。例えばセルD2には次のように書けます。
=IF(OR(B2>=50, C2>=50), "合格", "不合格")
ORは「どちらか(または両方)が真なら真」を返す関数です。ネストIFより式が短く、意図が分かりやすくなる利点があります。
また、プログラム的に条件を書くときは論理和(OR)と論理積(AND)を区別することが重要です。今回の条件は「数学または英語」のOR条件です。
FAQ
Q. コピー(複写)したときに参照がずれるのはなぜですか?
A. 表計算ソフトはデフォルトで相対参照を使います。D2の式にB2やC2と書くと、1行下へ複写するとB3やC3に自動で変わる仕組みです。特定セルを固定したい場合は2のように$を使います(これを絶対参照と呼びます)。
A. 表計算ソフトはデフォルトで相対参照を使います。D2の式にB2やC2と書くと、1行下へ複写するとB3やC3に自動で変わる仕組みです。特定セルを固定したい場合は2のように$を使います(これを絶対参照と呼びます)。
Q. 式の書き方で注意する点は?
A. 全角の記号(,や’)や不正な引用符を使うとエラーになります。英数字や半角記号で正しく入力してください。またIF関数は引数の区切りに半角カンマを使います。
A. 全角の記号(,や’)や不正な引用符を使うとエラーになります。英数字や半角記号で正しく入力してください。またIF関数は引数の区切りに半角カンマを使います。
Q. OR関数を使うときの英語の意味は?
A. ORは英語で「または(論理和)」を意味します。直感的に「どちらかが真ならOK」と覚えるとよいです。
A. ORは英語で「または(論理和)」を意味します。直感的に「どちらかが真ならOK」と覚えるとよいです。
関連キーワード: IF関数、OR関数、相対参照、論理演算、>=(以上)

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

