Google Sheets QUERY函数求每日起止时间差问题求助
Google Sheets QUERY公式调试方案
你的需求是按日期统计最早开始时间、最晚结束时间,并计算两者的小时差,原公式存在两处关键问题,修正后的可用公式如下:
=QUERY('Alt data'!A2:H;"SELECT C, min(D), max(E), (max(E)-min(D))*24 WHERE H is not null AND C >= date '"&TEXT(B19;"YYYY-MM-DD")&"' AND C <= date '"&TEXT(C19;"YYYY-MM-DD")&"' AND B = '"&C32&"' GROUP BY C ORDER BY C desc LABEL C 'Dato', min(D) '最早开始时间', max(E) '最晚结束时间', (max(E)-min(D))*24 'Hours'";0)
修改说明:
- 小时差计算修正:原公式
max(E)-min(D)得到的是天数差值,乘以24才能转换为小时数,匹配你的需求。 - 字段与标签优化:调整
min(D)和max(E)的顺序使逻辑更连贯,同时给这两个字段补充明确标签,方便识别;将多个LABEL语句合并为一行,语法更简洁规范。 - 排版细节调整:统一
WHERE子句的AND排版,避免冗余换行引发的潜在语法问题。
额外注意事项:
- 确保C列是日期格式,D、E列是时间/日期时间格式,否则QUERY无法正确计算时间差值。
- 确认B19、C19为日期单元格,C32为文本类型的匹配值,避免因格式不匹配导致筛选失效。
内容的提问来源于stack exchange,提问作者Morten
相关产品推荐
相关产品推荐

