根据2个匹配列在2个Excel列表中查找匹配的行

时间:2015-06-12 21:31:01

标签: excel

我知道类似的问题已被提出但我还没有找到我正在寻找的方案。我想强调,使用条件格式,根据匹配一个列表中的行另一个列表中 2个匹配列

在提供的图片上,第二个列表中的第五行会突出显示,因为ID和天数都与第一个列表中的记录匹配。

这意味着我不关心客户端和提供者列,但也意味着第三行不会突出显示,例如,因为它匹配id列而不是日期。

enter image description here

我找到了带条件格式但只匹配一列的示例。

3 个答案:

答案 0 :(得分:0)

连接然后匹配。

也就是说,在第一个表中使用公式

创建一个隐藏列(例如,列D)
=A2 & "##" & C2

然后,要查找,请使用连接字符串作为查找参数,并查看连接列。类似的东西:

=IF(ISNA(MATCH(E2&"##"&G2, $D$2:$D$4, 0)), FALSE, TRUE)

如果您不想在此中间计算中使用额外的列,请查看使用数组公式。

答案 1 :(得分:0)

使用您提供的示例,创建一个适用于$ E $ 2的新条件格式规则:$ G $ 7并使用以下公式:

=SUMPRODUCT(--($A$2:$A$4=$E2),--($C$2:$C$4=$G2))>0

如果您使用的是Excel 2007或更高版本,则可以使用COUNTIFS公式而不是SUMPRODUCT:

=COUNTIFS($A$2:$A$4,$E2,$C$2:$C$4,$G2)>0

答案 2 :(得分:0)

非常感谢Josh!我使用 部分成功 尝试了您的解决方案。首先,我在“E”列中对行进行连接,并在条件格式表达式上使用以下公式。

=IF(ISNA(MATCH(G2&I2, $E$2:$E$4, 0)), FALSE, TRUE)

然而如图所示,我只得到第一列突出显示,我需要整行。我在应用条件格式时选择了整个范围。

enter image description here

编辑

我发现了错误!公式需要一些额外的列来修复。这是正确的公式:

=IF(ISNA(MATCH($G2&$I2, $E$2:$E$4, 0)), FALSE, TRUE)