创建将重复项考虑在内的索引查找

时间:2018-11-12 15:52:10

标签: excel vba

我在excel中有一个虚拟数据集,看起来像这样。

enter image description here

为方便起见,假定此范围从工作表中的单元格A1粘贴到B7。

我想创建一个范围,以按ID向我显示前5个最高计数。因此,最终产品应如下所示:

enter image description here

为此,我使用了索引公式以及匹配函数,该匹配函数包含一个Large函数,该函数为我提供K的最大值。例如,对于下面ID列中的前1个结果,我使用:

=INDEX($A$2:$B$7,MATCH(LARGE($B$2:$B$7,1),$B$2:$B$7,0),1)

同样,对于下面使用的“计数”列中的前1个结果,

LARGE($B$2:$B$7,1)

如果将其应用于所有单元格,更改每行K的值,则最终结果将如下所示:

enter image description here

如您所见,该结果对于不具有相同Count的ID的效果很好。但是,在那些计数相同的地方,我会得到重复。因此,我要寻找的是一个函数,该函数查找是否要输出重复项,然后查找是否存在另一个具有相同Count值的ID。

我相信这在基本Excel中可能具有挑战性,但是也许可以在VBA中做到这一点?但是,我对VBA不太熟悉,因此似乎无法在Internet上找到任何东西。有谁知道如何解决这个问题?

非常感谢!

1 个答案:

答案 0 :(得分:1)

使用COUNTIF()返回正确的k,将您的ID输出链接到Count Ouput。

=INDEX(A:A,AGGREGATE(15,7,ROW($A$2:$A$7)/($B$2:$B$7=F2),COUNTIF($F$2:F2,F2)))

enter image description here