仅从与人员列表匹配的日期和 ID 中获取姓名

Get name from only date and ID matched with people list

我有只有 ID 和交易日期的原始数据。然后我有一份人员名单;他们的身份证件、聘用日期和姓名。

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

因为我有交易日期,我认为应该可以检查:

如果交易与他们被雇用的时期相符,则获得正确的名称。

这可能吗,然后如何?

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在线-可编辑): https://1drv.ms/x/s!AjWVkb2UBexjhzAKMy-YiE5EoKwc

截图:

确保您的参考资料 table 按时间顺序从旧到新排序:

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

我不得不命名你的 tables PeopleRaw_Data 使用结构化 table 公式中的引用。此外,我添加了一些数据并更改了一些日期。

=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))