見出し画像

kintoneの計算式で色々なことができるようになった!けど覚えておきたい4つのポイント

みなさんこんにちは。プロジェクト・アスノートの松田です。
kintoneの機能追加や修正のアップデートが毎月行われていることを知っていますか? 

下のリンク先の記事では、2017年2月以降のアップデートを一覧表にまとめています。特に2020年以降のアップデートは、次々と新しい機能や、既存の機能の見直しによる利便性や使い勝手の向上が質・量ともに充実しています。

2020年はkintone関数元年!

kintoneの関数界隈においては、2020年は関数元年!と言っていいほどのインパクトのある1年でした。2020年1月に追加されたIF関数に始まって、2月はROUND三兄弟、そして締めの2020年12月にはCONTAINS関数。その他にも計算式を活用する際の細かい利便性の向上と間違いを起こしにくいような「やさしさアップデート」の数々。
関数に関するアップデートを時系列に並べてみました。

▼kintone関数の最近の大いなる進化
・2020年1月  IF, AND, OR, NOT関数の追加
・2020年1月  計算式でドロップダウン/ラジオボタンの値を利用可能
・2020年2月  ROUND, ROUNDUP, ROUNDDOWN関数の追加
・2020年2月  計算式入力欄の改善(エリア拡大、複数行・改行対応)
・2020年2月  YEN関数とDATE_FORMAT関数が計算式内でも利用可能
・2020年6月  計算式を入力するときに関数名を小文字で入力可能
・2020年8月  フィールドコードを変更すると、計算式にも自動反映
・2020年12月  CONTAINS関数の追加
・2021年3月  全角記号を入力した際に注意を促すメッセージを表示

何ができるようになるのか?

これまでのkintoneの関数は、主に数値の演算、文字列の結合の機能が提供されていましたが、「条件分岐」という概念が無かったため、おのずと考えうるロジックもシンプルなものに限られていました。

2020年以降の進化においては、特にIF関数が使えるようになったことが大きいです。別のフィールドや計算結果によって処理を分けることができる、条件分岐を作ることができるようになりました。

条件分岐が使えるようになったことで、さまざまなことが標準機能で実現することができます。一例を挙げます。(リンク先は詳細説明した記事や動画です)

消費税の軽減税率対応(税率ごとの集計等)
誕生日と基準日から年齢を計算
和暦を表示する
日付またぎのある時刻間の計算
曜日の計算
・・・・

関数活用の第一歩としてはやはり、IF関数をマスターすることです。

IF関数の基本構造

IF関数の基本構造は次のようにイメージして覚えておきましょう。

画像1

IF関数のカッコの中には、3つのモノが入ります。これが基本。
1つ目は「条件式」。これは、ある条件が成立するかどうか、すなわちTrue/Falseで表されるものが入ります。
2番目に、条件式が成立:trueのときの処理内容
3番目に、条件式が不成立:false のときの処理内容

条件式のところに入ることができるものは、次のようにその結果がtrue/false(真/偽)となるもの全部です。

①比較演算子を用いた式
 左右の値を比較する演算式(=、<、>等)
 値に使えるもの:フィールドコード、数値、文字列、計算式
②結果がtrue/falseとなるkintone関数
AND、OR、NOT関数、CONTAINS関数

ここでいうtrue/falseは、ブーリアン型と呼ばれるデータの「型」なので、単なる文字列ではありません。

ネスト(入れ子)のIF関数も基本は同じです。

画像2

ネストにする場合は、どの条件をどの順番で記載するか?をきちんと考える必要があります。起こりうるパターンをすべてカバーしていないと、思うように動作しないケースもあり得ます。

このように、条件式のところに入れられるものが、組み合わせによって非常に多くのパターンが考えられます。アイデアや工夫しだいでいろいろなことを表現することができます。

kintoneが難しくなった

このように関数が使えるようになったことで、実現できることの範囲が広くなります。上で例示したようなノウハウは、単純に関数を使うだけではなく、関数を組み合わせたり、計算の途中段階を考えたりと、これまでとは違った思考が必要になります。

同時に、そこで作られる計算式も複雑さを増していきます。IF関数のネスト(複数のIF関数の入れ子)等、パット見ただけでは内容を把握するのが難しい計算式も多くなってきました。

一言でいうと、kintoneが難しくなったとも言えるのではないでしょうか?

一般的に言われることですが、このようなシステムやツールを業務で使うときに、課題とされることがあります。

・属人化
ある個人でないと内容を把握できない。継続的にメンテナンスや修正をすることができる人間がいなくなる。異動や退職時に問題となる。手作り業務ツールあるある

・ブラックボックス
作った本人の自分でさえも、時間が経過した後見返しても、内容が理解できなくなる。動かすことが精一杯で、構造が複雑になったり、分かりやすく作られていない、コメント(解説)が適切に入れられていないことが原因。これもあるある。

じゃぁどうする?難しい機能は使わない?

じゃぁどうしますか?属人化やブラックボックスの原因になるかもしれない、複雑な計算式は禁止する? 詳細なドキュメントを作成するルールを作りますか?

私の考えは、どんどん活用しよう!です。そのかわり、属人化やブラックボックスにならないような「使い方のポイント」があります。ぜひこのポイントを試してみてください。

ポイントを押さえたアプリは?
・あとから見たときにわかりやすい
・自分以外の人が見たときにもわかりやすい
・計算式のメンテナンスや修正を行いやすい


これは、2021年7月20日に開催された、Cybozu User Festivalの中の kintoneエバンジェリストセッションの発表スライドです。P16からが計算活用のポイントです。

複雑な計算式をもつアプリ構築4つのポイント

ポイントは次の4つです。

①長い計算式を書くときは、改行・スペース・インデントを活用して、分かりやすく書く

②計算の途中段階を別フィールドに分割することで、計算式のチェックや修正がしやすくなる

③計算式の内容や考え方、目的などの解説をラベルフィールドに書いておく

④中間フィールドや解説ラベルが通常運用時に邪魔になる場合は、グループフィールドに格納する


こちらの動画で、実際のアプリを用いてポイントについて詳しく説明しています。


これからもkintone活用ノウハウや業務改善職の役に立つ情報をお届けします!スキ!&フォローよろしくおねがいします!!

いただいたサポートは、今後とも有益な情報を提供する活動資金として活用させていただきます! 対価というよりも、応援のキモチでいただけたら嬉しいです。