我在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
答案 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)