使用 Excel 或 VBA 在 excel 中比较 2 个列表

Compare 2 lists in excel using Excel or VBA

提问人:M Muaz 提问时间:7/14/2021 最后编辑:BigBenM Muaz 更新时间:7/14/2021 访问量:35

问:

首先,我要感谢您花时间阅读本文并帮助我。 我的 Excel 技能充其量只是基本的,除了找到 VB 编辑器之外,对 VBA 一无所知。

我想做什么:

附件是我正在处理的文件,以便为您提供更好的想法。

enter image description here

我有 2 个列表(在 2 个不同的表格中,但我将它们组合起来以简化解释)

所以我尝试了几种方法,在我看来这是最接近的方法,但它无法正常工作。

我需要什么来使用公式并将其向下拖动(或VBA宏,如果更容易) 告诉我列表 2 中的哪一行与列表 1 匹配。

例如 在列表 2 中,第 3 行和第 5 行是匹配的(因此在 G 列中应该显示“YES”)

我使用的第一个公式是

=IF(ISNUMBER(MATCH(D2,A:A,0)*(E2,B:B)),"YES","NO")

我尝试过的其他方法是使用 2 个额外的列(不在屏幕截图中)

=IF(ISNUMBER(MATCH(D2,A:A,0)),"YES","NO") 
and 
=IF(ISNUMBER(MATCH(E2,A:A,0)),"YES","NO") 

但第二种方法的问题在于它不起作用

因为如果同一行(在列表 2 中)上的两个值与同一行(在列表 1 中)上的两个值匹配,我只需要“YES”。

Excel vlookup 查找

评论

1赞 Toddleson 7/14/2021
您需要VBA来输入值吗?这听起来像是一个简单的 Excel 公式=IF(AND(A1=C1,B1=D1),"YES","NO")
0赞 BigBen 7/14/2021
用。COUNTIFS
0赞 M Muaz 7/14/2021
@Toddleson此公式的问题在于 2 个列表的所有值都不在同一行上,但它们可以向下几行。我不必成为 VBA,只要能完成工作。

答:

3赞 BigBen 7/14/2021 #1

使用并检查结果是否为:COUNTIFS>0

=IF(COUNTIFS(A:A,D2,B:B,E2)>0,"YES","NO")