time - 使用 DURATION 时如何在谷歌表格中设置嵌套 IFS
问题描述
我被要求为具有以下要求的帐单部门设置 Google 表格
输入
- 开始时间
- 时间结束
这些将使用 TIME 格式化
请求是通过自动应用这些规则来获取持续时间输出(结束时间-开始时间)并制作“计费时间”
- 如果 Duration 小于 60 分钟,则将 Billable Time 设置为 60 分钟
- 如果 Duration 大于 60 分钟但小于 90 分钟,则将计费时间设置为 90 分钟
- 如果持续时间超过 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"))
解决方案
=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
推荐阅读
- jestjs - 使用 Jest 创建的部分模块模拟函数未被被测函数调用
- node.js - 如何实现对mongodb中重复数据的分页?
- c# - 如何在请求中显示所有语言?
- ruby-on-rails - webpacker 在生产中的所有文件都是未定义的
- cython - 如何使用 c++ std::merge 合并 cython 中的两个排序向量?
- java - Spring boot 2.0.5.RELEASE 和 mongo 4.0 连接问题
- swift - 模型 I/O – 如何使用 `makeVerticesUniqueAndReturnError()` 实例方法?
- objective-c - 显示可滚动项 Objective-C
- javascript - 调用 XMLHttpRequest 时控制台中的不同响应
- python - 如何在python中对二维列表中的所有邻居求和