見出し画像

関数紹介:if

こんにちは!spreadsheetコンサルタントを名乗っております池戸です。

今回ご紹介する関数はif関数です。

このあたりから徐々に今までの記事で紹介した引数やリファレンスの見方などが活かされてくるのかなと思います。

まずはgoogleのリファレンスからです。

論理式が TRUE の場合はある値を返し、FALSE の場合は別の値を返します。 詳細

まずはif関数の構造についてです。if関数は3つの引数を指定します。
=if( 論理式 , 論理式が正の場合に返す値 , 論理式が誤の場合に返す値 )

if関数は論理式の正誤によって、返す値を任意に設定することができるという機能を持っています。

さて、おそらく関数初学者の人からすると論理式とは何だ?という感じかと思います。

論理式を説明するに当たって、以下の画像のような10点満点のテストの5人の生徒の点数を一覧にしたデータがあるとします。

合格点が8点だったとした時にAさんの点数は合格か不合格かを判定するのにif関数が利用されます。

画像1

上記のテストの結果というのは一例ですが、B2>=B1のように結果に対して、基準値が超えているかどうかや、結果の値と一致しているかどうかを論理式として活用します。

他に論理式として活用できるものは以下のようなものです。

  記号    | 意味
  ---   | --- 
 B2=B1  |B2とB1が一致している場合にはtrue値,不一致ならばfalse値を返す
 B2>B1  |B1よりB2の方が大きい場合にはtrue値,小さい場合にはfalse値を返す
 B2<B1  |B1よりB2の方が小さい場合にはtrue値,小さい婆にはfalse値を返す
 B2>=B1 |B2がB1以上の場合にはtrue値,B1より小さい場合にはfalse値を返す
 B2<=B1 |B2がB1以下の場合にはtrue値,B1より大きい場合にはfalse値を返す
 B2<>B1 |B1とB2が不一致の場合にはtrue値,一致する場合にはfalse値を返す

true値とfalse値という言葉を利用しましたが、これは先のほどの構文で使った以下に該当します。
 true値 = 論理式が正の場合に返す値
false値 = 論理式が誤の場合に返す値

このtrue値やfalse値には上記の画像のように"で囲むことで言葉を値として返すこともできます。
その他にセルを指定したら、そのセルを参照して値を返すこともできれば、関数を改めて埋め込むことも可能です。
さらに、true値false値それぞれにif関数を埋め込むことで、入子状に分岐を設定することもできます。

例えば先ほどのテストの例にもう1教科を追加して、2教科のテストの成績によって以下の表のように合格や追試を判定したいとします。

       条件             | 返す結果
       ---                   | ---
国語が合格点以上かつ算数も合格点以上     | 合格
国語が合格点以上かつ算数は合格点より低い   | 算数のみ追試
国語が合格点より低いかつ算数は合格点以上   | 国語のみ追試
国語が合格点より低いかつ算数は合格点より低い  | 両方追試

画像2

この場合には画像のような関数を入力することで実現することができるということになります。

いきなりすぎたので、少し解説していきたいと思います。

まず国語の論理式(B3>=B$2)で国語の結果を判定しています。
国語が合格点以上で算数の結果いかんで次のような結果を返すルールになっています。
算数が合格点以上→合格
算数が合格点より低い→算数のみ追試

そのため、国語の論理式が正の時には、改めて算数の論理式の正誤を判定して結果を返すということをするために以下の関数を国語の論理式が正の場合に返す値として入力しています。

if(C3>=C$2,"合格","算数のみ追試")

次に国語の論理式(B3>=B$2)が誤の場合に返す値として何がしたいかについて
国語が合格点に満たない場合に、算数の結果いかんで次を返したいというルールになっています。
算数が合格点以上→国語のみ追試
算数が合格点より低い→両方追試

そのため、国語の論理式が誤の時にも、改めて算数の論理式の正誤を判定して上記の結果を返すために以下の関数を国語の論理式が誤の場合に返す値として入力します。

if(C3>=C$2,"国語のみ追試","両方追試")

判定基準がこのように二つ程度であれば、if関数が返す値に再度if関数を埋め込むことで、分岐をさらに分岐させるということも可能となります。

まとめ

if関数は
論理式を使って物事を判定させる
判定した結果正しい結果の時に返す値と判定した結果誤りの結果に対して返す値を設定することで機能する関数

返す値には""で言葉を設定することや、関数を入れ込むことや、if関数でさらに分岐させることもできる

この記事が気に入ったらサポートをしてみませんか?