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

求Google Sheets函数:从指定单元格向右计数空白单元格至首个非空单元格

Google Sheets 单单元格统计起始位置后连续空闲时段数量

需求实现方案

基于你已有的起始单元格定位逻辑,以下单单元格函数可直接实现:从目标起始单元格向右统计连续空白单元格(空闲)的数量,直至遇到首个非空单元格(忙碌):

=IFERROR(
  MATCH(TRUE, INDEX(INDIRECT(REGEXREPLACE(ADDRESS(1, MATCH(FLOOR($B$1,"0:10"), D$1:CX$1, 0)+3, 4), "[1]", TEXT(ROW(), "0")) & ":CX" & ROW())<>"", 0) - 1,
  COLUMNS(D:CX) - MATCH(FLOOR($B$1,"0:10"), D$1:CX$1, 0) - 2
)

函数拆解说明

  1. 保留原有定位逻辑:
    原函数REGEXREPLACE(ADDRESS(1,MATCH(FLOOR($B$1,"0:10"),D$1:CX$1,0)+3,4),"[1]",TEXT(ROW(),"0"))负责生成当前行的起始空闲单元格地址(如D5)。
  2. 转换为可引用范围:
    用INDIRECT将生成的地址转为可读取的单元格,再扩展为从该单元格到当前行CX列的范围(INDIRECT(...)&":CX"&ROW()),覆盖后续所有时段列。
  3. 定位首个忙碌单元格:
    INDEX(...)<>""生成布尔数组标记非空(忙碌)单元格,MATCH(TRUE,...0)找到第一个忙碌单元格的相对位置,减1即为连续空闲的时段数。
  4. 处理全空闲情况:
    IFERROR捕获"从起始位置到最后全为空闲"的场景,用COLUMNS(D:CX)-MATCH(...)计算剩余所有空闲时段的总数。

使用注意事项

  • 替换D$1:CX$1为你实际的时间表头列范围;
  • $B$1为你设置的时间输入单元格,保持绝对引用确保函数在各行复用;
  • 将函数直接粘贴到对应人员行的统计单元格即可,无需额外辅助列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 04:12:09