表計算ソフトを用いて,買い物金額に応じたポイント数を計算する。買い物金額が1,000円以下では買い物金額の1%,買い物金額が1,000円を超え3,000円以下では買い物金額の2%,買い物金額が3,000円を超える場合は買い物金額の3%のポイントを付与する。ワークシートのセルA2に買い物金額が入力されるとき,ポイント数が表示されるセルB2に入る数式はどれか。ここで,ポイント数の小数点以下は切捨てとする。
| A | B | |
| 1 | 買い物金額 | ポイント数 |
| 2 | 3,350 | 100 |
- アIF(A2≧3000,整数部(A2*3/100), IF(A2≧1000,整数部(A2/100),整数部(A2*2/100)))
- イIF(A2>3000,整数部(A2*3/100), IF(A2>1000,整数部(A2/100),整数部(A2*2/100)))
- ウIF(A2≦1000,整数部(A2/100), IF(A2≦3000,整数部(A2*2/100),整数部(A2*3/100)))
- エIF(A2<1000,整数部(A2/100), IF(A2<3000,整数部(A2*2/100),整数部(A2*3/100)))
正解と解説を見る
正解
ウ IF(A2≦1000,整数部(A2/100), IF(A2≦3000,整数部(A2*2/100),整数部(A2*3/100)))
正解はウである。問題文の条件は「1,000円以下は1%、1,000円超3,000円以下は2%、3,000円超は3%」であり、これを数式にするには小さい金額の条件から順に「以下(≦)」で絞り込み、最後に残った範囲を3%とする構造が正しい。ウの式はIF(A2≦1000, …1%…, IF(A2≦3000, …2%…, …3%…))となっており、境界値を含む「以下」の条件を正しく表現している。アとイは判定の順序と割合の対応がねじれており、本来3%になるべき条件と1%になるべき条件が入れ替わってしまう。エは「<」(より小さい)を使っているため、境界値の1,000円や3,000円がそれぞれ本来より高い割合の区分に誤って分類されてしまう点で不適切である。