問98
頻出度★★☆
表計算ソフトを用いて,二つの科目X,Yの成績を評価して合否を判定する。それぞれの点数はワークシートのセルA2,B2に入力する。合計点が120点以上であり,かつ,2科目とも50点以上であればセルC2に“合格”,それ以外は“不合格”と表示する。セルC2に入れる適切な計算式はどれか。
| A | B | C | |
|---|---|---|---|
| 1 | 科目X | 科目Y | 合否 |
| 2 | 50 | 80 | 合格 |
这道题的解析和你的作答记录。
表計算ソフトを用いて,二つの科目X,Yの成績を評価して合否を判定する。それぞれの点数はワークシートのセルA2,B2に入力する。合計点が120点以上であり,かつ,2科目とも50点以上であればセルC2に“合格”,それ以外は“不合格”と表示する。セルC2に入れる適切な計算式はどれか。
| A | B | C | |
|---|---|---|---|
| 1 | 科目X | 科目Y | 合否 |
| 2 | 50 | 80 | 合格 |
正解 合格的条件是「总分(A2+B2)在120分以上」「科目X在50分以上」「科目Y在50分以上」这3个条件『并且(全部)』同时成立,因此用逻辑与(AND)连接这些条件。IF函数按 IF(条件, 为真时的值, 为假时的值) 的顺序书写,所以条件为真时放「合格」、为假时放「不合格」。因此 IF(逻辑与((A2+B2)≧120, A2≧50, B2≧50), '合格', '不合格') 是正确的。实际上,示例中 A2=50、B2=80 时总分 130≧120 且两个科目均在50分以上,逻辑与为真,C2 显示「合格」,与图一致。
用逻辑与(AND)连接条件本身是正确的,但IF的第2个参数和第3个参数颠倒了,导致条件为真时显示「不合格」、为假时显示「合格」。对满足全部3个条件的合格者却给出「不合格」,判定结果正好相反。
由于使用了逻辑或(OR),3个条件中只要有1个成立就会被判定为「合格」。例如即使有一科不足50分,只要总分在120分以上也会变成合格,无法表达「两个科目均在50分以上」这个『并且』条件。
不仅用逻辑或(OR)连接条件,而且为真时显示「不合格」、为假时显示「合格」,显示位置也颠倒了,在逻辑运算的种类和显示顺序上存在双重错误。