Excel 2021求调整计数公式:将空白行计数结果下移对应行
解决方案
方法1:使用XLOOKUP(Excel 2021支持)
直接在B列输入以下公式(替换行范围为你的实际数据范围),下拉填充即可:
=IF(ISNUMBER(A1),XLOOKUP(TRUE,ISNUMBER($A$4:A1-1),IF($A$4:$A$1872<>"",MATCH(TRUE,INDEX(ISNUMBER($A$5:$A$1873),,),0),""),,,-1),"")
逻辑说明:
IF(ISNUMBER(A1), ... , ""):仅在A列有数字(1)的行显示结果,其余行留空XLOOKUP(TRUE, ISNUMBER($A$4:A1-1), ... , , , -1):从当前行向上查找上一个有数字的行- 嵌套的原公式部分:计算每个有数字的行到下一个数字行的间隔行数
方法2:使用辅助列(更易理解维护)
- 添加辅助列(如D列),在D4输入你的原公式并下拉:
=IF(A4="","",MATCH(TRUE,INDEX(ISNUMBER(A5:A1872),,),0))
- 在B4输入以下公式并下拉:
=IF(ISNUMBER(A1),XLOOKUP(TRUE,ISNUMBER($A$4:A1-1),$D$4:$D$1872,,,-1),"")
方法3:无XLOOKUP兼容方案
如果需要兼容无XLOOKUP的版本,可使用INDEX+SUMPRODUCT组合(需先在D列计算原公式结果):
=IF(ISNUMBER(A1),IFERROR(INDEX($D$4:$D$1872,SUMPRODUCT(MAX(($A$4:A1<>"")*(ROW($A$4:A1)<ROW(A1))*ROW($A$4:A1)))-ROW($A$4)+1),""),"")
内容的提问来源于stack exchange,提问作者Ingram
相关产品推荐
相关产品推荐

