ITパスポート 令和5年度 問75:softwareに関する問題
表計算ソフトを用いて,二つの科目X,Yの点数を評価して合否を判定する。それぞれの点数はワークシートのセルA2,B2に入力する。合格判定条件(1)又は(2)に該当するときはセルC2に"合格",それ以外のときは"不合格"を表示する。セルC2に入力する式はどれか。[合格判定条件] (1)科目Xと科目Yの合計が120点以上である。(2)科目X又は科目Yのうち,少なくとも一つが100点である。[表] A1:科目X / B1:科目Y / C1:合否 / A2:50 / B2:80 / C2:合格
- aIF(論理積((A2+B2)≧120, A2=100, B2=100),'合格','不合格')
- bIF(論理積((A2+B2)≧120, A2=100, B2=100),'不合格','合格')
- cIF(論理和((A2+B2)≧120, A2=100, B2=100),'合格','不合格')正答
- dIF(論理和((A2+B2)≧120, A2=100, B2=100),'不合格','合格')
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは c です。
合格の条件は「(1) 合計120点以上」または「(2) どちらかが100点」。“または”がポイントです。
この“または(どれか1つでも当てはまればOK)”を表すのが「論理和」。今回はX+Y=50+80=130点で、もう120点を超えているので合格です。
👉 覚え方:「または=論理和(OR)」「両方とも=論理積(AND)」。
ほかの選択肢:a・b は「論理積(両方とも必要)」なので条件が違う/d は論理和だけど“合格・不合格”が逆さま。
なぜこれが正解か
正解は c。合格条件は (1) または (2) のいずれかを満たせばよいので、3つの条件を「論理和(OR)」で結ぶ。IF文は「条件が真なら'合格'、偽なら'不合格'」の順なので、`IF(論理和((A2+B2)≧120, A2=100, B2=100),'合格','不合格')` が正しい。実際 A2=50, B2=80 で合計130点 → 条件成立 → 合格。
各選択肢の解説
- a:論理積(AND)を使用。3条件すべてを満たす必要があり条件が厳しすぎる。
- b:論理積かつ真偽の表示が逆。
- d:論理和は正しいが、'合格'と'不合格'の表示順が逆。
覚え方・ひっかけ注意
「または=論理和(OR)」「かつ=論理積(AND)」。IFは第2引数が“真のときの値”。「論理和か論理積か」と「表示の順序」の2点が同時に問われる典型パターン。
理論的背景
本問は命題論理(propositional logic)の現実問題への写像を問うており、「条件(1) OR 条件(2)」を論理式に正しく変換できるかが核心である。合格条件の論理構造を形式化すると、P1 = (A2+B2 ≥ 120)、P2 = (A2 = 100)、P3 = (B2 = 100) として、合格 ⟺ P1 ∨ (P2 ∨ P3) = P1 ∨ P2 ∨ P3 となる。これが `論理和(P1, P2, P3)` という3引数の論理和で表現できる根拠である。表計算ソフトのIF関数は `IF(論理式, 真の場合の値, 偽の場合の値)` という構造であり、第2引数が「真のときに返す値」である点が引っかけの核心となっている。ド・モルガンの法則(NOT(A∨B) = NOT A ∧ NOT B)を適用すれば、「不合格」を基準にした等価な式も作れるが、選択肢dの `IF(論理和(...), '不合格', '合格')` は戻り値を逆転させているため誤りである。
実務での使われ方
ExcelではIT分野の試験擬似言語における`論理和`が`OR`関数、`論理積`が`AND`関数に対応する。実際の業務で使う同等式は `=IF(OR((A2+B2)>=120, A2=100, B2=100), "合格", "不合格")` となる。複合条件のIF式はネストが深くなると可読性・保守性が低下するため、実務ではIFS関数(Excel 2019以降)・SWITCH関数や、条件テーブルと参照関数(VLOOKUP/XLOOKUP)の組み合わせが推奨される。論理関数の応用として、COUNTIFSとSUMIFSによる複合条件集計、DAX(PowerBIのデータ分析式)でのメジャー構築、Google Apps Scriptでの条件分岐処理など、同じ論理概念が様々な業務自動化ツールに展開される点を理解しておくと応用力が高まる。
試験での位置づけ
表計算(関数・論理演算)はITパスポートの技術系計算問題の中でも最も出題頻度が高い分野の一つである。論理和・論理積の使い分けと、IF関数の引数順序(真→偽の順)を同時に確認する二重ひっかけ構造は典型的な出題パターンであり、本問のように4選択肢それぞれが「論理和か積か」×「順序が正しいか逆か」の2次元マトリクスで構成される設計は過去問に繰り返し登場する。近年は条件に範囲比較(>=等)を用いる計算問題も増えており、単純な論理判定から数値計算と組み合わせた複合問題へと難易度が上がっている。基本情報技術者(FE)では真理値表・論理回路(ANDゲート・ORゲート・NANDゲート)として同じ論理演算を回路設計の文脈で問う出題がある。
選択肢の発展補足
選択肢aとbで使われる`論理積`(AND)は「すべての条件を同時に満たす必要がある」場合に使う。本問の条件は「(1) OR (2)」であり、もし論理積を使うと「合計120点以上、かつX=100点、かつY=100点」を全部満たす必要があり(実際には合計200点満点のため論理的に矛盾しないが)、非常に限定的な合格条件になってしまう。ド・モルガンの法則の観点では、合格条件の否定(不合格)は `NOT(P1) AND NOT(P2) AND NOT(P3)` すなわち「合計120点未満、かつX≠100点、かつY≠100点」という論理積で表現されるが、これをIF式に直接書いて条件を反転させる場合は第2・第3引数の「合格・不合格」も入れ替える必要があり、選択肢dの失敗パターンと同型の誤りが発生しやすい。応用情報技術者以上では半加算器・全加算器の論理回路設計、フリップフロップを含む順序回路の動作解析まで論理演算の知識が深く活用される。
出典:IPA(情報処理推進機構)公式 ITパスポート試験 令和5年度 問75/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。