INDEX MATCH获取重复名称的值

时间:2015-06-19 11:42:53

标签: excel excel-formula

我有一个示例表,其中Sheet1中的以下数据包含以下随机数据

------A ----------------- B ----------------------C ------------------------D  
1 --First--------------Last-----------------Start Date--------------End Date  
2 --John--------------Smith--------------08/08/2014------------01/01/2015  
3---John--------------Smith--------------08/11/2014------------17/11/2014  
4---John--------------Smith--------------06/06/2014------------23/12/2014  
5---Abel--------------Jones--------------14/05/2014------------29/04/2015  
6---Abel--------------Jones--------------04/07/2014------------26/04/2015

然后我在Sheet2

中有另一张桌子
------A ----------------- B ----------------------C ------------------------D  
    1 --First--------------Last-----------------Start Date--------------End Date  
    2 --John--------------Smith---------------------------------------------------  
    3---John--------------Smith---------------------------------------------------  
    4---John--------------Smith---------------------------------------------------  
    5---Abel--------------Jones---------------------------------------------------  
    6---Abel--------------Jones---------------------------------------------------  

我正在使用INDEX MATCH在两张纸之间传输数据。

=INDEX(Sheet1!$C:$C,
MATCH(1,INDEX((Sheet1!$A:$A=$A3)*(Sheet1!$B:$B=$B3),0),0)) 

使用column C的开始日期填充Sheet1

=INDEX(Sheet1!$D:$D,
    MATCH(1,INDEX((Sheet1!$A:$A=$A3)*(Sheet1!$B:$B=$B3),0),0)) 

这将使用结束日期填充column D

问题是,当我执行此INDEX MATCH函数时,对于重复的名称,它只会复制第一个值。因此,此公式会将08/08/2014粘贴到column C Sheet2的所有“John Smith”开始日期中。

如何获取所有值,以便C2应为08/08/2014C3应为08/11/2014C4应为06/06/2014等。

2 个答案:

答案 0 :(得分:1)

一种解决方案是在两张纸上插入一列"运行计数"同名实例。例如,插入col C并在C2中输入=IF(A2&B2 = A1&B1, C1+1, 1)。如果连接的名字和姓氏是新的,则开始计数为1,如果不是,则将先前的计数增加1。所以你会有

First     Last         Count by Person
John      Smith        1
John      Smith        2
John      Smith        3
Abel      Jones        1
Abel      Jones        2
George    Washington   1
Thomas    Jefferson    1
Thomas    Jefferson    2

然后,您可以将此列添加到MATCH()函数中(并根据需要更改查阅列)。

编辑:值得注意的是,这需要您的原始数据按名称排序。

答案 1 :(得分:0)

你可以将$ A:$ A refferances缩小到$ Axe + 1:$ Ay,其中y = excel表格的最后一行,x是此姓名/姓氏之前出现的位置(你可以将其存储在一些虚拟列。)