为什么我的索引数组在excel中跳过值?

时间:2018-06-14 19:55:34

标签: excel excel-formula

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

出于某种原因,这是从47个值中跳出2个。即使这些单元格在C列中具有重复。

2 个答案:

答案 0 :(得分:2)

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

=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 + 输入以使其成为数组公式。一旦复制到索引列表中,索引列表中第二个单元格中的公式将如下所示:

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

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

答案 1 :(得分:0)

确保您的范围/列中的长度一致

<div id="map_canvas" style="position: relative; overflow: hidden; display: block; height: 500px; width: 100%;"></div>

索引全部是B列 重复的是行1:999

如果有任何变化,那么就会有差异。 将索引更改为1:999 或将副本更改为整个列(C:C)