例題1. 試験の成績と合否
data05.xlsxの例題1シートには、仮想的な試験の点数データが入っている。このデータを使って
の2つの操作を行いたい。
この操作は、得点が60点以上か60点未満かで判断して違うことを行う必要がある。このように「ある条件を満たすかどうか」で操作を変える場合、ExcelではIF関数という関数を用いる。
Step 1. まずC2 に「合格」「落第」の表示を行う
Excelの場合、計算式が入っているセルの値は計算式の値になるので、IF関数が返す値を「合格」「落第」の文字列にすればこの目的は達成できる。IF関数の書式は、
IF(条件, 条件が成立した場合の値, 条件が成立しない場合の値)
となっている。このケースでは
であるから、これをそのままExcelの計算式にすればよい。
セル C2 ← =IF(B2>=60, "合格", "落第")
最初の引数である、B2>=60は、「B2セルの内容が60以上か?」という条件を表す式になる。data05.xlsxのデータでは、B2は60なのでこの条件は成立する。条件が成立した場合は、2つめの引数がIF関数の値となるので、C2 は「合格」と表示されるはず。
Step 2. 計算式をコピーして全てのデータについて合否が判定できるようにする。
Step 3. 不合格者数を数える
Excelでこの目的を達成する方法はいくつかあるが、ここでは不合格者数を数える→落第なら1、合格なら0が入っている列を作成して、その列のデータを全部合計するという愚直な方法を採用する。
この場合、条件は「落第か?」ということになるので、Step 2で作成した「合格」「落第」のデータが使える。
セル D2 ← =IF(C2="落第", 1, 0)
最初の引数である C2="落第" は、C2セルの値が「落第」という文字列かどうかを検査している。落第なら、第2引数が関数の値として評価されるので関数の値は1となり、合格なら第3引数が評価されて0になる。
計算式をコピーしたら、セル G1 に合計するための計算式(SUM関数を使う)を入れておしまい。
(*1)「SUMIF関数使えばいいんじゃね?」 と思ったひとは、頭が固いので自己批判しましょう。条件が複雑になったらSUMIFではすぐ破綻します。「ピボット・テーブル使えばいいんじゃね?」と思った人は経済情報処理なんか受講して単位稼ぎしてないで、他の専攻科目を履修しましょう。
Tips. Excelの比較演算子
Excelの比較演算子は以下のようになっている。使える記号の制限から、数学で使う比較演算子とは違うので注意。
説明 | 数学での表記 | Excelでの表記 |
---|---|---|
AはBより大きい(Bと等しい場合は含まない) | A>B | A>B |
AはB以上(Bと等しい場合を含む) | A≧B | A>=B |
AはBと等しい | A=B | A=B |
AはB以下(Bと等しい場合を含む) | A≦B | A<=B |
AはB未満(Bと等しい場合は含まない) | A<B | A<B |
AとBは等しくない | A≠B | A<>B |
例題2: 社員別の売上目標と売上実績
社員別の売上目標と売上実績は、data05.xlsxの売上成績シートに入っているデータのようになりました。「売上実績」が「売上目標」以上だったら「○」、そうでなければ「×」を評価欄に入力してください。売上目標を達成した人数を数えましょう(ヒント: 条件を満たす場合に 1、満たさない場合に 0となるような 計算式を作れば、SUM関数を使って人数が数えられます)。
©2014, Hiroshi Santa OGAWA, Mai OKUDA
このページにアダルトコンテンツ、XXXコンテンツ類は一切含まれていません。暴力反対.