You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Google Sheets的QUERY函数添加按时间区间赋值的新列

用QUERY函数为Google Sheets时间数据分配时段类别

假设你的时间数据在A列(A1为表头,数据从A2开始),可以使用以下QUERY函数生成对应时段的新列:

=QUERY(A:A, "SELECT A, CASE 
    WHEN TIME(A) >= TIME(6,0,0) AND TIME(A) < TIME(12,0,0) THEN '上午'
    WHEN TIME(A) >= TIME(12,0,0) AND TIME(A) < TIME(18,0,0) THEN '下午'
    WHEN TIME(A) >= TIME(18,0,0) AND TIME(A) <= TIME(23,59,59) THEN '晚上'
    ELSE '夜间' 
  END 
  WHERE A IS NOT NULL 
  LABEL CASE 
    WHEN TIME(A) >= TIME(6,0,0) AND TIME(A) < TIME(12,0,0) THEN '上午'
    WHEN TIME(A) >= TIME(12,0,0) AND TIME(A) < TIME(18,0,0) THEN '下午'
    WHEN TIME(A) >= TIME(18,0,0) AND TIME(A) <= TIME(23,59,59) THEN '晚上'
    ELSE '夜间' 
  END '时段'", 1)

公式说明

  • SELECT A:保留原始时间列数据
  • CASE WHEN ... END:核心判断逻辑,按时间区间返回对应时段:
    • 上午:时间落在6:00:00(含)到12:00:00(不含)之间
    • 下午:时间落在12:00:00(含)到18:00:00(不含)之间
    • 晚上:时间落在18:00:00(含)到23:59:59(含)之间
    • 夜间:剩余所有时间(0:00:00到5:59:59)
  • WHERE A IS NOT NULL:过滤空行,避免生成无效数据
  • LABEL ... '时段':为新生成的列设置表头名称
  • 末尾的1:表示数据源包含表头行(如果你的数据没有表头,改为0即可)

注意事项

  • 若时间数据不在A列,将公式中所有A替换为对应列标(如B列则替换为B)
  • 确保时间列的单元格格式为时间格式,如果是文本格式,需将TIME(A)替换为TIMEVALUE(A)来转换格式
  • 边界值处理:12:00:00会被归为下午,6:00:00归为上午,00:00:00归为夜间

内容的提问来源于stack exchange,提问作者Dharmesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 11:05:26