如何在Excel的列中搜索以前的非空单元格?

问题描述 投票:0回答:2

我非常感谢帮助找到一个Excel公式,该公式将搜索列中的上一个(不是last)非空单元格,然后添加1。分开。

ColA
1 
2

3

4
5
6


7
8

我更喜欢公式,但是我对VBA开放。任何建议将不胜感激。谢谢!

excel search excel-formula
2个回答
0
投票
假定A列中的值可以排序或不排序。

Previous

前一列+ 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”值。

Sheet


0
投票
您可能要考虑此公式,将其输入到单元格A3中并从那里向下复制。

=LOOKUP(2,1/(ISNUMBER(A$1:A2)),A$1:A2)+1

此公式的优点也是它的缺点:它允许数字和文本混合在其上方,将找到最后一个数字并将其加1。但是,如果没有数字,它将抛出一个错误,该错误很容易用IFERROR()捕获,但这会使公式变得笨拙。因此,我建议在第3行中输入它,然后在A2中输入一个起始号码。

@@ BigBen对MAX()函数的建议是我以前在遇到类似要求时所使用的,但是LOOKUP()在某些情况下可能会表现更好。

© www.soinside.com 2019 - 2024. All rights reserved.