神奈川大学 経済学部
2014年度経済情報処理II

第11.5課 場合分けを含む計算式(IF関数)の練習問題集

☆の数が多いほど難しい(感覚的に)ので、自分のレベルに合わせて利用してください。


1. 単純な場合分けを含む計算式

練習問題1(☆☆)

data115.xlsx試験成績 シートには、仮想的な試験の点数データが入っている。このデータを使って、不合格者数が20人程度になるように合格点を調整したい。

  1. C列に入れた計算式を変更して、セル G5 に入っている合格点を変えれば合否判定の結果が変わるようにしなさい。
  2. セル G5 に入っている合格点をいろいろ変えてみて、不合格者が40人程度になるように調整してみなさい。

練習問題2(☆)

  1. BMIは25以上で「肥満」とされている。data115.xlsxBMI シートに入っているBMIのデータとIF関数を使って、肥満ならば「肥満」、そうでなければ「OK」と表示する計算式を「肥満?」列に入力しなさい。
  2. BMIは18.5未満で「低体重」とされている。data115.xlsxBMI シートに入っているBMIのデータとIF関数を使って、低体重ならば「やせすぎ」、そうでなければ「OK」と表示する計算式を「低体重?」列に入力しなさい。

練習問題3(☆☆☆)

ある農家では出荷する作物を重さを用いて、S, M, Lの3種類に分けて出荷することにしている。重さとランクと関係は以下の表の通りである。ただし、あるランクに入る作物は、最低重量≦作物重さ<最大重量を満たすが、Lサイズは重量の上限を定めない。 data115.xlsx作物 シートに入っているデータを使って、それぞれの作物を(S, M, L)にランク付けした結果を表示する計算式を「ランク」列に入力しなさい。

 ランク 最小重量(g)  最大重量(g) 
 S 50 
 M 50  100 
 L 100   

方針: 

※計算式の中に数値として埋め込むと、後で見たときにその数値の意味がすぐには分からない。こういう「後になったら訳がわからない数字」(俗称 magic number)はできる限り使わない方がよい。

練習問題4(☆☆☆)

出荷規格が変わって、130g以上の作物はLLランクとすることになった。この判断ができるようにdata115.xlsx練習問題4シートに適切な計算式を入力しなさい。ただし、計算式の中に具体的な数値を埋め込まず、ランクの表の中の数値を参照して書くこと。

練習問題5(☆☆☆☆)

ある試験の評価は、素点が60点未満で「不可」、60〜69点で「可」、70〜79点で「良」、80〜89点で「優」、90〜100点で「秀」であるとするdata115.xlsx ブックの成績評価シートのデータを使って、成績評価を行う計算式を作成しなさい。

練習問題6(☆☆☆☆☆)

労働基準法では法定労働時間を超えた場合には賃金率(時給)に割り増しが必要となる。具体的には1日に8時間以上働いた場合は、8時間を超えた部分については25%以上の割り増しが必要となる。

data115.xlsx残業手当 シートには、タイムカードで記録した始業時刻と終業時刻が記録されている。このデータを使って、

  1. まず終業時刻と始業時刻を使って一日の就業時間を計算する。
  2. 上で計算した就業時間が8時間を超えていたら、超えた分については25%の割増賃金を適用して賃金を計算する。

という操作を行いなさい。

Tips. Excelでの時刻と日付の扱い

練習問題7(☆☆☆☆☆).

練習問題6の計算式では、所定労働時間と賃金割増率はそれぞれ 8時間、25%という定数で計算式に入れてあった。これをそれぞれG2, G3セルに入っているデータを参照するように変更しなさい。

練習問題8(☆☆☆☆☆)

練習問題6と同じデータを、Excelのシリアル値を使って入力したものが残業手当2 シート。このデータを使って同じような計算をしてみなさい。

(注意)書式が「時刻」や「日付」になっているセルのデータをつかって計算すると、計算式が入っているセルの書式も自動的に時刻や日付になってしまう。ここでは、「就業時間」の計算式が入っているセルが自動的に「時刻」に書式設定されてしまう。当然、就業時間としてはマトモに表示されないことになるので、書式を「標準」に再設定する必要がある。

2. 複数の条件を組み合わせた場合分けが必要な計算式

例題1. メタボリック診断

2008年の春から実施されている健康診断におけるメタボリック判定は、ウェストサイズが男性の場合85cm以上、女性の場合90cm以上であればいくつかの検査値と組み合わせて判定することになっている。つまり、性とウェストサイズの2つの条件を組み合わせて判断を行うことになる。

Step 1. 条件を整理する

この条件を整理するとこんな感じ。性と85cm, 90cmが条件になってることがわかる。

   ウェスト85cm未満 ウェスト85cm以上  ウェスト90cm以上 
 女性  非メタボ 非メタボ  メタボ 
 男性  非メタボ  メタボ メタボ 

Step 2. 疑似コードを使って条件を IF関数の書式に落とし込んでいく

これをIF関数の書式に落とし込んでいくことを考える。まず性で判断することを考えると、

IF(女性?, ウェスト90cm以上ならメタボ, ウェスト85cm以上ならメタボ)     ①

という感じになる(*2)。もちろんこのままではExcelに入力できないが、こんな感じの擬似コードで問題を整理するのは悪くない。

さらに、「ウェスト90cm以上ならメタボ」「ウェスト85cm以上ならメタボ」という部分はそれぞれIF関数を使って記述することができる。

IF(ウェスト90cm以上, "メタボ", "非メタボ")      ②
IF(ウェスト85cm以上, "メタボ", "非メタボ")      ③

さて、①〜③を組み合わせてみるとこんな風になる。

IF(女性?, IF(ウェスト90cm以上, "メタボ", "非メタボ"), IF(ウェスト85cm以上, "メタボ", "非メタボ"))

Step 3. データが入っているセルなどを考慮して、Excelの関数として記述する

セルF2 ← =IF(B2="女性", IF(E2>=90, "メタボ", "非メタボ"), IF(E2>=85, "メタボ", "非メタボ"))

できあがりはこんな感じ

(*2)この式は性別が「女性」と「それ以外」に分けているが、「それ以外」の方の処理は「男性」を前提とした処理になっている。女性でも男性でもないような性別の人がいるデータ群を扱う場合はもう少し考慮する必要があるが、ここではそこが本質ではないのでスルーする。

Tips: IF関数とフローチャート

練習問題9(☆☆)

BMIは25以上で「肥満」、18.5未満で「低体重」、その中間が「普通体重」とされている。data115.xlsx ブックの BMI シートに入っているBMIのデータとIF関数を使って、それぞれの人が「低体重」、「普通体重」、「肥満」のいずれであるかを表示する計算式を「体重区分」列に入力しなさい。

練習問題10(☆☆☆☆)

例題2で扱ったメタボリック検診の条件は、以下のように整理することができる。この条件を用いたIF関数で例題2と同じ処理を行ってみなさい。

((性別=男性) かつ (ウェスト >=85cm)) または ((性別=女性) かつ (ウェスト >= 90cm)) であれば「メタボ?」

ヒント: Excelでは、「かつ」を表すためには AND関数、「または」を表すためには OR関数を用いる

練習問題11(☆☆☆☆)

A, B, Cの三科目を受験し、合格するためには以下の2つの条件のいずれかを満たしている必要がある。data115.xlsx ブックの 試験得点 シートのデータを使って、合否を判定する計算式を作りなさい。

  1. A, B, Cそれぞれの科目の合格点は60点である。3科目全てに合格すれば、試験全体も合格。
  2. A, B, Cそれぞれの科目の合格点は60点である。いずれか2科目合格していて、合計点が230点を超えていれば試験合格。

↑経済情報処理(2014)ホームページに戻る