krewSheet 機能別ガイドブック Vol.1

数式krewSheet では、単純な数値の合計だけではなく、300種類以上もの Excel 関数を使用して複雑な計算処理ができる数式フィールドという機能を提供しています。
ここでは成績集計アプリを例に数式フィールドの使い方を解説します。

1

導入前
数値を手動で計算してから入力→kintone 標準の計算フィールドでは偏差値などの複雑な計算はできない→1 レコードごとに計算して面倒、時間がかかる偏差値など、レコード（生徒数）が増えるたびにすべてのレコードで再計算が必要なケースがある→計算ミスが起こる可能性がある

2

導入後設定した数式で自動計算→Excel 関数で複雑な計算にも対応→計算時間の短縮→計算ミスの防止

3

数式フィールドの設定方法
数式フィールド機能を使用すると、あらかじめ設定した計算式を画面表示時に自動的に計算してくれます。計算にかかる手間を省き、効率化を図れます。

完成イメージ
5 教科テストの合計点、平均点、偏差値を自動計算する数式フィールドを追加します。

準備
本資料で作成したアプリは以下に公開しています。このテンプレートを適用することでお客様のkintone 環境で動作を確認することができます。
⚫

テンプレートのダウンロード

https://download.krew.mescius.jp/template/krewsheet_formulaguide_template.zip
テンプレートの適用方法については、以下のナレッジベース情報をご参照ください。
⚫

利用例のテンプレート読み込み手順

https://krew.zendesk.com/hc/ja/articles/115013564027

4

1.数式フィールドを配置
画面左側のフィールドエリアから「数式」をシートエリアにドラッグして 3 つ配置します。

2.合計の数式フィールドを設定
5 教科の合計を計算する数式フィールドの設定を行います。数式には「 SUM(国語,数学,英語,理科,社会) 」を入力します。

5

数式で列名を含めた場合、数式の計算に使われる値はそれぞれのレコードごとの列の値になります。本
資料での合計の例ですと、レコードごと（生徒ごと）に横方向の値を集計しています。
一方、関数の挿入ダイアログで[範囲指定用列名を表示]にチェックした場合、「列名_Array」という範囲指定用の列名が表示されます。こちらは、列全体（縦方向の集計）の計算を行う場合に使用します。

関連情報
数式フィールドで使用できる関数の一覧や使い方について、製品ヘルプやよくある質問＆Tips に情報を公開しています。関連する情報として、以下の情報もあわせてご参照ください。
⚫

関数の一覧

https://docs.krew.mescius.jp/krewsheet/#formulafunctions.html⚫

特定のセル範囲を数式で参照することができますか？

https://krew.zendesk.com/hc/ja/articles/115015400687⚫

セルに表示される「###」は何を意味していますか？

https://krew.zendesk.com/hc/ja/articles/115015440648

6

3.平均の数式フィールドを設定
合計と同様の手順で、5 教科の平均を計算する数式フィールドの設定を行います。数式には「 AVERAGE(国語,数学,英語,理科,社会) 」を入力します。

4.偏差値の数式フィールドを設定
各生徒の偏差値を計算する数式フィールドの設定を行います。
「（個人の点数－クラスの平均点）×10÷
標準偏差＋50」といった数式で偏差値を計算しますが、青字部分は合計列の全レコードの値が必要になります。列全体の値を参照するには、「列名_Array」という範囲指定用の列名を使用します。

7

合計や平均と同様に、関数の挿入ダイアログを表示します。

偏差値を計算する数式には、「(合計-AVERAGE(合計_Array))*10/(STDEVP(合計_Array))+50」を入力します。
「列名_Array」という範囲指定用の列名は関数の挿入ダイアログで[範囲指定用列名を表示]にチェックすることで表示されます。

8

以上で合計、平均、偏差値を計算する数式フィールドを計算する数式フィールドが完成しました。

数式フィールドの注意点
数式フィールドを使用する上で知っておくべき注意点があります。
⚫

ページングが有効の場合、画面に表示されていないページの値は計算の対象外となります。

⚫

SUM(国語:社会)のような範囲指定も可能ですが、実行時に列移動した場合に期待した計算結果が得られなくなります。SUM(国語,数学,英語,理科,社会)のようにカンマで列を指定することで、列の順番に依存せずに計算されます。

⚫

ソートおよびフィルタリングを適用することはできません。

9

外観設定
数式フィールドの設定が完了しましたので、次に krewSheet の体裁を整えるため、ヘッダのテキストや書式を設定します。

列ヘッダのテキスト[ホーム]タブの [列ヘッダ]をクリックしてテキストを変更します。

書式設定[書式]をクリックして平均と偏差値列の書式を小数点以下 1 桁の数値書式にします。

以上で krewSheet の設定は完了です。[アプリを更新]をクリックしてこれまでの設定内容を反映させます。

10

実行例
krewSheet の画面を表示することで数式が計算されていることが確認できますが、値を変更して数式が即座に再計算されるか確認します。
長岡 文音の社会の点数を 46 から 100 に変更することで変更した生徒の合計や平均が自動的に再計算されるのはもちろん、全体の平均点が変わることにより他の生徒の偏差値も自動的に再計算されることが確認できます。

11

Tips 応用テクニック
1.数式フィールドの保存
数式は krewSheet 専用フィールドのため、通常は参照のみですが、kintone のフィールドに保存することも可能です。

数式設定画面で保存先のフィールドを指定する

数式を kintone フィールドに保存することで、数式の計算結果を二次利用することが可能になります。

2.非表示列に対する数式の計算
数式で参照するフィールドは krewSheet の一覧に表示されている必要があります。例えば、以下は生年月日から現在の年齢を計算する数式を設定しています。

生年月日は数式のみで使用し、一覧上に表示したくないという場合は、列設定から列幅を 0 にする方法が考えられます。
12

以下のように幅を 0 に設定した列が非表示になります。

13

数式フィールドの活用例
社員情報管理年齢や勤続年数などは動的にデータが変化するため、kintone に保存しない方が良い場合もあります。
DATEDIF 関数と TODAY 関数を使用することで、現在の年齢や勤続年数を計算し、一覧に表示させることができます。

注文管理
CEILING 関数を使用することで、商品の必要数（注文数）とその商品の梱包単位から不足が出ないように注文するケースの数を求めることができます。

14

時給計算
アルバイトの時給が土日とそれ以外で異なる場合でも、IF 関数を使用してアルバイト料を求めることができます。

契約管理
契約満了日を前回登録した日から変更したタイミングで通知を送ることができます。

この利用方法は kintone 標準機能と krewSheet の機能特性を活用して実現しています。
kintone 標準機能でできること
・前回登録した契約満了日の保存（計算フィールドで契約満了日を参照）
・データが確定したら指定の条件で通知を送る（レコードの条件通知で設定）※kintone の標準機能では契約満了日を変更した場合、前回登録日と今回登録日の差分をとることができません。
（計算フィールドはデータを確定したタイミングで反映されるため）
krewSheet 使うと数式は、データ入力時に動的に計算されるので、データ確定前に前回登録日と今回登録日を比較して変更フラグを立てることができます。その数式結果（フラグ）を kintone へ保存することにより、その結果を元に通知を送ることが可能になります。
設定の詳細
前回設定契約満了日：kintone 計算フィールド15

変更有無：krewSheet 数式
変更ステータス：krewSheet 数式の保存先

レコードの条件通知：

実行時の動作① データ変更時（契約満了日を変更）
16

→数式により今回登録日と前回登録日を比較して差異があるのでフラグを立てる（変更有無＝１）② データ保存

契約満了日を前回設定契約満了日に登録（kintone 計算フィールドの機能）変更有無を変更ステータスに保存（krewSheet の数式保存機能）
変更ステータスが変更されたことにより通知を送信（kintone レコードの条件通知）

2023 年 11 月 1 日版

17