Top > 2010 > 8th > conditional_branching
AND OR

条件分岐する関数

次に、出席の点数と小テストの点数から、 成績を決めることにします。

その1つめの段階として、 もし出席点が60点未満(つまり出席率が60%未満)の場合は、 成績を「0」にする処理をします。

条件を判断する

もし〜ならば、Aをして、そうでなければBをする」というように、 ある条件によって処理を変える「条件判断」をするには、 IF関数を使います。

IF関数

IF(指定した条件(論理式)が成立するか(真)成立しないか(偽)を判定し、
真と偽のそれぞれの場合の処理を行う)
  • 書式 : IF(論理式, 真の場合, 偽の場合)
  • 引数 : 論理式 : 評価する条件(比較演算子を使う)
  • 引数 : 真の場合 : 論理式の結果が真(TRUE)の場合に返される値
  • 引数 : 偽の場合 : 論理式の結果が偽(FALSE)の場合に返される値

例えば、A1セルの値が100以上ならば"合格"を、そうでなければ"不合格"を表示するには、 IF関数を使った数式は次のようになります。

=IF(A1>=100,"合格","不合格")

次のような図(「フローチャート」という)で、 処理の流れをあらわすことができます。

IF関数の処理の流れ

比較演算子

論理式には、次のような比較演算子を使います。 条件が成立する場合を「TRUE」(真)、 成立しない場合を「FALSE」(偽)と判定します。

演算子条件内容例(D2セルが5の場合)結果
=(等号)A=BAとBが等しいD2=2FALSE
<>(不等号)A<>BAとBが等しくないD2<>4TRUE
>(〜より大きい)A>BAがBより大きいD2>6FALSE
<(〜より小さい)A<BAがBより小さいD2<8TRUE
>=(〜以上)A>=BAがB以上であるD2>=10FALSE
<=(〜以下)A<=BAがB以下であるD2<=11TRUE

成績(確定前)の計算

それでは、IF関数を使って、 E列(確定前の成績)に次のような条件判断をすることにします。 その1つめの段階として、 もし出席の点数が60点未満(つまり出席率が60%未満)の場合は、 成績を「0」にする処理をします。

  • 条件:出席の点数が60未満
    • 真の場合(60点未満):「0」を表示
    • 偽の場合(60点以上):出席の点数×0.4+小テストの点数×0.6の計算結果を表示
      (成績のうち、出席を4割、小テストを6割として評価するという意味)

条件とその判断を図にすると、次のようになります。

成績(確定前)の計算の流れ

では、次のようにして、IF関数を使ってみましょう。

  1. E2セルをクリックして選択する
  2. 数式バーの「関数の挿入」ボタンをクリックする
    「関数の挿入」ボタン
  3. 利用する関数の選択する
    「関数の挿入」
    • 「関数の分類」から「論理」を選択する
    • 「関数名」から「IF」を選択する
    • 「OK」ボタンをクリック
  4. 引数を設定する
    「関数の引数」
    • 「論理式」の入力欄をクリックし、「C2<60」と入力する
    • 「真の場合」の入力欄をクリックし、「0」と入力する
    • 「偽の場合」の入力欄をクリックし、「C2*0.4+D2*0.6」と入力する
    • 「OK」ボタンをクリックすると、結果が表示される

入力された数式は、次のようになります。

=IF(C2<60,0,C2*0.4+D2*0.6)

計算ができたら、 オートフィル機能を使って、 E2セルの数式をE3〜E31セルにコピーしてください。


次へ進んでください。



Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes
Last-modified: Thu, 25 Nov 2010 21:10:44 HADT (4196d)