如何实现BYROW公式动态引用最后行与列并仅计算A列有值的行?
Excel动态统计非空单元格解决方案
直接在B2单元格输入以下公式即可实现需求:
=BYROW(FILTER(C3:INDEX(C:C,MATCH("*",A:A,-1)),A3:INDEX(A:A,MATCH("*",A:A,-1))<>""),LAMBDA(x,COUNTA(x)))
公式说明:
MATCH("*",A:A,-1):定位A列最后一个非空单元格的行号,实现行范围的动态适配INDEX(C:C,行号):结合上述行号,动态锁定C列及以后的有效数据范围,避免引用空行FILTER(...):仅保留A列对应行有值的行数据,直接过滤掉A列无值的行,解决空行返回0的问题BYROW(...,LAMBDA(x,COUNTA(x))):遍历每一行有效数据,用COUNTA高效统计该行C列及以后的非空单元格数量
优化说明:
原公式使用COUNTIFS(x,">""")统计非空,替换为COUNTA(x)更简洁直接,效果完全一致。
内容的提问来源于stack exchange,提问作者DanCue
相关产品推荐
相关产品推荐

