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

Google Sheets中文本格式排班时间的员工高峰时段统计问题

解决Google Sheets中文本格式排班数据的时段统计问题

步骤1:将文本格式的排班时间转换为可计算的时间值

假设排班开始时间存储在A列(文本格式,如"08:30"或"23:15"),先把文本转成Google Sheets可识别的时间值:

  • 如果文本是标准HH:MM格式,直接使用:
    =TIMEVALUE(A2)
    
  • 如果文本包含额外字符(如日期、备注),用正则提取时间部分:
    =TIMEVALUE(REGEXEXTRACT(A2, "\d{2}:\d{2}"))
    

步骤2:用简洁公式匹配预设时段分组

替换原嵌套IF公式,改用LOOKUP实现高效分组匹配(直接处理时间值):

=LOOKUP(TIMEVALUE(A2), 
  {0, 9/24, 11/24, 13/24, 15/24, 18/24, 22/24},
  {"22:00 to 09:00", "09:00 to 11:00", "11:00 to 13:00", "13:00 to 15:00", "15:00 to 18:00", "18:00 to 22:00", "22:00 to 09:00"})
  • 原理:Google Sheets中时间以0-1的小数表示(如09:00=9/24=0.375),LOOKUP会匹配小于等于目标值的最大区间键,自动归类到对应时段。

步骤3:批量处理4000条数据

用ARRAYFORMULA一次性处理整列,无需手动下拉公式:

=ARRAYFORMULA(IF(A2:A="", "", 
  LOOKUP(TIMEVALUE(A2:A), 
    {0, 9/24, 11/24, 13/24, 15/24, 18/24, 22/24},
    {"22:00 to 09:00", "09:00 to 11:00", "11:00 to 13:00", "13:00 to 15:00", "15:00 to 18:00", "18:00 to 22:00", "22:00 to 09:00"})))

将公式输入到B2单元格,自动填充所有A列的分组结果。

步骤4:统计最常见的在岗时段

  • 直接获取出现次数最多的时段:
    =MODE(B2:B)
    
  • 生成完整的时段次数统计(按次数降序):
    =QUERY(B2:B, "SELECT B, COUNT(B) WHERE B != '' GROUP BY B ORDER BY COUNT(B) DESC", 0)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 20:15:50