勤怠管理アプリから社員ごとの残業時間を計算します。
今回の設定で、必要なkintoneアプリは以下2つのアプリです。
1.勤怠管理アプリ、残業時間算出アプリそれぞれに年月コードのようなキーとなる「対象月」フィールドを用意します。
設定することで、アプリ間で同月のレコードを集計することができます。
2.「業務時間」、「残業時間」を出すため、勤怠管理アプリ側に計算フィールドを設定します。
「業務時間」では、休憩の1時間である3600秒を引きます。
業務時間
(退社時刻-出社時刻)-3600
「残業時間」では、業務時間から通常勤務時間(今回は例として8時間)である28800秒を引きます。
残業時間
業務時間-28800
3.残業時間を集計するアプリの「フィールド式」をクリックします。
3-1.「アプリ」で勤怠を管理するアプリを選択します。
点線内の行をクリックすると、フィールドを参照することができます。
3-2.計算した値を反映させたいフィールドに式を設定します。
まずはSUMIFSを使い、
①勤怠管理アプリの「作成者」と残業時間算出アプリの「ユーザー選択」が一致し
②勤怠管理アプリと残業時間算出アプリの「対象月」も一致したときに
③勤怠管理アプリの「残業時間」を合計する
という式を設定します。
残業時間合計
= SUMIFS(勤怠管理!残業時間,勤怠管理!作成者,ユーザー選択,勤怠管理!対象月,対象月)
SUMIFS(合計範囲, 範囲1, 検索条件1, [範囲2, 検索条件2, ...])
・合計範囲 - 指定した検索条件を満たした時に合計する範囲です。
・範囲1 - 検索条件1に対して検証する範囲です。
・検索条件1 - 数値や文字列で指定します。
・範囲2, 検索条件2,... - [省略可]検証対象となる追加の範囲と検索条件です。
4.残業代を計算するために、3で算出した残業時間合計を"数値"として、「最終残業時間(数値)」に登録する式を設定します。
こちらの関数で、(時間):(分)を数値として書き出せます。
最終残業時間(数値)
=HOUR(残業時間合計)+ROUND(MINUTE(残業時間合計)/60,2)
HOUR(時間または日時)
・時間または日時 - 「(時間):(分)」または「(西暦年)-(月)-(日) (時間):(分)」の形式の文字列
ROUND(値, 桁数)
・値 - 四捨五入したい値
・桁数 - 四捨五入した結果の小数点以下の桁数を指定します。
5.4で数値として算出した最終残業時間を、■■時間▲▲分という形式で「最終残業時間(文字列)」に登録する式を設定します。
最終残業時間(文字列)
= HOUR(残業時間合計)&"時間"&MINUTE(残業時間合計)&"分"
HOUR(時間または日時)
・時間または日時 - 「(時間):(分)」または「(西暦年)-(月)-(日) (時間):(分)」の形式の文字列
MINUTE(時間または日時)
・時間または日時 - 「(時間):(分)」または「(西暦年)-(月)-(日) (時間):(分)」の形式の文字列
6.「DataCollectする」を押すと、設定したフィールドに計算された値が反映されます。
7.(任意)残業時間算出アプリで計算式を設定することで、残業代を計算することもできます。
今回は最終残業時間(数値)に時給(¥900)を掛けることで計算しました。