在UNORDERED值范围内查找最后一个非零单元格的列引用

我有一个在Excel中连续的数字范围,说:

ABCDEFGHIJKL Line 1 => 0 0 0 3 2 8 3 6 0 0 0 0 

所有单元格都是非空白的,但有些包含零和一些包含数字。 此外,范围无法按升序或降序排列。

我需要一个公式(而不是VBA),它将返回范围中最后一个非零值的列(即上面单元格H1的第8列)。 我可以用这个公式得到单元格H1的实际值:

  LOOKUP(2,1/(A1:A10<>0),A1:A10) 

但我找不到获取该单元格的列号的方法。

有任何想法吗?

你非常接近:

 =LOOKUP(2,1/(A1:L1<>0),COLUMN(A1:L1)) 

input

 =MAX(IF(YourRange=0,0,COLUMN(YourRange))) 

作为数组公式(CTRL-SHIFT-ENTER)。

对于我来说,最好的数值解决scheme是这样的:

 =IF(D497<>0,D497,IF(D496<>0,D496,IF(D495<>0,D495,IF(D494<>0,D494,IF(D493<>0,D493,D492))))) 

它给出了最后一个非零值,对于你需要的范围,你可以通过在公式中增加更多的行。