间接行excel地址
我有一个数值在C20:G30
的表格。 我想通过MAX(LARGE($BG$26:$BT$69;1)) MAX(LARGE($BG$26:$BT$69;2))
等提取前十个值。
我设法做的。 然后,我想检索这些前十个值的地址。 它的工作,如果我这样做
INDIRECT(ADDRESS(ROW(E25); COLUMN(E25))
但是如果我用单元格坐标E25
replace它不会
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中,然后复制下来。