[英]Why is my index array skipping values in excel?
=INDEX(B:B, AGGREGATE(15, 6, ROW(1:999)/(C1:C999="Duplicated"), ROW(1:1)))
由于某些原因,这会跳过47个值中的2个。 即使这些单元格在C列中已重复。
当您扩展列表并“减少”参考数据列表时,单元格范围引用可能会发生变化。 如果您查看索引列表中第二个单元格中的公式,则可能看起来像这样:
=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 + shift + enter使其成为数组公式。 向下复制到索引列表后,索引列表第二个单元格中的公式将如下所示:
{=INDEX($B$1:$B$999, AGGREGATE(15, 6, ROW($1:$999)/($C$1:$C$999="Duplicated"), ROW(2:2)))}
如果可能的话,我将根据您的数据创建一个表格,并将您的单元格引用替换为表格列,以减少处理时间。
确保范围/列中的长度一致
=INDEX(B:B, AGGREGATE(15, 6, ROW(1:999)/(C1:C999="Duplicated"), ROW(1:1)))
索引是B列的全部重复的是行1:999
如果有什么变化,那就会有差异。 将索引更改为1:999或将重复的索引更改为整个列(C:C)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.