excel - 在 sheet 的一列中查找数据,如果日期较晚,则在另一列 sheet 中不存在

excel - find data in one column in sheet that is not in another sheet if date is later

我在 sheet1 中有数百条记录,其中包含各种创建日期和值。 我需要在 sheet2 中找到与列 B

匹配的记录

工作表 1

   A           B
1. 10/1/2012   In 6
2. 9/5/2011    In 7
3. 3/3/2007    In 7
4. 3/5/2011    In 8

工作表 2

   A           B
1. 11/2/2012   In 6
2. 10/5/2005   In 8
3. 6/6/2011    In 9
....

所以我需要return sheet1 中的记录 B 列值不在 sheet2 colB 中 或者 colB 记录存在,但 colA 中的日期早于 sheet1 中的记录。 我应该使用什么公式? 我有一个模糊的想法 vlookup() 函数会有所帮助 但我不确定如何将 return 限制在 Excel

中的这些条件

所以我想从工作表 1 return:

A          B
9/5/2011   In 7
3/3/2007   In 7
3/5/2011   In 8

这可以分为2个表达式。首先,我们将在 Sheet2 中查找 Matches,其中 Sheet2 Col A 记录早于 sheet 1.

将其放入 Sheet1、C1 中并向下拖动

=IF(INDEX(Sheet2!A:A,MATCH(B1,Sheet2!:B:B,0))<A1,B1,"")

这表示:将 B1 与 sheet2 中的 B 列匹配。然后,从 sheet2 中的 A 列中获取该行号和 return 该行的日期。然后,将其与 A1 进行比较。如果早于 A1,则显示 B1 上的记录。否则,显示空白。

但是,如果 B1 在 Sheet2 上找不到匹配项,这将 return 出错。因此,要获取这些记录,我们只需将其包装在 IFERROR 语句中即可。 IFERROR 说 "Return x value. If in retrieving X there is an error, return y instead." 所以这很简单:

=IFERROR(IF(INDEX(Sheet2!A:A,MATCH(B1,Sheet2!:B:B,0))<A1,B1,""),B1)