我的表格的数值在MAX(LARGE($BG$26:$BT$69;1))
MAX(LARGE($BG$26:$BT$69;2))
之内。我想通过INDIRECT(ADDRESS(ROW(E25); COLUMN(E25))
等提取前10个值。
我设法做到了。然后,我想检索这些前10个值的地址。如果我这样做就行了
E25
但如果我用
替换单元格坐标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))))
。
我怎样才能直接完成所有这些工作?显然 ping google.de
PING google.de (172.217.21.131): 56 data bytes
64 bytes from 172.217.21.131: icmp_seq=0 ttl=56 time=53 ms
64 bytes from 172.217.21.131: icmp_seq=1 ttl=56 time=56 ms
似乎不正确,excel告诉我公式错了?如果不清楚,我是否应该重新解释这个问题。
答案 0 :(得分:1)
正如上面的评论所说,你不需要MAX()包装器。 LARGE()只返回一个数字。这样的事情会起作用:
=LARGE($A$2:$E$21,ROW(1:1))
ROW(1: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))
它将处理重复的数字。
修改强>
使用您刚刚提供的照片修改后的公式将是:
=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并复制。