如何获取对 Excel 数组中最后一次出现的值的引用?

Dan*_*nor 7 worksheet-function microsoft-excel

因此,如果

A1:A5 = {3, 3, 4, 4, 5}

我可以在 B1 中放入什么函数来获取对 A4(包含最后一次出现的 4 的单元格)的引用?

e.J*_*mes 5

我假设 A1:A5 按升序排序。如果是这种情况,您可以使用以下公式:

=ADDRESS(ROW(A1)-1+MATCH(4,A1:A5,1),COLUMN(A1))
Run Code Online (Sandbox Code Playgroud)

这将产生 $A$4 的输出。

这是它的工作原理:

MATCH(4,A1:A5,1)查找 <= 4 的最大值的索引,假设 A1:A5 按升序排序。这真正意味着它找到第一个大于4 的值,并简单地返回该索引之前的索引。

ADDRESS(row,col)将行号和列号转换为单元格引用。对于列号,我只是使用了列表的列:COLUMN(A1)。对于行号,我使用从MATCH函数返回的索引作为距列表开头的偏移量 ( ROW(A1)-1)。您可以省略ROW(A1)-1,在这种情况下它仍然可以工作,但是一旦您的列表从第 1 行以外的其他地方开始,它就会失败。

请注意,要在其他地方使用此参考值,您需要使用:INDIRECT(B1)


The*_*aul 0

这里有一个解释(搜索“F94”),但请注意,它并不漂亮!