google-sheets - Google 表格:以 HH:MM 格式查询数据
问题描述
我应该使用哪个查询来计算按班次分组的总班次时间和总任务时间?
Google 表格查询不允许我对 Col2 或 Col3 求和,因为它已格式化为 HH:MM(我无法将其更改为数字,因为源数据是 HH:MM)。
解决方案
这是解决方案的基础,但我必须手动将查询列格式化为时间,如果班次在午夜分开,您必须将 1 添加到 C 列:
=ArrayFormula(query({A2:A,to_pure_number(B2:B),to_pure_number(C2:C)},"select Col1,max(Col3)-min(Col2),sum(Col3)-Sum(Col2) where Col1 is not null
group by Col1 label Col1 'Shift',max(Col3)-min(Col2) 'Total',sum(Col3)-Sum(Col2) 'Task' "))
这是处理从午夜到第二天的班次的建议。有必要将两个时间列都加 1 以获得正确的结果。这假设在每个班次中以正确的顺序输入任务,或者至少每个班次首先输入第一个任务:
=ArrayFormula(query({A2:A,to_pure_number(B2:B+(B2:B<vlookup(A2:A,{A2:A,B2:B},2,false))),
to_pure_number(C2:C+(C2:C<vlookup(A2:A,{A2:A,B2:B},2,false)))},"select Col1,max(Col3)-min(Col2),sum(Col3)-Sum(Col2) where Col1 is not null
group by Col1 label Col1 'Shift',max(Col3)-min(Col2) 'Total',sum(Col3)-Sum(Col2) 'Task' "))
推荐阅读
- react-native - react native redux toolkit 如何将数据传递给数组?
- java - 将日期和时间更改为 UTC 格式
- javascript - 用 BeautifulSoup 存储 HTML 元素以供以后使用的最佳方法是什么?
- sql - 在另一个计算的 SELECT 列中使用计算的 SELECT 列
- javascript - 猫鼬过滤器发送任何数据
- javascript - 如何用 Groovy 脚本中的当前日期替换文件名中的日期
- python - 为什么在 leetcode 上会出现列表索引超出范围错误?
- git - 从 Subversion 迁移到 Git,但在两者之间进行了转换
- c# - 我是 C# 和 Unity 的新手,需要帮助调试 Rigidbody.velocity 运动
- python - Python 解码电子邮件的消息对象,但得到 3 个“发件人”标头