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

时间:2015-08-11 17:10:54

标签: excel excel-formula spreadsheet

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

Sheet 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

Sheet 2中

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

所以我需要从sheet1返回记录 列B值不在sheet2 colB中 或colB记录存在但colA中的日期早于sheet1中的记录。 我应该使用什么配方? 我有一个模糊的想法,即vlookup()函数会有所帮助 但我不确定如何限制Excel中这些条件的返回

所以我想从Sheet1返回:

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

1 个答案:

答案 0 :(得分:3)

这可以分为两个表达式。首先,我们将在Sheet2中查找匹配,其中Sheet2 Col A记录早于工作表1。

将它放在Sheet1,C1中,然后向下拖动

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

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

但是,如果找不到B1作为Sheet2上的匹配项,则会返回错误。因此,为了获取这些记录,我们只需将其包装在IFERROR语句中。 IFERROR说“返回x值。如果在检索X时出现错误,请返回y。”所以这很简单:

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