2017-05-31 116 views
0
=LOOKUP(9.999999999999E+307,IF(AB4:AB997>0,AB4:AB997,IF(AB4:AB997="",AQ5,AB4:AB997))) 

出的值的范围的,上述公式发现的最后一个值,其是大于0 如果它在该范围内空白然后它等于AQ5返回行nubber大于0

由此看来,我需要找到该范围内该值的行号(不是片材)在列

例如值为:11,222,33,44,555

555是最大的,我需要返回行号5,即使此数据在行200,350,400,444,1000

我需要为此添加什么?

+0

Ar你确定你想要返回行号?你的例子似乎意味着你期望的是列号。 –

+0

是的,如果还有更好的方法可以返回最后一个值(不是0)的行号在欢迎范围内。 – Aurelius

回答

1

这将范围C5返回行号最后一个值:C99不是 (或空)

=SUMPRODUCT(MAX((ROW(C5:C99))*(C5:C99<>0))) 

这是假设没有什么低于C99

enter image description here

一旦你的行号,内容可以用INDEX()

编辑#1检索:

要获得相对行号:

=SUMPRODUCT(MAX((ROW(C5:C99))*(C5:C99<>0)))-ROW(C5:C99)+1 
+0

有没有办法使它返回不是整个工作表的行号,只是行号超出范围?因此,在你的例子中,输出将是8 – Aurelius

+0

@Aurelius请参阅**编辑#1 ** –

+0

现在你让我困惑了我Aurelius。你想让加里的例子返回8还是5?在你的OP中,你说它应该是排位单元格中的排名。现在你说,它应该是在单元格范围内的排名...... – MacroMarc