我有以下函数返回最大列值位置:
=ADDRESS(MATCH(MAX(B1:B18),B1:B18,0),1)
当我向函数添加OFFSET以获取另一列中的相应值时,它不起作用!
=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中的最大值,并返回该最大值的时间。在此示例中,最大值为57.411,时间为0.75 ..该字段应返回0.75
答案 0 :(得分:3)
尝试非挥发性解决方案。
=INDEX(A1:A18, MATCH(MAX(B1:B18), B1:B18, 0))
'or,
=INDEX(A:A, MATCH(MAX(B:B),B:B, 0))
fwiw,我发现很多情况下,不稳定的OFFSET function不能被非挥发性INDEX function取代。
¹当整个工作簿中的任何内容发生变化时,不仅在影响其结果的某些内容发生变化时,挥发性函数都会重新计算。 易失性函数的示例包括INDIRECT,OFFSET,TODAY,NOW,RAND和RANDBETWEEN。 CELL和INFO工作表函数的某些子函数也会使它们变得不稳定。
答案 1 :(得分:2)
它不起作用,因为ADDRESS()
返回一个字符串,而OFFSET()
需要一个引用,但这是一个更简单的方法:
=OFFSET(A1, MATCH(MAX(B1:B18), B1:B18, 0) - 1, 0)
答案 2 :(得分:0)
您可以将 ADDRESS()
包裹在 INDIRECT()
中。
这会将其从文本格式转换为参考格式。