Excel中的OFFSET()函数中的ADDRESS()

我有以下函数返回最大列值的位置:

=ADDRESS(MATCH(MAX(B1:B18),B1:B18,0),1) 

当我添加OFFSET的function,以获得在另一列的相应值它不起作用!

 =OFFSET(ADDRESS(MATCH(MAX(B1:B18),B1:B18,0),1),1,0) 

任何其他方式来做到这一点?

我有两个colomns:

 Time (hours) Cp (ug/L) 0 0 0.1 26.282 0.25 46.532 0.5 57.046 0.75 57.411 1 55.028 

我想在Cp colomn中find最大值并返回最大值的时间。 在这个例子中,最大值是57.411,时间是0.75,字段应该返回0.75

尝试非易失性解决scheme。

 =INDEX(A1:A18, MATCH(MAX(B1:B18), B1:B18, 0)) 'or, =INDEX(A:A, MATCH(MAX(B:B),B:B, 0)) 

fwiw,我还没有发现很多情况下volatile的OFFSET函数不能用非易失性的INDEX函数替代。

index_offset


¹ 只要整个工作手册中的任何内容发生变化,挥发性函数就会重新计算,而不仅仅是当影响结果的内容发生变化时。 易失性函数的例子是间接 , 偏移 , 今天 , 现在 , 兰德和兰德维恩 。 CELL和INFO工作表函数的一些子函数也会使它们变得不稳定。

它不工作,因为ADDRESS()返回一个string和OFFSET()需要一个引用,但有一个更简单的方法:

 =OFFSET(A1, MATCH(MAX(B1:B18), B1:B18, 0) - 1, 0)