我非常感谢帮助找到一个Excel公式,该公式将搜索列中的上一个(不是last)非空单元格,然后添加1。分开。
ColA
1
2
3
4
5
6
7
8
我更喜欢公式,但是我对VBA开放。任何建议将不胜感激。谢谢!
前一列+ 1 =上一非空单元格值+ 1
=IF(ROW(B3)=MIN(ROW($B$3:$B$14)),B3,OFFSET($B$2,MAX(IF(ISBLANK(B2:B$3)=TRUE,0,ROW(B2:B$3)))-ROW($B$2),0)+1)
注意:对于第一行(没有上一个单元格),将设置该单元格的默认值。即使对于空白单元格(可修改),也会计算所有“ previous + 1”值。
=LOOKUP(2,1/(ISNUMBER(A$1:A2)),A$1:A2)+1
此公式的优点也是它的缺点:它允许数字和文本混合在其上方,将找到最后一个数字并将其加1。但是,如果没有数字,它将抛出一个错误,该错误很容易用IFERROR()捕获,但这会使公式变得笨拙。因此,我建议在第3行中输入它,然后在A2中输入一个起始号码。@@ BigBen对MAX()函数的建议是我以前在遇到类似要求时所使用的,但是LOOKUP()在某些情况下可能会表现更好。