Excel技术需求:指定区域连续非空单元格≥14时H4返回YES
解决Excel中连续非空单元格的判断需求
针对你需要在H4单元格判断L4:NL4区域是否存在14个及以上连续非空单元格,并返回"YES"的需求,提供两种可行方案:
方案1:兼容多数Excel版本的公式
使用TEXTJOIN结合SEARCH实现,适用于包括旧版在内的大部分Excel版本:
=IF(ISNUMBER(SEARCH(REPT("x",14),TEXTJOIN("x",TRUE,L4:NL4))),"YES","")
公式说明:
TEXTJOIN("x",TRUE,L4:NL4):将区域内所有非空单元格用字符"x"连接,空单元格会被自动忽略,这样连续的非空单元格就会转化为连续的"x"字符串REPT("x",14):生成一段包含14个连续"x"的字符串,作为匹配目标SEARCH函数会查找目标字符串是否存在于连接后的结果中,存在则返回匹配位置(数字),不存在则返回错误值ISNUMBER判断SEARCH的结果是否为数字,若是则说明存在连续14个非空单元格,返回"YES",否则返回空值
方案2:适用于Excel 365/2021的动态数组公式
利用SCAN函数直接统计连续非空单元格的最大值,写法更直观:
=IF(MAX(SCAN(0,L4:NL4,LAMBDA(a,b,IF(b<>"",a+1,0))))>=14,"YES","")
公式说明:
SCAN函数遍历L4:NL4区域,每遇到非空单元格就将累计计数加1,遇到空单元格则重置计数为0,最终生成一个记录每位置连续非空数的数组MAX提取数组中的最大值,判断该值是否大于等于14,满足条件则返回"YES",否则返回空值
注意事项:
- 如果区域内存在看起来是空但实际包含空格的单元格,需要将公式中的
b<>""替换为TRIM(b)<>"",避免误判这类伪空单元格 - 确认区域范围
L4:NL4的准确性,避免因范围错误导致结果偏差
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

