比较Excel中的2列,并在不同行中显示匹配值iff

问题描述 投票:0回答:3

我有2列的Excel文件。我的目的是如果两列中有匹配值(重复),则突出显示单元格值。这里,要注意的主要点是,仅当重复值属于列1和列2的不同行时,才应突出显示单元格,即[COL1, ROW1]值等于[COL2, ROW3]

因此,如果COLUMN 1中的任何值在COLUMN 2中可用,但仅具有不同的行,则突出显示该单元格。

enter image description here

谢谢。

excel excel-formula compare conditional-formatting
3个回答
0
投票

请参见下图,您可以在条件格式中再添加一个规则,如果为true(“ A”),则将其停止,但是如果相同的值(“ A”)再次出现在所选内容中,它将突出显示。

enter image description here


0
投票

有两种解释问题的方法。

((1)您想检查当前行中是否没有匹配项,但其他地方是否有匹配项。

对于第一列,您要检查它旁边的数字是否不相同,但是第二列中的其他地方是否存在匹配项,因此请使用自定义公式:

=AND(B1<>A1,COUNTIF(B:B,A1))

类似地,第二列:

=AND(A1<>B1,COUNTIF(A:A,B1))

enter image description here

((2)您想检查是否有匹配项,否则即使当前行中有匹配项

=COUNTIF(B:B,A1)-(A1=B1)>0

=countif(A:A,B1)-(A1=B1)>0

enter image description here


0
投票

您可以使用SUMPRODUCT来检查所需条件:

如果COLUMN 1中的任何值在COLUMN 2中可用,但仅具有不同的行,则突出显示单元格。

我制作了一个这样的假数据集:

enter image description here

如您所见,只有值13的单元格都满足条件,因为值2它是重复的,但仅在同一行中,因此不应突出显示。

我的条件格式设置规则基于此公式:

=SUMPRODUCT(--($B$4:$B$8=A4);--(ROW($B$4:$B$8)<>ROW(A4)))>0

这是它的工作方式:

  1. --($B$4:$B$8=A4)将返回1和0的数组,基于它们的值与A4相同)>
  2. --(ROW($B$4:$B$8)<>ROW(A4))将根据单元格与单元格A4的**不同*返回行数返回1和0的数组>
  3. SUMPRODUCT将两个数组相乘并求和,我们将得到一个最终数组1和0。每个1表示存在一个具有相同值但在不同行上的单元格
  4. 。我们将获得的所有1和0相加。
  5. 我们将上一步的结果与>0进行比较。如果为真,则意味着有1个或多个具有相同值但在不同行上的单元格,因此我们突出显示。
  6. 希望这会有所帮助。

    UPDATE:

如果您也要突出显示第2列的值,则可以使用几乎相同的公式和CF规则,只需更改列引用即可:

=SUMPRODUCT(--($A$4:$A$8=B4);--(ROW($A$4:$A$8)<>ROW(B4)))>0

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.