\初心者でも大丈夫!/キントーンの自動計算の書き方②
前回は在庫管理と時間計算について書きました!
今回は別のケースについて書いていきます!
前回の投稿はこちら⇩
【ケース③】年度の計算
大体の会社が4月始まり、3月終わりだと思いますが、年度始まりが一般的な会社とは異なることがありますよね。(私の在籍する会社がそうなんです…。)
kintoneの標準機能として、グラフは年度ごとの表示が可能となっていますが、開始が異なると、きれいな(思い通りの)グラフが作れません…(困る)
うちの会社は12月始まり。1月ならもう少し話は簡単だったんですが、会社法で、売り上げ計上期が自由に決められる以上、(そして会社の始まりが12月である以上)4月始まりじゃなくても文句は言えません。でも面倒くさがりな私は、出来ることなら会議資料もなるべくkintoneで完結したい…
ということで、思いついたのが、「計算フィールドを使って、期を計算&指定させればいいんじゃない?」ということ。
難しいのでは?と思われるかもしれませんが、意外と簡単に設定することが出来るんです!!
個別のフィールドを追加しよう!
見た目重視でやろうと思うと、「なるべく計算途中は見せたくない…」と思うかもしれませんが、レコードの登録時に過程が見えると、都度デバック(計算が間違っていないかの途中確認)が出来るので、いくつかレコード登録して、あるイレギュラーな(とはいえ10件に1回はあるような)案件での正誤も確認でき、戻り作業がぐっと減ってストレス軽減に繋がるので、私は開き直って計算途中を見せることが多いです。笑
という前振りを盛大にしたところで、フィールドはこんな感じ。
年、月の表示
DATE_FORMATでなんとなく書かれていますが、年・月・日の表示の仕方はExcelと同様決まっています。
こちらは好み(と会社の方針)で表示方法を変えて頂ければと思いますが、年なんかは超長期で使うことを考慮して(一応ね…)「YYYY」にするのをおすすめします。
さて、ここまで準備できればあとは年度のフィールドに計算を入れるだけ。
簡単に説明すると、
①契約日に何も入っていなければ空欄
(#Value とか #CONVERT! とか出るのが嫌なので。笑
ちなみに計算式で表示されるエラーはこちら⇩)
②月が12だったら、年に1足して「年度」を付ける
…2023/12/1 → 「2024年度」
③それ以外ならそのままの年度
…2024/1/1 → 「2024年度」
という感じです。
応用編
今回は12月だけイレギュラーなのでこうしましたが、例えば6月始まりで、2023年6月1日~2024年5月31日が2023年度という括りだった場合、
月が6未満(つまり1~5)の場合、年から1引いて年度にする。
→2024/3/1 なら 2023年度 ということですね。
反対に2023年6月1日~2024年5月31日が2024年度という括りだった場合、
月が5を超える(つまり6~12)の場合、年に1を足して年度にする。
→2023/8/1 なら 2024年度 ということになりますね。
年度の計算と括りはややこしいですが、年と年度が異なった時にどちらになっているか(次年度になるのか前年度になるのか)が分かれば自ずとどれを使うか分かりますね。
あとは、年度を選択して条件を追加してグラフを作るだけ!
簡単ですね!笑
*******
【ケース④】条件によるアナウンス表示
例えば、交通費計算で、宿泊が伴うなら上限はいくら、とか、申請額によってプロセス管理の承認者が変わるとか、申請書類で☑を打った内容によって表示を異ならせる(OKか不可か)とか、も自動計算で出来たりします。
①条件によって表示を変える
使うのは、チェックボックス(ラジオボタンは後述)と文字列(1行)フィールドです。
☑をした内容で表示を変えていきましょう!
【例題】提出物が全て揃っているか
先日キンコミでの投稿を例に挙げさせてもらいました🙇⇩
文字列(1行)は自動計算にして、以下の計算式を入れます。
ここで使用するのは「CONTAINS」です。
そのフィールドの要素に指定するものがあるかを検索して真偽値で返します。
今回の場合で行けば、チェックボックス全てに☑が打ってあればOK(全て提出)になりますが、一つでも☑が欠けていれば「未提出あり」になります。
ここで、例えば「見積」と「契約」が提出されていれば「伝票」が無くてもOKだよ!ということであれば、
でOKです。
「伝票」の有無に関係なく「全て提出」になります。
(表記としてイヤなら「提出可」とか「OK」とかにしても良いですね。)
反対に、「伝票」は後日提出ならOKだよ、という場合、
となります。ここで注意が必要なのは、「伝票後日提出」を前に持ってきてはダメ、ということ。
最も求めている状態は「全て提出」なので、その条件を一番初めに、
次点で「後日提出可」…となるのでご注意を!
ここで注意!
CONTAINS ( 提出前確認 , "" ) は出来ません!
チェックボックスに何も選択されていないのを「””(空欄)」で検索したいところですが、チェックボックスに「空欄」がないため、検索に引っ掛かりません。(何言ってんのかよく分からないですね。笑)
*******
応用編【ラジオボタンの場合】
ラジオボタンでは逆に「CONTAINS」が使えません、というと語弊がありますね…。
正確に言うと、ラジオボタンでは「使う意味がない」ですね。
というのも、CONTAINSの良いところは「複数検索」ができるところです。
つまり、ラジオボタンは択一なので、純粋に
だけで事足りるということです。
条件の書き方によっては本当にラジオボタンだと使えないので、「何でだ!?」となったら「CONTAINS」を外して「=」などで条件を書きましょう!
*******
【ケース⑤】案件・進捗カウント
先日キンコミであった、テーブルで進行案件の有無によってその案件が進行中なのか、完了しているのかなどをカウント&活動進捗を一目で分かる様にしたい、という話。
作るフィールドはこんな感じ。
kintoneは「COUNTA」がありません。
つまり、数字以外の合計(カウント)が出来ません。
そのため、計算フィールドを入れて「案件数」と「進行数」、「完了数」をカウントしていきます。
どういう処理をするのかというと、テーブルに数値を持たせることで「1件」として処理していくということです。(いわゆる「1を立てる」ということ)
それでは詳しい計算式を見ていきましょう!
テーブルの設定
まず「数値・・・案件カウント」です。
こちらは自動計算とかではなく、初期値に「1」を入れます。
案件数を純粋に計算するだけなので、テーブルが追加された→1案件増えたとkintone側で認識をさせるためです。
詳しくは後述しますが、誤っていじらせないためにフィールドアクセス権を設定しましょう!
*******
続いて、進行数と完了数のフィールド。
こちらは「自動計算」させます。
計算式は以下の通りです。
チェックボックス(両方チェックする場合がある)ため「CONTAINS」を使います。
「進行中(完了)」に☑がある場合は、「1」にする。
ない場合は「0」にする。という割と簡単な式です。
注意点として、「どうせ 1 か 0 かなら両方☑されてるなら(計算フィールド1つにして) 2 で良くない?」というのはNGです。
今回のオーダーとして、「どっちにチェックが打ってあるか」というのが重要になってくるのと、「見た目がよろしくないから」という理由で計算フィールドをケチると痛い目を見るので、ここは惜しみなく分割していきましょう。(気になるなら、見えなくすればいいですしね。)
*******
お次は実際のカウントです。
視覚的に分かりやすいように、「案件数」「進行数」「完了数」を別々のフィールドに分けています。
見て分かるように、「SUM ( 【フィールドコード】)」のみです。
最初に書いた通り、「COUNTA」は出来ませんが、数字をカウントする(合計する)ことは出来るので、単純にテーブルの数だけ1つずつ増やしてあげればいいんです。
あとはお好みに合わせて「活動進捗」なんかを入れたりします。
テーブルの量が多くなる可能性が高い場合はおすすめです。
さて、長々と書きましたが、最後にこれだけ書きましょう!
触られたくない計算フィールドはアクセス権を付ける
アプリには細かなアクセス権があります。
アプリ自体を特定の人しか見せたくない、とかこの条件のレコードは編集も閲覧も制限したいとかですね。
このアクセス権は「フィールド」にも適用できます。
今回で言うと、「初期値を1にした計算フィールド」とかですかね。
もちろん計算過程を他の人に見せたくないということであれば、そういうのも追加しましょう。
指定のフィールドにアクセス権を付ける
フィールドのアクセス権はこんな感じ。
案件数(初期値を1にした計算フィールド)のフィールドを選択して、ユーザーに許可する操作を選択します。
添付例はEveryone(全てのユーザー)、閲覧可・編集不可です。
つまり、編集画面で見えるけど入力は出来ないということですね。
閲覧自体させたくなければ閲覧のチェックを外せばOKです。
(閲覧のチェックを外すと編集も自動で外れます。)
ちなみにアプリの作成者はアクセス権が効かない場合があるため(administrator権限だと特に。)他のユーザーアカウントで確認するか、自身をユーザーに選択して操作権限を付与するのをおすすめします。
また、見せたくない(触られたくない)フィールド全てにアクセス権限を付与するのも良いですが、付与したフィールド権限は割と忘れられがちです。(付けた自分でも)
作成者は忘れないように、自分もしくはシステム管理メンバーには見えるようにしておくのと、フィールド名に「編集不可」や「閲覧不可」など入れておくと後から見ても分かりやすいですね♪
*******
いかがだったでしょうか?
何かと混乱しがちな「計算フィールド」と「文字列(1行)」の自動計算。
この記事を見て、あなたのkintone LIFEが少しでも楽しくなることを祈ります(*^^*)
この記事が気に入ったらサポートをしてみませんか?