excel上OFFSET()函数中的ADDRESS()
我有以下返回最大列值位置的函数:excel上OFFSET()函数中的ADDRESS(),excel,Excel,我有以下返回最大列值位置的函数: =ADDRESS(MATCH(MAX(B1:B18),B1:B18,0),1) 当我向函数中添加偏移量以获取另一列中的相应值时,它不起作用 =OFFSET(ADDRESS(MATCH(MAX(B1:B18),B1:B18,0),1),1,0) 还有别的办法吗 我有两个列: Time (hours) Cp (ug/L) 0 0 0.1 26.282 0.25 46.532 0.5
=ADDRESS(MATCH(MAX(B1:B18),B1:B18,0),1)
当我向函数中添加偏移量以获取另一列中的相应值时,它不起作用
=OFFSET(ADDRESS(MATCH(MAX(B1:B18),B1:B18,0),1),1,0)
还有别的办法吗
我有两个列:
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列中找到最大值,并返回该最大值处的时间。在本例中,最大值为57.411,时间为0.75。。该字段应返回0.75它不起作用,因为
ADDRESS()
返回一个字符串,OFFSET()
需要一个引用,但有一个更简单的方法:
=OFFSET(A1, MATCH(MAX(B1:B18), B1:B18, 0) - 1, 0)
试试非挥发性溶液
=INDEX(A1:A18, MATCH(MAX(B1:B18), B1:B18, 0))
'or,
=INDEX(A:A, MATCH(MAX(B:B),B:B, 0))
fwiw,我还没有发现很多情况下volatileñ不能被非volatile替换
当整个工作簿中的任何内容发生更改时,而不仅仅是当影响其结果的内容发生更改时,Volatile函数都会重新计算。volatile函数的示例有、、和。和工作表函数的某些子函数也会使它们变得不稳定。您可以将
地址()
包装在间接()中
这将把它从文本格式转换为参考格式。@shnisaka-行与列混淆,请立即尝试完美!它正在工作!只需要在等式的最后一位做-1而不是0。@shnisaka-为什么-1?您正在访问[n]吗?如果是这样,就用A1替换B1。代码返回57.411。我想让它返回0.75。@shnisaka-这就是为什么我要使用A1。。。我现在编辑了答案,我同意,如果范围是预定义的,那就更好了。但在无限范围内(A:A等)它是如何工作的?对性能、记忆或其他方面有影响吗?没有明显的性能影响。函数对在的范围内截断计算。很高兴知道。谢谢