ITパスポート試験 平成28年度 春の問80に挑戦しましょう。
表計算ソフトを用いて、買い物金額に応じたポイント数を計算する。買い物金額が1,000円以下では買い物金額の1%、買い物金額が1,000円を超え3,000円以下では買い物金額の2%、買い物金額が3,000円を超える場合は買い物金額の3%のポイントを付与する。ワークシートのセル A2に買い物金額が入力されるとき、ポイント数が表示されるセルB2に入る数式はどれか。ここで、ポイント数小数点以下切り捨てとする。
- ア: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関数」「整数部関数」の理解が求められます。

まずIF関数。こいつの使い方は、
IF(論理式, 式1, 式2)
でしたよね。
1つ目に入れた「論理式」がTrueの場合は「式1」が発動され、Falseの場合は「式2」が発動されるのでした。
そしてもう1個の整数部関数。
これは文字通り、入力した値の整数部が出力できる関数。
使い方は簡単で、
整数部(算術式)
です。
例えば、
整数部(5.7)
とした場合、入力した「5.7」の整数部つまり「5」を返してくれる関数なのです。
それじゃあ、今回の問題の条件を見ていきましょう。
1,000円以下ならば買い物金額の1%のポイントを付与したいですよね。
これをIF関数で表現してみましょう。
IF関数の論理式に当てはまるのは「買い物金額(A2)が1,000円以下」という論理式ですので、
A2 ≤ 1000
が入ります。
そしてその論理式がTrueだった場合、買い物金額の1%を付与したいですから、ここで整数部という関数が出てきます。
つまり買い物金額(A2)を100で割った時の整数部を出力してやりゃ、買い物金額の1%のポイント数を表現できます(小数点以下切り捨て)。
例えば、3,500円の買い物でしたら、その金額を100で割って、
3,500÷100
= 3.5
となり、整数部を取り出すと「3」というポイント数がでてきますね。
はい、じゃあこの時点で、最初のIF関数の式1に当てはまるのは買い物金額を100で割った整数部を取り出している
整数部(A2/100)
になるはず。
この時点で、選択肢ウが正解の可能性が非常に高くなりましたが、念のため、本当に正しいかどうか検証していきましょう。
選択肢ウ「」の2つ目のIF関数をみると、
IF(A2≤3000, 整数部(A2 * 2 / 100), 整数部(A2 * 3 / 100)))
となっています。
買い物金額が3,000円以下(A2≤3000)という論理式が正しい場合、
整数部(A2 * 2 / 100)
を発動し、そうではない場合(買い物金額が3,000円より大きい)なら
整数部(A2 * 3 / 100)
を発動しますよ、と。
整数部(A2/100)が「買い物金額の1%」ならば、2をかけた整数部(A2 * 2 / 100)は「買い物金額の2%」、3をかけた整数部(A2 * 3 / 100)は「買い物金額の3%」のはず。
3000円以下ならば「買い物金額の2%」、3000円を超えるなら「買い物金額の2%」になっていますので、うん、選択肢ウは正しいですね。