今回は、データを条件指定して3種類に分けるための関数IFのネスト処理です。プログラムなどのIF THEN ELSEのIFの繰り返しです。
まずデータを用意しました。便宜上RANK.EQからのデータを使い回していますが、データそのものは変更しています。
一番上の上杉謙信さんのデータで作成してフィルをしますので K3 を選択して数式タグの[論理関数>IF]を選びます。
表示されるパレットは上から・・・
論理式 → 条件を設定
値が真の場合 → 条件が成り立つ場合はどうする
値が偽の場合 → 条件が成り立たない場合はどうする
となります。ここでは500点以上はA、420点以上はB、そうでない場合はCと設定します。
図式化するとこんな感じです。
少し戸惑う比較演算子もしっかり暗記してしまいましょう。
論理式 → 上杉謙信さんのデータ i3 をクリックし、[それが500点以上であれば]と論理式を記述します。i3>=500
値が真の場合 → 条件が成り立つ場合は合格なので"A"とします。Aだけ入力すれば自動的にダブルクォートで囲まれますが、Tabキーで強制入力することも出来ます。
値が偽の場合 → 条件が成り立たない場合は残りのBとCをどうするか?ですが、枠は1綱のであと2つの枠が必要です。そこで、この偽の部分に新たにIF関数を入れて三分岐させます。これがネスト処理です。
偽の値を入れる枠にカーソルを入れ、画面の左端にある L3 と表記している枠にカーソルを近づけて右端の小さな三角形をクリックします。
三角形をクリックすると関数の一覧が表示されるので、その中から[IF]を選択します。
選択すると今まで入力していたパレットがリセットされたようになりますが、数式バーを確認するとリセットではなく、本来は偽の値が入る部分に新たにIF関数が入った事が確認出来ます。
再度、論理式 → 上杉謙信さんのデータ i3 をクリックし、[それが420点以上であれば]と論理式を記述します。i3>=420
値が真の場合 → 条件が成り立つ場合は合格なので"B"とします。Bだけ入力すれば自動的にダブルクォートで囲まれますが、Tabキーで強制入力することも出来ます。
値が偽の場合 → 条件が成り立たない場合、残りはCだけなのでCだけ入力すれば自動的にダブルクォートで囲まれますが、Tabキーで強制入力することも出来ます。
これで数式は完成です。
=IF(I3>=500,"A",IF(I3>=420,"B","C"))
もちろん分岐を更に増やすことも出来ます。ただし、使用回数には7回の制限があります。それ以上の分岐処理をしたい場合はVLOOKUPやSWITCH等を利用した方がよいでしょう。
IF関数のネストを説明しましたが、実は色々な関数が全てネスト処理出来るようになっています。はじめのうちは混乱するので簡単な関数で色々実験してみると理解が深まると思います。