弊社では初回開発無料の定額39万円でkintoneアプリを開発する定額型開発サービス「システム39」を提供しております。kintoneの導入やアプリ開発でお困りの方は、お気軽にご相談ください。
*Webでの打ち合わせも可能です。
※2020年12月のkintoneアップデートにより、記事の内容に変更があります。
こんにちは、ジョイゾー笹川です。
kintoneの2020年1月アップデートでIF関数が使えるようになりましたね。
▼kintoneの計算式でIF関数を使ってみる【2020年1月アップデート機能】
フィールドを条件式として使うこともできるなんて便利!と思って早速やってみたら、うっかり失敗してしまったので、同じ間違いをしてしまわないようブログにしてみました!
(転んでもただでは起きないぞ…と。)
フィールドをIF関数の条件式に使うには?
IF関数は、ざっくりこんな感じで覚えておくと良いです。
IF(条件, 条件に当てはまるときの値, 条件に当てはまらないときの値)
条件は、「○○と同じ(=)」「○○より大きい(>)」というように、等号や不等号を使って設定をします。
さらに、次の3つのポイントをおさえておくと、kintoneでの設定がスムーズです!
①フィールドの値を参照するときはフィールドコードを使う
計算式には、フィールド名ではなくフィールドコードを使います。
フィールドコードが「文字列__1行__3」のようにデフォルト値のままだと分かりにくいので、できる限りフィールド名と揃えておきましょう。(ジョイゾーのフィールド情報取得プラグインを是非お役立てください。)
また、フィールドコードに触れたのでついでにひとこと。
できれば計算式には直接は値を入れず、フィールドに入っている値を参照することをおすすめします。
計算式の中にそのまま値を入れてしまうと、アプリ管理権限がある人しか変えられなくなってしまうので、運用しにくくなる場合があります。中身が見えないのでブラックボックスになってしまうのも心配です。
とはいえ、どちらが良いかは状況によりますので、運用にあった方法を選んでくださいね!
②条件に文字列を使うときは「””」を付ける
たとえば「あり」という選択肢を条件に使うのであれば、上の図のように「”あり”」とします。
「””」を付けないと、フィールドコードと認識されてしまい、エラーになったり、思わぬ計算結果になってしまうので注意して下さい。数字の全角と半角にも気を付けてくださいね。全角は文字列扱いですよ!
③選択肢を参照する場合は「ラジオボタン」または「ドロップダウン」を使う
<追記>
2020年12月のアップデートで、CONTAINS関数を使って、チェックボックスフィールドや複数選択フィールドの選択状況を計算式で参照できるようになりました。
詳しくはこちらのブログをご覧ください。
計算式でCONTAINS関数が利用可能に【2020年12月アップデート機能】
私はこれにハマってしばらく悩みました。ちゃんとヘルプを読めば書いてありました。
選択肢を参照する場合、IF関数の条件として使用できるのは「ラジオボタン」と「ドロップダウン」です。詳しくは、計算式で参照できるフィールドをご確認ください。
悔し過ぎてブログのタイトルにもしてしまったので壮大なネタバレです。要は、複数選択できるものは計算式に使えないので「チェックボックス」や「複数選択」を使いたい気持ちはあるのですが、設定はできません。
コース料理の予約を管理するアプリを例に検証してみましょう。
「シルバー」「ゴールド」「プラチナ」の3種類のコースで、人数に合わせて料金を計算するのにIF関数を設定します。
(やっておいてなんですが、IF関数はこのように入れ子にすることができますが、複雑になるのでやり過ぎには気を付けましょう。)
見事、選択肢にあった単価が表示され、合計金額が計算されていますね。
それでは、コースが「通常」と「プレミアム」だったらどうでしょう?
こんな風にアプリを作ってしまうこと、ありませんか?
プレミアムかどうかが分かればいいので、プレミアムのときだけチェックをする。
IF関数を設定するとしたらこんな感じですね。
一見うまくいきそうに見えますが、アプリを保存しようとすると・・・
残念!エラーになってしまいました。
ちゃんと理由を教えてくれるので親切なエラー画面ですが、それでも「せっかく作ったのに!」と残念な気持ちになってしまいます。
<追記>
この場合、CONTAINS関数を利用して次のように計算式を設定することで参照可能です。
IF(CONTAINS(お料理コース,”プレミアム”),プレミアム料金,通常料金)
わかっていれば、最初からラジオボタンで「通常」と「プレミアム」を用意することができるので、気分良くアプリを完成させることができます!これを読んだあなたはもう大丈夫!!
IF関数は使いどころが沢山あるとても便利な関数です。ぜひ味方につけて、より良い業務改善にkintoneを役立てていきましょう!
弊社では初回開発無料の定額39万円でkintoneアプリを開発する定額型開発サービス「システム39」を提供しております。kintoneの導入やアプリ開発でお困りの方は、お気軽にご相談ください。
*Webでの打ち合わせも可能です。