繁体   English   中英

Excel公式,用于匹配2列中的多个日期,返回“是”或“否”

[英]Excel formula to match multiple dates across 2 columns, returning Yes or No

我需要一个公式,它将匹配下表中A列和B列的日期。 我的每个表都有超过100000个结果匹配。

如果两列中都显示特定日期,则返回“是”语句。 如果它只出现在一列中,而不是“否”。

在此输入图像描述

我尝试使用下面的公式,但它没有返回正确的输出:

=IF(COUNTIF($B:$B, $A:$A)=0, "Yes", "No")

正确的结果应如C列所示。

提前致谢。

更快的Excel版本

参考公式=IF(COUNTIF($A:$A,B2)=0,"No","Yes")

看起来像是一样但速度要快得多。

=IF(ISERROR(MATCH(B1,$A:$A,0)),"No","Yes")

乍一看,匹配应该更快,因为它不能计算,但当然原因可能是以下逻辑:
COUNT搜索整个范围以计算COUNT ,然后IF '决定'是否为0
MATCH仅搜索范围,直到找到MATCH,并且当发现IF '通过ISERROR函数决定'时它是否为TRUE或FALSE。 如果匹配将在范围的底部,可能会忽略速度差距,但它们不是。

重新安排公式

=IF(NOT(ISERROR(MATCH(B1,$A:$A,0))),"Yes","No")

要么

=IF(COUNTIF($A:$A,B2)<>0,"Yes","No")`

不会改变一件事。 匹配仍然搜索,直到找到匹配,并且COUNT仍然在整个范围内计数。

总结如下:

MATCH是' Excel '的方式。

这将成功,命名你想要显示的内容。

逻辑是这样的:如果条件A中存在标准则计数。当没有找到匹配(= 0)时,它给出“在A列中不存在”。

=IF(COUNTIF($A:$A,B2)=0, "Don't exist in Column A","Yes")

因此,在您应用公式的情况下,它将如下所示:

=IF(COUNTIF($A:$A;B3)=0, "No", "Yes")

在此输入图像描述

在图片中注意我使用“ ; ”作为分隔符,因为我有一个Nordic Excel版本。 美国可能会使用“ , ”。

如果在审核日期列与日期列和日期列匹配时需要结果以与审核日期匹配,则使用

=if((countif(B:B,A2)+countif(A:A,B2))<>0,"Yes","No")

如果在审核日期日期列匹配时需要结果,请使用:

=if((countif(A:A,B2))<>0,"Yes","No")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM