想计算深夜加班时间

文章编号:040797

在kintone中,可以在输入考勤的应用中使用计算公式,计算各个工作日的深夜加班时间(22点至次日5点)是多少小时。

设置示例

此处以在1个记录中输入1个月考勤情况的应用为例进行介绍。

准备

请准备输入考勤的应用。
要创建在1个记录中输入1个月考勤情况的应用,需要在表格中配置希望按工作日输入的字段。

请包含以下3个字段,以便计算深夜加班时间。

  • (1) 时间字段:输入上班时间的字段
  • (2) 时间字段:输入下班时间的字段
  • (3) 计算字段:计算深夜加班时间的字段

字段的配置示例

各字段的设置

  • (1) 时间字段
    此字段用于输入上班时间。

    • 字段名称:上班
    • 字段代码:上班

  • (2) 时间字段
    此字段用于输入下班时间。

    • 字段名称:下班
    • 字段代码:下班

  • (3) 计算字段
    通过该字段,计算在(1)(2)中输入的工作时间中有多少小时的深夜加班时间。

    • 字段名称:深夜加班时间
    • 字段代码:深夜加班时间
    • 计算公式:设置以下计算公式。
      参考:计算公式的说明
    IF(上班=下班,7*60*60,
      IF(AND(上班<=5*60*60, 上班<=下班, 下班<=5*60*60),下班-上班,
        IF(AND(上班<=5*60*60, 下班>=5*60*60, 下班<=22*60*60),5*60*60-上班,
          IF(AND(上班<=5*60*60, 下班>=22*60*60),(5*60*60-上班)+(下班-22*60*60),
            IF(AND(上班<=5*60*60, 下班<=上班),(5*60*60-上班)+(2*60*60)+下班,
              IF(AND(上班<=22*60*60, 下班>=22*60*60),下班-22*60*60,
                IF(AND(上班<=22*60*60, 下班<=5*60*60),2*60*60+下班,
                  IF(AND(上班<=22*60*60, 下班>=5*60*60, 下班<上班),7*60*60,
                    IF(AND(上班>=22*60*60, 下班>=上班),下班-上班,
                      IF(AND(上班>=22*60*60, 下班<=上班, 下班>=22*60*60),(24*60*60-上班)+5*60*60+(下班-22*60*60),
                        IF(AND(上班>=22*60*60, 下班<=5*60*60),(24*60*60-上班)+下班,
                          IF(AND(上班>=22*60*60, 下班>=5*60*60, 下班<=22*60*60),(24*60*60-上班)+5*60*60,0
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )

    • 显示形式:选择“小时(例:26小时3分)”

计算公式的说明

此计算公式中,使用IF函数进行编写,按上班时间和下班时间的输入模式而分支条件。
这样即使输入各种各样的上班时间、下班时间,也可以按工作日计算深夜加班时间。

该计算公式中输入的分支条件

(1) 上班时间与下班时间相同时(工作24小时)

  • 条件表达式:上班=下班
  • 计算公式:7*60*60

(2) 上班时间:0点~5点、下班时间:上班时间后~5点的情形

  • 条件表达式:AND(上班<=5*60*60, 上班<=下班, 下班<=5*60*60)
  • 计算公式:下班-上班

(3) 上班时间:0点~5点、下班时间:5点~22点的情形

  • 条件表达式:AND(上班<=5*60*60, 下班>=5*60*60, 下班<=22*60*60)
  • 计算公式:5*60*60-上班

(4) 上班时间:0点~5点、下班时间:22点~次日0点的情形

  • 条件表达式:AND(上班<=5*60*60, 下班>=22*60*60)
  • 计算公式:(5*60*60-上班)+(下班-22*60*60)

(5) 上班时间:0点~5点、下班时间:次日0点~上班时间前的情形

  • 条件表达式:AND(上班<=5*60*60, 下班<=上班)
  • 计算公式:(5*60*60-上班)+(2*60*60)+下班

(6) 上班时间:5点~22点、下班时间:22点~次日0点的情形

  • 条件表达式:AND(上班<=22*60*60, 下班>=22*60*60)
  • 计算公式:下班-22*60*60

(7) 上班时间:5点~22点、下班时间:次日0点~5点的情形

  • 条件表达式:AND(上班<=22*60*60, 下班<=5*60*60)
  • 计算公式:2*60*60+下班

(8) 上班时间:5点~22点、下班时间:次日5点~上班时间前的情形

  • 条件表达式:AND(上班<=22*60*60, 下班>=5*60*60, 下班<上班)
  • 计算公式:7*60*60

(9) 上班时间:22点~0点、下班时间:上班时间后的22点~0点的情形

  • 条件表达式:AND(上班>=22*60*60, 下班>=上班)
  • 计算公式:下班-上班

(10) 上班时间:22点~0点、下班时间:次日22点~0点且为上班时间前的情形

  • 条件表达式:AND(上班>=22*60*60, 下班<=上班, 下班>=22*60*60)
  • 计算公式:(24*60*60-上班)+5*60*60+(下班-22*60*60)

(11) 上班时间:22点~0点、下班时间:次日0点~5点的情形

  • 条件表达式:AND(上班>=22*60*60, 下班<=5*60*60)
  • 计算公式:(24*60*60-上班)+下班

(12) 上班时间:22点~0点、下班时间:次日5点~22点的情形

  • 条件表达式:AND(上班>=22*60*60, 下班>=5*60*60, 下班<=22*60*60)
  • 计算公式:(24*60*60-上班)+5*60*60

应用模板

可从下方下载已设置此计算公式的应用的模板。

应用模板“latenight_overtime.zip”(日语)
<a href="/k/files-zh/what_week_en.zip">

点击链接下载模板文件(zip)之后,请不要解压缩,直接导入kintone。