仅从与人员列表

时间:2017-03-29 15:55:50

标签: excel excel-formula match formula vlookup

我的rawdata只有ID和交易日期。然后我有一份人员名单;他们的身份证,他们的雇用日期和姓名。

我想要的是rawdata中的一列,它为我提供了人名。问题是,如果该人退出,则重新使用该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 Online - 可以编辑): https://1drv.ms/x/s!AjWVkb2UBexjhzAKMy-YiE5EoKwc

屏幕截图:enter image description here

2 个答案:

答案 0 :(得分:2)

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

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

enter image description here

答案 1 :(得分:1)

我必须将表 People Raw_Data 命名为在公式中使用结构化表引用。另外,我添加了一些数据并更改了几个日期。

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

enter image description here