Excel 公式在给定范围(整个列)内查找日期

Excel 公式在给定范围(整个列)内查找日期

我实际上是想写一个公式来匹配并在整个列中查找日期。假设我有这样的内容sheet1

  A   |     B
--------------------

 ID   |    Date1   
--------------------
101   |10/24/2018  
201   |01/21/2019  
301   |04/30/2018  

并且sheet2包含 ID 和 Date2,结果列应如下所示:

 A   |      B      |      C   
---------------------------------

 ID   |    Date2   |    Result   
---------------------------------
201   |04/29/2018  |  FALSE
410   |04/30/2018  |   NA
101   |10/24/2018  |  TRUE
201   |03/29/2019  |  TRUE
101   |03/20/2018  |  FALSE
501   |04/30/2018  |   NA
301   |03/30/2018  |  FALSE
310   |04/30/2018  |   NA
310   |04/30/2017  |   NA

因此,如果 ID 为 101 的 Date1(10/24/2018) 大于或等于 Date2(03/20/2018),则结果列应为 false,否则为 true。如果 ID 或日期不匹配/不存在,则应为 NA。

我尝试使用 COUNTIF() 和 LOOKUP(),但没有成功!我尝试的公式如下:

=IF(COUNTIF(sheet2!A2:sheet2!A109944,sheet1!A2)>0,IF(COUNTIF(sheet2!B2:sheet2!B109944,">="&sheet1!B2),"False")),"True")

查找公式:

=IFERROR(LOOKUP(2,1/(sheet1!A2=sheet2!A2:sheet2!A109944)*(sheet1!B2>=sheet2!B2:sheet2!B109944),"True")"False")

有人能帮我解决这个问题吗?提前谢谢了。

答案1

您可以使用 INDEX 和 MATCH 来做到这一点:

在此处输入图片描述

D2 中的公式:

=B2>=INDEX(Sheet1!$B$2:$B$4,MATCH(A2,Sheet1!$A$2:$A$4,0))

MATCH 定位 Sheet1 上的 ID,INDEX 返回相关日期。然后将其与 Date2 进行比较并返回 TRUE/FALSE 结果。

当没有 ID 匹配时,将返回错误条件 #N/A ,而不是 NA。


如果你确实更喜欢 NA,你可以将其包装在 IFERROR 中:

=IFERROR(B2>=INDEX(Sheet1!$B$2:$B$4,MATCH(A2,Sheet1!$A$2:$A$4,0)),"NA")

这将用 NA 文本替换 #N/A:

在此处输入图片描述

答案2

尝试这个公式:

=IFERROR(IF(AND(COUNTIF(Sheet1!A:A,Sheet2!A2)=1,B2<VLOOKUP(A2,Sheet1!A:B,2,FALSE)),"False",IF(AND(COUNTIF(Sheet1!A:A,Sheet2!A2)=1,OR(B2=VLOOKUP(A2,Sheet1!A:B,2,FALSE),B2>VLOOKUP(A2,Sheet1!A:B,2,FALSE))),"TRUE")),"NA")

在此处输入图片描述

相关内容