匹配彼此的两个列表

时间:2016-09-19 15:29:35

标签: excel ex

我有两个列表,列表1和列表2.两个列都有两列,列A和列B,列A(ID)和列中的值。 B(值)彼此对应。我需要将这两个列表相互比较,并在发生时发现不匹配。

我想要做的是创建第三列C列,说明这两个列表之间是否存在匹配或不匹配,基本上说明一个列表中的ID是否在另一个列表中具有不同的值,例如:

匹配将是:列表1:列A = tom,列B = 5。清单2:列A = tom,列B = 5。

不匹配将是:列表1:列A = tom,列B = 5。清单2:列A = tom,列B = 2。

问题是,列表2包含A列的重复项,其中包含不同的对应值(列B)。我的规则是:如果两个列表之间有一个匹配(即使列表后面出现不匹配)将其标记为“MATCH”,但如果没有任何ID匹配(列A),则标记它作为“MISMATCH”。

以下是我使用的公式,它从LIST 1获取原始ID(列A)并尝试从列表1和列表2中找到匹配或不匹配:

= IF(VLOOKUP(A1,A:B,2,FALSE)= VLOOKUP(A1,C:d,2,FALSE), “匹配”, “失配”)

我不能简单地删除重复项,因为它们不仅仅是重复项,它是一个列表中具有多个值(列B)的单个ID(列A),但我现在使用的公式不会考虑我的规则I想要实现,我真的不知道从哪里开始或如何制定一个公式,以便了解如果ID(列A)包含一个匹配,即使存在其他不匹配,也要标记它作为一个MATCH。我遇到的第二个问题是报告它的方式是我可以拥有ID(列A)并将其状态(匹配或不匹配)放在一个没有重复项的列中,我想这与原始问题有关。

对于长篇解释感到抱歉,但我提前感谢您的任何帮助。

示例数据:

的List1:

ColumnA | ColumnB

汤姆| 1

Jon | 2

fred | 3

布拉德| 4

列表2:

A栏| B栏

汤姆| 1

Jon | 5

Jon | 1

fred | 1

fred | 2

fred | 3

布拉德| 2

(所需结果)清单3:

ColumnA | ColumnB

汤姆| MATCH *因为tom在列B中具有与两个列表相同的值

Jon | MISMATCH *因为jon在B列中对于他的ID出现的所有时间的两个列表都有不同的值

fred |匹配*,因为即使存在一些不匹配,他在两个列表中的列B至少有一个匹配,这是规则将到位的地方

布拉德| MISMATCH *因为他在两个列表中的B列中的值不匹配

屏幕截图示例: Screen shot of example data

2 个答案:

答案 0 :(得分:0)

您可以计算使用COUNTIF()功能找到匹配的次数。然后,在其周围包含IF语句,以表示每当计数大于> 0时,它就是Match,否则为Mismatch。见下面的截图:

这是我在下面的单元格D4中的公式:=IF(COUNTIF(H4:H10,B4&C4)>0,"Yes","No")

这是我在下面的单元格H4中的公式:=F4&G4

希望这有帮助! enter image description here

答案 1 :(得分:0)

查看此内容的方法是,它与基于两个条件的列表匹配。在多个条件上匹配的简单方法是将各个条件值连接(连接)在一起,然后对要搜索的列表执行相同操作。以下数组公式将执行此操作:

= IFERROR(IF(MATCH(A1&安培; B1,$ d $ 1:$ d $ 7和; $ E $ 1:$ E $ 7,0), “匹配”), “失配”)

注意 - 我的列A和B包含您的列表1,我的列D和E是您的列表2。

在C1中输入此公式并按Ctrl + Shift + Enter(这会将公式转换为数组公式),然后将其向下拖动到单元格C4。