从唯一的date获得姓名和与人员列表匹配的ID

我只有ID和交易daterawdata。 那么我有一个人的名单, 他们的ID,他们的雇用date和他们的名字。

我想要的是原始数据中的一个列给我的人名。 问题是,如果这个人退出了,这个ID就被重新使用了,另一个就开始了。

由于我有交易date,我认为应该可以检查:

如果交易与他们被聘用的期限相匹配,那么得到正确的名字。

这是可能的,然后如何?

Rawdata: Column A = Transaction date Column B = ID Column C = Here I want their name People list: Column A = ID Column B = Name Column C = Hire date 

示例(Excel Online – 可以编辑): https : //1drv.ms/x/s!AjWVkb2UBexjhzAKMy-YiE5EoKwc

截图: 在这里输入图像说明

我不得不命名您的表PeopleRaw_Data在公式中使用结构化表引用。 另外,我添加了一些数据,并更改了几个date。

 =INDEX(People[Agent Name], AGGREGATE(15,6, (ROW(People[Personal ID])-ROW(People[[#Headers],[Agent Name]]))/((People[Personal ID]=[@[Personal ID]])*(People[Hire date]=AGGREGATE(14, 6, (People[Hire date])/((People[Personal ID]=[@[Personal ID]])*(People[Hire date]<=[@[Transaction date]])), 1))), 1)) 

在这里输入图像说明

确保您的参考表按照时间顺序从最旧到最新排列:

 =INDEX(F:F,AGGREGATE(14,6,ROW($G$8:INDEX(G:G,MATCH(1E+99,E:E)))/(($E$8:INDEX(E:E,MATCH(1E+99,E:E))=B8)*($G$8:INDEX(G:G,MATCH(1E+99,E:E))<A8)),1)) 

在这里输入图像说明