首页 > 解决方案 > 为什么我的索引数组在 Excel 中跳过值?

问题描述

=INDEX(B:B, AGGREGATE(15, 6, ROW(1:999)/(C1:C999="Duplicated"), ROW(1:1)))

由于某种原因,这会跳过 47 个值中的 2 个。即使这些单元格在 C 列中有重复。

标签: excelexcel-formula

解决方案


当您扩展列表并“脱落”参考数据列表时,您的单元格范围参考可能会发生变化。如果您查看索引列表中第二个单元格中的公式,它可能如下所示:

=INDEX(B:B, AGGREGATE(15, 6, ROW(2:1000)/(C2:C1000="Duplicated"), ROW(2:2)

将单元格范围锁定为绝对引用(使用F4)应该正确填充索引列表。我不确定您是否需要 INDEX 公式的数组部分来引用整个 B 列,但如果不需要,则索引列表中第一个单元格中的公式应该如下所示:

{=INDEX($B$1:$B$999, AGGREGATE(15, 6, ROW($1:$999)/($C$1:$C$999="Duplicated"), ROW(1:1)))}

确保在执行此操作时使用++ctrl以使其成为数组公式。复制到索引列表后,索引列表中第二个单元格中的公式将如下所示:shiftenter

{=INDEX($B$1:$B$999, AGGREGATE(15, 6, ROW($1:$999)/($C$1:$C$999="Duplicated"), ROW(2:2)))}

如果可能的话,我会根据您的数据创建一个表格,并将您的单元格引用替换为表格列,以减少处理时间。


推荐阅读