间接行 excel 地址

indirect row excel address

我有一个 table,数值在 C20:G30 之内。我想通过 MAX(LARGE($BG:$BT;1)) MAX(LARGE($BG:$BT;2))

提取前 10 个值

我设法做到了。然后,我想检索这些前 10 个值的地址。如果我这样做就有效

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

但如果我将单元格坐标 E25 替换为

则不会

MAX(LARGE($BG:$BT;1)).

我怎样才能让所有这些直接工作?明明INDIRECT(ADDRESS(ROW(MAX(LARGE($BG:$BT;1))); COLUMN(MAX(LARGE($BG:$BT;1))))好像不对,excel告诉我公式错了?如果问题不清楚,请告诉我是否应该重新解释。

正如上面评论中所说,您不需要 MAX() 包装器。 LARGE() 只有 return 个数字。这样的事情会起作用:

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

ROW(1:1)是一个计数器,往下拖会递增,所以每个公式都不需要改。

下面的公式将return上面公式创建的列表的地址:

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

它将处理重复的数字。


编辑

使用您刚刚提供的照片修改后的公式为:

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

把那个放在E13里抄下来