ITパスポート 2019年 春期 問98
問題文
表計算ソフトを用いて、二つの科目X, Yの成績を評価して合否を判定する。それぞれの点数はワークシートのセルA2, B2に入力する。合計点が120点以上であり、かつ、2科目とも50点以上であればセルC2に“合格”、それ以外は“不合格”と表示する。セルC2に入れる適切な計算式はどれか。

選択肢
ア:IF(論理積((A2+B2) ≧ 120, A2 ≧ 50, B2 ≧ 50), '合格', '不合格')(正解)
イ:IF(論理積((A2+B2) ≧ 120, A2 ≧ 50, B2 ≧ 50), '不合格', '合格')
ウ:IF(論理和((A2+B2) ≧ 120, A2 ≧ 50, B2 ≧ 50), '合格', '不合格')
エ:IF(論理和((A2+B2) ≧ 120, A2 ≧ 50, B2 ≧ 50), '不合格', '合格')
🔒 解説は解答すると表示されます
表計算で成績の合否判定を行う式【ITパスポート 解説】
正解の理由
設問の条件は「合計点が120点以上であり、かつ、2科目とも50点以上であれば“合格”」です。これは3つの条件がすべて満たされる必要があるため、論理的には「AND(論理積)」で結ぶ必要があります。選択肢の中で、IF関数(条件式が真なら第2引数を返し、偽なら第3引数を返す関数)と論理積(論理積:英 AND、すべての条件を満たすと真になる)が正しく組み合わされ、真のときに"合格"、偽のときに"不合格"を返すのは ア です。従って ア が要件どおりの動作をします。
(補足:実際の表計算ソフトでは文字列は通常ダブルクオーテーションで囲みます。例: =IF(AND(A2+B2>=120, A2>=50, B2>=50), "合格", "不合格"))
解法ステップ
- 要件を数式に置き換える
- 合計: A2 + B2 ≧ 120 →
- 各科目: A2 ≧ 50 → 、B2 ≧ 50 →
- 3つの条件をすべて満たす必要があるので、論理積(AND)でつなぐ。
- AND(A2+B2>=120, A2>=50, B2>=50)
- 条件式を IF で包んで、真の場合に"合格"、偽の場合に"不合格"を出力する。
- =IF(AND(A2+B2>=120, A2>=50, B2>=50), "合格", "不合格")
- 実際のセルに入れると、A2=50、B2=80 の組合せでは合計130で両科目50以上なので "合格" が表示される。
選択肢別の誤答解説
- ア:IF と 論理積(AND)を使い、真のときに '合格'、偽のときに '不合格' を返す。条件の「すべて満たす」を正しく表現しており要件どおりなので正しい選択です。
- イ:IF と論理積は使っているが、真のときに '不合格'、偽のときに '合格' を返す順序が逆になっています。条件が満たされても '不合格' になってしまうため誤りです。
- ウ:IF と論理和(OR)を使っています。論理和(論理和:英 OR、どれか一つでも満たせば真になる)だと「合計が120以上」だけ満たしても合格になってしまうなど、本来必要な全条件を満たさない場合でも合格となる誤判定が起きるため誤りです。
- エ:ウと同じく論理和を使い、さらに真・偽の出力が逆になっているため、条件を満たしていないのに '合格' になる可能性があり、誤りです。
よくある誤解
- AND(論理積)と OR(論理和)を取り違える
- 「どれか1つ満たせばよい」と「全部満たす必要がある」は意味が逆です。今回のように「かつ」は AND です。
- IF の第2引数・第3引数を入れ替えるミス
- IF(条件, 真の場合, 偽の場合) の順序を間違えると表示が反転します。
-
= と > の混同
- 50点ちょうどを合格に含めるなら >=(以上)を使う必要があります。>(より大きい)は50は含みません。
補足コラム
- 合計の書き方は A2+B2 の他に SUM(A2:B2) を使うこともできます。どちらを使っても構いません。例: =IF(AND(SUM(A2:B2)>=120, A2>=50, B2>=50), "合格", "不合格")
- もし A2 や B2 に数値以外が入る可能性がある場合は、ISNUMBER 関数(数値かどうかを判定する関数)で検証したり、IFERROR でエラー時の表示を決めたりできます。
- 「両科目とも50点以上」を別の書き方で確認するなら COUNTIF(A2:B2, ">=50")=2 を使う方法もあります。例: =IF(AND(SUM(A2:B2)>=120, COUNTIF(A2:B2, ">=50")=2), "合格", "不合格")
FAQ
Q1. 50点ちょうどは合格になりますか?
A1. はい。条件に "50点以上" とあるため、>=50(以上)は50を含みます。
A1. はい。条件に "50点以上" とあるため、>=50(以上)は50を含みます。
Q2. 文字列は '合格' と '不合格' のどちらで書けば良いですか?
A2. 表計算ソフト(Excelなど)では文字列は通常ダブルクオーテーション "合格" のように書きます。選択肢のシングルクオートは問題文の表記です。
A2. 表計算ソフト(Excelなど)では文字列は通常ダブルクオーテーション "合格" のように書きます。選択肢のシングルクオートは問題文の表記です。
Q3. SUM(A2:B2) と A2+B2 はどちらを使うべきですか?
A3. 両方正しいです。セル範囲を足す場合は SUM(A2:B2) の方が可読で拡張しやすいです。
A3. 両方正しいです。セル範囲を足す場合は SUM(A2:B2) の方が可読で拡張しやすいです。
関連キーワード: 表計算, IF関数, 論理積, 論理和, AND, OR, SUM, COUNTIF, 条件式, 関数

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

