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函数替代。
¹ 只要整个工作手册中的任何内容发生变化,挥发性函数就会重新计算,而不仅仅是当影响结果的内容发生变化时。 易失性函数的例子是间接 , 偏移 , 今天 , 现在 , 兰德和兰德维恩 。 CELL和INFO工作表函数的一些子函数也会使它们变得不稳定。
它不工作,因为ADDRESS()
返回一个string和OFFSET()
需要一个引用,但有一个更简单的方法:
=OFFSET(A1, MATCH(MAX(B1:B18), B1:B18, 0) - 1, 0)