0

我在 Excel 中有一个数据查询,它为单个员工返回多行信息。员工按 EmployeeID 排序,数据包含工资率和日期。

我已按日期降序对信息进行排序,以便为我提供员工的第一个工资率,以便将其放入工作簿中另一张工作表的 VLookUp 中。现在我需要一个公式来给我下一个日期,这样我就可以找到该范围内第二个最早的日期。这可以做到吗?

Data example:
1255  7.50   06/11/2012
1255  7.00   09/11/2011
1255  6.50   05/12/2011
2548  12.50  03/02/2012
2548  12.00  01/13/2012
4

2 回答 2

0

而不是VLOOKUP使用INDEX/MATCH

假设您当前的公式是:

=VLOOKUP(A1,Sheet1!A:C,3,0)

这可以转换为

=INDEX(Sheet1!C:C,MATCH(A1,Sheet1!A:A,0))

它做同样的事情(在 A 中搜索匹配并从 C 列返回结果)。现在您可以轻松获得下一场比赛:

=INDEX(Sheet1!C:C,MATCH(A1,Sheet1!A:A,0)+1)

如果您想测试它是否仍然是同一员工(在 B 列中),则公式要复杂一些:

=IF(INDEX(Sheet1!B:B,MATCH(A1,Sheet1!A:A,0))=INDEX(Sheet1!B:B,MATCH(A1,Sheet1!A:A,0)+1),INDEX (Sheet1!B:B,MATCH(A1,Sheet1!A:A,0)+1),"只有一个条目!")
于 2013-02-26T15:07:24.267 回答
0

你要日期还是工资率?如果是日期,那么如果您在 E2 中有员工 ID,在 F2 中有该员工的第一个日期(由 VLOOKUP 提取),那么这个公式将给出第二个日期

=VLOOKUP(E2,IF(Sheet1!C$2:C$100>F2,Sheet1!A$2:C$100),3,0)

确认CTRL+SHIFT+ENTER

您可以以相同的方式获得下一个日期 - 如果该员工没有另一个日期,您将获得 #N/A

于 2013-02-26T15:31:14.583 回答