如何获得excel列表中第一个(第二,…)非空元素的行号?

这个问题与这个问题有关 ,但是我想要有相应元素的行号的某个元素。

在Excel表格(Office Professional Plus 2016)中,除了包含一些文本的单元格A4,A5,A7和A9之外,我有一个空的“A”列。 我现在想填充列B的这些列的行数不是空的行号。 所以B1应该包含值“4”,B2应该包含值“5”,B3应该包含值“7”等等…

由于花了很长时间等待答案,我试了自己,我认为正确的答案如下:

=IFERROR(ROW(INDEX($A$1:$A$9,SMALL(INDEX(NOT(ISBLANK($A$1:$A$9))*ROW($A$1:$A$9),0),COUNTBLANK($A$1:$A$9)+ROW(A1)))),"") 

这里有另一个公式来获得非空白单元格的行号。

 =IFERROR(SMALL(IF($A1:$A9<>"",ROW($A1:$A9)),ROW(1:1)),"") 

这也是一个数组公式,所以需要按Ctrl + Shift + Enter来提交。