Excel中连续10个空白单元格时重置计数的公式求助
解决方案
适用于Excel 365/2021的公式
在「Strike Count」列的单元格(如B2)输入以下公式,下拉填充整列:
=LET( last_nonempty, XLOOKUP(TRUE, C2:BX2<>"", COLUMN(C2:BX2), 0, 0, -1), blank_after, COLUMN(BX2) - last_nonempty, total_strikes, COUNTA(C2:BX2), IF(OR(total_strikes=0, blank_after>=10), "30 Days Strike Free", total_strikes) )
兼容旧版Excel的公式
如果使用无XLOOKUP/LET函数的旧版Excel,输入以下数组公式后按Ctrl+Shift+Enter确认,再下拉填充:
=IF(OR(COUNTA(C2:BX2)=0, COLUMN(BX2)-MAX(IF(C2:BX2<>"", COLUMN(C2:BX2), 0))>=10), "30 Days Strike Free", COUNTA(C2:BX2))
公式逻辑说明
- 定位最后一个非空单元格:通过XLOOKUP(或MAX+IF数组组合)找到该行最后一个有内容的单元格列号
- 计算末尾连续空白数:用最后一列(BX)的列号减去最后一个非空单元格的列号,得到末尾连续空白的数量
- 判断输出规则:整行无数据,或末尾连续空白≥10时,显示"30 Days Strike Free";否则统计所有非空单元格数量作为Strike Count
内容的提问来源于stack exchange,提问作者Baily Schmeltzer
相关产品推荐
相关产品推荐

