Excel:通过公式检索行号,获取特定行中的最大值

Excel:通过公式检索行号,获取特定行中的最大值

我想要获取另一个工作表中指定行中的最大值,其中行号是通过公式检索的。

我可以通过以下公式从名为“Kur”的表中调用所需的行号:

 =MATCH(B2,Kur!$A$1:$A$35,0). 

这个特定公式给出了数字 23,但当 B2 改变时,这个数字当然会改变。所以公式

 =MATCH(B2,Kur!$A$1:$A$35,0)

给我我想要的行号。

 =MAX(Kur!23:23)

工作正常,并给出了名为“Kur”的工作表中第 23 行的最大值。但我不知道如何将两者结合起来并使用公式的结果

 MATCH(B2,Kur!$A$1:$A$35,0)

作为 MAX 函数的参数。我尝试过:

=MAX(Kur!MATCH(B2,Kur!$A$1:$A$35,0):MATCH(B2,Kur!$A$1:$A$35,0)) 
=MAX(Kur!MATCH(B2,Kur!$A$1:$A$35,0)&”:”&MATCH(B2,Kur!$A$1:$A$35,0))
=MAX(Kur!&MATCH(B2,Kur!$A$1:$A$35,0)&":"&MATCH(B2,Kur!$A$1:$A$35,0))

但没有成功。非常感谢您的帮助。

答案1

最明显的方法是将地址重建为文本,然后使用 INDIRECT 函数将文本引用转换为实际引用,即:

=MAX(INDIRECT("Kur!" & MATCH(B2,Kur!$A$1:$A$35,0) & ":" & MATCH(B2,Kur!$A$1:$A$35,0)))

不幸的是,间接引用是不稳定的,这意味着它们会一直重新计算,从而减慢您的工作簿速度。另一种非易失性方法是使用 INDEX:

=MAX(INDEX(Kur!1:10000, MATCH(B2,Kur!$A$1:$A$35,0), 1):INDEX(Kur!1:10000, MATCH(B2,Kur!$A$1:$A$35,0), 256)

其中 10000 和 256 是行数和列数的随机大数,但可以根据需要进行调整,或者使用 COUNTA 和另一个 INDEX 函数使其更加通用,以仅引用现有数据。

相关内容