首页 > 解决方案 > 使用 DURATION 时如何在谷歌表格中设置嵌套 IFS

问题描述

我被要求为具有以下要求的帐单部门设置 Google 表格

输入

这些将使用 TIME 格式化

请求是通过自动应用这些规则来获取持续时间输出(结束时间-开始时间)并制作“计费时间”

  1. 如果 Duration 小于 60 分钟,则将 Billable Time 设置为 60 分钟
  2. 如果 Duration 大于 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"))

标签: timegoogle-sheetsgoogle-sheets-formula

解决方案


=IF(C2-B2<=0.04166666667, 0.04166666667,
 IF(C2-B2<=0.0625, 0.0625,
 IF(C2-B2>0.0625, CEILING(C2-B2, 0.01041666667))))

注意:所有 3 个单元格格式为TIME

_________________________________________________________

=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"))))

注意:所有 3 个单元格格式为AUTOMATIC


推荐阅读