INDEX MATCH获取重复名称的值
我有一个示例表与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))
使用Sheet1
的开始date填充column C
。
=INDEX(Sheet1!$D:$D, MATCH(1,INDEX((Sheet1!$A:$A=$A3)*(Sheet1!$B:$B=$B3),0),0))
并用结束date填充column D
。
问题是,当我执行这个INDEX MATCH
函数时,对于一个重复的名字,它只会复制第一个值。 所以这个公式将粘贴08/08/2014
到所有'约翰史密斯'开始dateSheet2
column C
中。
我如何获得所有值,以便C2
应该是08/08/2014
, C3
应该是08/08/2014
08/11/2014
, C4
应该是06/06/2014
等。
一种解决办法是在两张表中插入一列,并用同名的实例“运行计数”。 例如,插入col C
然后在C2
input=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()
函数(并根据需要更改查找列)。
编辑:值得注意的是,这需要你的原始数据按名称sorting。
您可以将$ A:$ A的容忍范围缩小到$ Ax + 1:$ Ay,其中y =您的Excel表格的最后一行,x是此名称/姓氏以前出现的位置(您可以将其存储在某个虚拟列)。