使用DURATION时如何在Google表格中设置嵌套IFS

时间:2019-02-04 19:48:07

标签: time google-sheets google-sheets-formula

我被要求为计费部门设置一个Google表格,其要求如下:

输入

  • 开始时间
  • 结束时间

这些将使用TIME格式化

请求将获取持续时间输出(结束时间-开始时间)并通过自动应用这些规则来设置“可结算时间”

  1. 如果持续时间少于60分钟,则将“计费时间”设置为60分钟
  2. 如果“持续时间”大于60分钟但小于90分钟,则将“计费时间”设置为90分钟
  3. 如果“持续时间”超过90分钟,则将“计费时间”设置为最近的四分之一小时(15分钟),四舍五入。

我当前的公式是:=IF(AND(TIME(1,0,0)>=(C2-B2),TIME(1,0,0),IF(AND(TIME(1,30,0)>=(C2-B2),TIME(1,30,0),IF(AND(TIME(1,30,0)>(C2-B2),CEILING(C2-B2,TIME(0,15,0))))))))

其中B2是开始时间,C2是结束时间

但是我得到了错误

  

错误   IF参数个数错误。预期介于2到3个参数之间,但有1个参数。

我在此公式上取得了一些成功,但是我似乎无法获得有效的时间值

=IFS(value(C2-B2)=0," ",value(C2-B2)<=60,"60",value(C2-B2)<=90,"90",value(C2-B2)>90,ceiling(C2-B2,"00:15"))

1 个答案:

答案 0 :(得分:1)

Pulling firefly_iii_db (postgres:10)...

注释:所有3个单元格的格式均设置为 =IF(C2-B2<=0.04166666667, 0.04166666667, IF(C2-B2<=0.0625, 0.0625, IF(C2-B2>0.0625, CEILING(C2-B2, 0.01041666667))))

_______________________________________________________________

TIME

注释:所有3个单元格的格式均设置为 =IF(C2-B2<=0.04166666667, TEXT(0.04166666667, "hh:mm"), IF(C2-B2<=0.0625, TEXT(0.0625, "hh:mm"), IF(C2-B2>0.0625, TEXT(CEILING(C2-B2, 0.01041666667), "hh:mm"))))