残業時間を計算する

勤怠管理アプリから社員ごとの残業時間を計算します。

今回の設定で、必要なkintoneアプリは以下2つのアプリです。

残業時間算出アプリ
補足
情報を収集する「集計元アプリ」、収集・計算した情報を格納する「集計先アプリ」ともにデータコレクトに登録する必要があります。
登録方法はデータコレクトのはじめ方の6、7をご確認ください。

1.勤怠管理アプリ、残業時間算出アプリそれぞれに年月コードのようなキーとなる「対象月」フィールドを用意します。
設定することで、アプリ間で同月のレコードを集計することができます。

補足
DATE_FORMAT(日付, "YYYY年MM月", "Asia/Tokyo")

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する」を押すと、設定したフィールドに計算された値が反映されます。

補足
「DataCollectする」のボタンが表示されていない場合は、データコレクトのはじめ方の8を参考にkintoneアプリにJavaScriptを設定してください。

7.(任意)残業時間算出アプリで計算式を設定することで、残業代を計算することもできます。
今回は最終残業時間(数値)に時給(¥900)を掛けることで計算しました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です