根据过滤器从Excel工作表返回行号

时间:2018-07-24 08:14:46

标签: excel excel-formula

我有以下具有两个工作表的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`

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

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

但是我找不到想要的答案。

可以使用Countif,Countifs,Count,CountA和CountBlank函数吗?

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

=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个最小值,而忽略错误