返回Excel工作表中基于筛选器的行号



我有下面的excel文件,其中有两张表,即Sheet1和Sheet2。Sheet1包含一些重复的名称,如下所示。

Column E  
-------- ---------- 
Row 3    tom       
Row 4    jerry     
Row 5    mick      
Row 6    tom       
Row 7    john      
Row 8    mike      
Row 9    mick      
Row 10   eric      
Row 11   matt      
Row 12   mike    

我希望能够确定第二次出现名称"Pete"的行。为此,我必须设置一个新的工作表(Sheet2(,允许我输入一个人的姓名和一个正整数(如n(,并返回该姓名第n次出现的行。**

Enter Name : tom (cell B1)
Enter Integer : 
Result : `2`

对于结果单元格,我应用了以下公式,该公式返回名称出现的次数。

=COUNTIF(Sheet1!E3:E12,Sheet2!B1)

但是我没有找到想要的答案。

可以使用Countif、Countifs、Count、CountA和CountBlank函数来完成吗?

有人能帮忙吗?

=AGGREGATE(15,6,1/(myRng=B1)*ROW(myRng),B2)

解释

myRng=B1将myRng中的每个条目与B1中的名称匹配,从而得到TRUE;FALSE的数组

1/…根据其是否匹配将其更改为{DIV/0,1,...的数组

*ROW(myRng)将其转换为{DIV/0, row_num}的阵列

AGGREGATE(15,6,resultant_array,B2)返回该数组的第n个最小值,忽略错误

最新更新