首页 > 解决方案 > 使用 Excel 或 VBA 在 excel 中比较 2 个列表

问题描述

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

我正在尝试做的事情:

附件是我正在使用的文件,以便您更好地了解。

在此处输入图像描述

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

所以我尝试了一些方法,这是我认为最接近的方法,但它不能正常工作。

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

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

我使用的第一个公式是

=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 中)上的两个值匹配,我只需要“是”。

标签: excelvlookuplookup

解决方案


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

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

推荐阅读