#メンディと学ぶkintone
Vol.5 IF関数について(応用編)

アイキャッチ
kintone
2022年12月20日

こんにちは。目玉焼きにはめんつゆ派、メンディです。

今回は前回扱ったIF関数の応用編をお届けします。
前回の記事を読んでいない方は、ぜひこちらの基礎編もあわせてお読みください。さらにIF関数の理解が深まると思います。

IF関数で複数の条件を設定したい!

前回の記事では、条件を一つだけ設定してIF関数を使用しました。
「もしテストの点数が80点以上なら合格、そうでなければ不合格」
「もしお酒があれば飲む、なかったら暴れる」

ただ、人生も仕事もそんなに単純にはいかないので、もっと条件が必要なケースが多いです。

たとえば、このような条件になるケースが考えられます。
「もし国語か数学どちらかのテストの点数が80点以上なら合格、そうでなければ不合格」
「もしお酒とおつまみがあれば飲む、なかったら暴れる」

こういう場合もうまく設定できると、思い通りにIF関数が扱えますよね!

OR関数とAND関数を使って実現する!

「なんだかまた新しい関数が出てきたぞ…」と不安になったり、めんどくさくなってきたそこのあなた。
大丈夫です、メンディも初めてのときは同じ気持ちになりました。ただ、仕組みや使い方さえ知ってしまえば難しくはないです。やってみましょう!

というわけで、今回も前回と同じく、テストの点数によって合否を自動で表示するアプリを作ってみます。

今回は4つのフィールドを用意します。
点数を入力する2つの数値フィールド、AND関数を使って合否を表示する文字列(1行)フィールド、OR関数によって合否を表示する文字列(1行)フィールドの4つです。

フィールド名フィールドコードフィールドの形式
国語国語数値
数学数学数値
AND関数合否AND関数合否文字列(1行)
OR関数合否OR関数合否文字列(1行)

OR関数を使ってみる

まずはOR関数の使い方から見ていきましょう。
IF関数は「もし○○だったら✖✖する」ということを設定できるのが特徴でした。
OR関数はこの「○○だったら」を複数設定できることが特徴です。

今回は
「もし国語か数学どちらかが80点以上なら合格とする。」
という条件で合否を表示してみましょう。

いつものように、アプリで設定して使い方を見ていきます。

さきほど設定したアプリの「OR関数合否」フィールドに以下の設定を行います。

OR関数は「IF(OR(条件式1,条件式2) , 条件成立時の値 , 条件不成立時の値 )」という形で入力します。

そのルールに従い、「国語フィールドの値が80以上の場合、または数学フィールドの値が80以上の場合は合格と出力する、そうでないなら不合格と出力する」という風にしました。

「国語>=80 OR 数学>=80」のように書きたくなるような気もしますが、記載ルールに則って式を書かないとうまく動きませんので、きちんと確認して計算式を書きましょう!

フィールドの設定完了後、アプリを更新して変更を反映します。これでOR関数を使用する準備が整いましたので、レコードの追加画面を開いてみましょう。

試しに、「国語」フィールドと「数学」フィールドに様々な値を入力してみます。
まずは、国語、数学共に80点未満の場合です。

不合格になっていますね!

次は、国語だけ80点で、数学が80点未満の場合です。

これもうまく判定されました。数学がどれだけ苦手でも合格!

AND関数を使ってみる

OR関数がうまくいったところで、続いてはAND関数の使い方を見ていきましょう。
AND関数は、複数の条件を設定できることはOR関数と同じです。

ただ、一つだけOR関数と違う点があります。それは複数の条件をすべて満たす必要があるという点です。

OR関数の場合は
「もし国語か数学どちらかが80点以上なら合格とする。」
というイメージでした。

AND関数の場合は
「もし国語か数学両方が80点以上なら合格とする。」
というイメージになります。

言語的なイメージで使い分けがわかったところで、実際の使い方を見ていきましょう。

アプリの設定画面で、今度は「AND関数合否」フィールドに設定をしていきます。

AND関数は「IF(AND(条件式1,条件式2) , 条件成立時の値 , 条件不成立時の値 )」という形で入力します。

そのルールに従い、「国語フィールドの値が80以上かつ、数学フィールドの値が80以上の場合は合格と出力する、そうでないなら不合格と出力する」という風にしました。

アプリを更新して変更を反映し、レコードの追加画面を開いてみましょう。

まずは、国語が90点、数学が70点の場合で試してみます。

数学が80未満なので、不合格になりました!

次は、どちらも80点以上の場合を見てみます。

条件を満たしているので、合格になりました!ちなみにメンディ、国語のほうが苦手です。

今日のまとめ

今回はIF関数の応用編ということで、IF関数と合わせて使う、AND関数とOR関数をご紹介しました。複雑になりがちですが、このあたりの関数を使えるようになると、kintoneを一段階上のレベルで使いこなせると思いますし、楽しくなると思います!

ただ、ハードルが上がってくる部分ではあるので、メンディの所属するJCSが提供する「キントレ」のような、外部サポートをお願いするということも一つの手です。よろしければ、サービス内容を確認してみてください。

次回は、四捨五入する時に使えるROUND関数をお届けします。お楽しみに!