间接行excel地址

我有一个数值在C20:G30的表格。 我想通过MAX(LARGE($BG$26:$BT$69;1)) MAX(LARGE($BG$26:$BT$69;2))等提取前十个值。

我设法做的。 然后,我想检索这些前十个值的地址。 它的工作,如果我这样做

INDIRECT(ADDRESS(ROW(E25); COLUMN(E25))

但是如果我用单元格坐标E25replace它不会

MAX(LARGE($BG$26:$BT$69;1))

我怎么能直接做这一切工作? 很明显, INDIRECT(ADDRESS(ROW(MAX(LARGE($BG$26:$BT$69;1))); COLUMN(MAX(LARGE($BG$26:$BT$69;1))))似乎不正确,告诉我公式是错误的?让我知道如果我不清楚是否应该重新解释这个问题。 在这里输入图像说明

正如在上面的评论中所说的,你不需要MAX()包装器。 LARGE()只返回一个数字。 像这样的东西将工作:

 =LARGE($A$2:$E$21,ROW(1:1)) 

行(1:1)是一个计数器,当它被拖动时会增加,所以每个公式都不需要改变。

下面的公式将返回用上面的公式创build的列表的地址:

 =ADDRESS(AGGREGATE(15,6,ROW($A$2:$E$21)/($A$2:$E$21=G2),COUNTIF($G$2:$G2,G2)),AGGREGATE(15,6,COLUMN($A$2:$E$21)/(($A$2:$E$21=G2)*(AGGREGATE(15,6,ROW($A$2:$E$21)/($A$2:$E$21=G2),COUNTIF($G$2:$G2,G2))=ROW($A$2:$E$21))),1)) 

它将处理重复的数字。

在这里输入图像说明


编辑

使用刚刚提供的修改后的公式将是:

 =ADDRESS(AGGREGATE(15,6,ROW($A$2:$E$21)/($A$2:$E$21=G2),COUNTIF($G$2:$G2,G2)),AGGREGATE(15,6,COLUMN($A$2:$E$21)/(($A$2:$E$21=G2)*(AGGREGATE(15,6,ROW($A$2:$E$21)/($A$2:$E$21=G2),COUNTIF($G$2:$G2,G2))=ROW($A$2:$E$21))),1)) 

把它放在E13中,然后复制下来。

在这里输入图像说明