使用 Excel 或 VBA 比较 excel 中的 2 个列表
Compare 2 lists in excel using Excel or VBA
首先,我要感谢您花时间阅读本文并帮助我。
我的 Excel 技能充其量只是基本技能,除了找到 VB 编辑器外,对 VBA 一无所知。
我想做什么:
附件是我正在使用的文件,可以让您有一个更好的主意。
我有 2 个列表(在 2 个不同的工作表中,但我将它们合并以简化解释)
所以我尝试了几种方法,这是我认为最接近的方法,但它无法正常工作。
我需要使用公式并将其向下拖动(或者 VB宏,如果更容易的话)
告诉我列表 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 中)的两个值匹配,我只需要“是”。
使用COUNTIFS
并检查结果是否为>0
:
=IF(COUNTIFS(A:A,D2,B:B,E2)>0,"YES","NO")
首先,我要感谢您花时间阅读本文并帮助我。 我的 Excel 技能充其量只是基本技能,除了找到 VB 编辑器外,对 VBA 一无所知。
我想做什么:
附件是我正在使用的文件,可以让您有一个更好的主意。
我有 2 个列表(在 2 个不同的工作表中,但我将它们合并以简化解释)
所以我尝试了几种方法,这是我认为最接近的方法,但它无法正常工作。
我需要使用公式并将其向下拖动(或者 VB宏,如果更容易的话) 告诉我列表 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 中)的两个值匹配,我只需要“是”。
使用COUNTIFS
并检查结果是否为>0
:
=IF(COUNTIFS(A:A,D2,B:B,E2)>0,"YES","NO")