excel – 如果date晚,则在不在另一个表中的工作表中find一列中的数据

我有Sheet1中的数百个logging与各种创builddate和值。 我需要find与B列匹配的sheet2中的logging

工作表Sheet1

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

Sheet2中

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

所以我需要返回sheet1中的logging,即列B值不在sheet2 colB中,或colBlogging存在,但colA中的date早于sheet1中的logging。 我应该使用什么公式? 我有一个模糊的想法,vlookup()函数将是有益的,但我不知道如何限制在Excel中这些条件的返回

所以我想从Sheet1中返回:

 AB 9/5/2011 In 7 3/3/2007 In 7 3/5/2011 In 8 

这可以分解成2个expression式。 首先,我们将在Sheet2中查找匹配,其中Sheet2 Col Alogging早于表1。

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

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

这就是说:匹配B1和sheet2中的B列。 然后,获取该行号,并从sheet2中的列A的该行返回该date。 然后,与A1比较。 如果它早于A1,则显示B1上的logging。 否则,显示空白。

但是,如果在Sheet2上没有findB1,这将返回一个错误。 所以拿起这些logging,我们简单地把它包装在IFERROR语句中。 IFERROR表示“返回x值,如果在检索X时出现错误,则返回y”。 所以这是简单的:

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