はじめに
往々にして表計算ソフトでは、SUMIF関数などの集計関数で、表計算ソフトでのテーブル表示の枠外に集計を表示するケースがあります。
この記事では、この要件をkintoneとカスタマインで満たせるようなカスタマイズの実現を目指したカスタマイズについて記載します。
元々運用されていた表計算ソフト
運用:サービス名ごとに、表計算ソフトのSUMIF関数(以下、SUMIFと記載)で売上金額合計(単価)を集計し、シート上部に表示している。
アプリの準備
まず、次の要領でアプリを作成してください。
※この記事内で必要となるフィールドのみ記載しています
注文管理
※フィールド名とフィールドコードは同じものを指定
一覧画面のレコード上部に文字や計算結果を表示する
「注文管理」シートで行っていた運用と同様に、「注文管理」アプリでも売上金額を確認できるように、検討しました。表示位置もなるべく変わらないのが望ましいです。こういったときはどうすればよいでしょうか。
課題:基本機能ではレコード上部に文字を表示できない
ところが、kintoneの基本機能では、レコードの上部に文字を表示することができません。
上の画像の赤枠で示すような、レコード一覧の上部に集計内容を表示すれば、求められている要件を満たせそうです。
「やること」の「その他のUI」の中には、「〇〇を表示する」という名前のやることが複数ありますが、その中のやること「メニュー位置に文字を表示する」を使えば実現できそうですので、この「やること」を用いてカスタマイズを設定します。
カスタマイズ
8アクションのカスタマイズを設定します。
と言われると長いカスタマイズのように聞こえるかもしれませんが、使う「やること」は4種類だけです。
レコードを取得し、3か月レンタルの合計値を集計する
まず、やること「一覧の条件でレコードを全件取得する」、条件「一覧画面を表示した時」でレコードを取得します。
次に、やること「レコード内の条件に合う行のフィールド合計値を計算する」、条件「他のアクションの実行が完了した時」で「サービス名」が「3ヶ月レンタル」となっている行のフィールド合計値を計算します。
そして、やること「数値をフォーマットする」、条件「他のアクションの実行が完了した時」で数値をフォーマットします。
6か月レンタルの合計値を集計する
やること「レコード内の条件に合う行のフィールド合計値を計算する」の集計する対象となる値(比較値)が「6ヶ月レンタル」に変わるだけで、アクション11,12と同様です。
12か月レンタルの合計値を集計する
やること「レコード内の条件に合う行のフィールド合計値を計算する」の集計する対象となる値(比較値)が「12ヶ月レンタル」に変わるだけで、アクション11,12と同様です。
合計値を表示する
最後に、やること「メニュー位置に文字を表示する」、条件「他のアクションの実行が完了した時」で、ここまでの「やること」で計算したフィールド合計値を表示します。
実行結果
まとめ
まず、やること「一覧の条件でレコードを全件取得する」で、SUMIFの範囲指定にあたる、集計対象レコードの指定を行います。そして、やること「レコード内の条件に合う行のフィールド合計値を計算する」で、検索条件および合計範囲を指定し、計算を行います。
また、kintoneの基本機能では、一覧画面に文字を表示させることはできませんが、やること「メニュー位置に文字を表示する」で、任意の文字列はもちろん、先行のアクションで計算した結果を表示させることができます。(課題:基本機能ではレコード上部に文字を表示できない)
なお、数値フィールドで数値を表示する場合は、kintoneのフィールドの設定で桁区切りを設定することができますが、今回のようにメニュー位置に数値を表示させる場合には桁区切りの設定ができません。そのためやること「数値をフォーマットする」カスタマイズを挟んで桁区切りを表示する設定を行い、その結果をメニュー位置に表示させています。
表計算ソフトのl関数とカスタマインの設定方法の対応表
おわりに
この記事では、kintoneとカスタマインによるカスタマイズで、表計算ソフトのSUMIF関数に似た動きとなる処理を実現してみました。
どうでしたか? 集計値を表示したくなった時は、この記事を参考にしてみてください!
また、ご不明点等ございましたら、チャットにてご質問ください!





