我有一个示例表,其中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/2014
,C3
应为08/11/2014
,C4
应为06/06/2014
等。
答案 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是此姓名/姓氏之前出现的位置(你可以将其存储在一些虚拟列。)