Excel:在列中查找重复项,并在另一列中显示差异

时间:2015-03-12 14:58:08

标签: excel formatting excel-formula compare

我想要突出显示A列中的单元格,这些单元格在A列中有重复,但在B列中有重复。

A   B  
1   2   -
2   3   +
3   2   -
2   4   +
1   2   -
3   2   -
4   5   - 

带有 - 的行(或行内的单元格)不应突出显示,但应突出显示带有+的行(或行内的单元格)。

如何在Excel公式中完成此操作?

请注意并非所有独特组合都应突出显示(最后一行!)。

在SQL中,相应的查询将是这样的:

SELECT *
FROM table
GROUP BY A
HAVING COUNT(B) > 1

3 个答案:

答案 0 :(得分:1)

更简单的解决方案可能是使用Concatenate将A和B连接在一起,并使用条件格式来突出显示唯一值。这将突出显示您想要的列表:

enter image description here

对于条件格式高亮显示列C,然后导航:

首页>条件格式 - >新规则 - >仅格式化唯一值或重复值

然后将选择从“复制”更改为“唯一”并选择所需的格式。应用设置并确定适当的行。

答案 1 :(得分:0)

假设您的数据位于A1:B7中,(第一行的标题为“A”和“B”):

我使用以下公式来获得比赛.. 我之前和之前做了一个简单的搜索..如果它找到上面或下面的记录,它会在F列中“标记”为TRUE。 不确定它适用于3个或更多重复,但你似乎没有表明你想要3种类型的工作;)

D2=MATCH(A2,A3:$A$1000,0)
E2=IF(ISERROR(D2),IF(ISERROR(G2),"",OFFSET($A$1,G2,0,1,1)),OFFSET(B2,D2,0,1,1))
F2=AND(NOT(AND(ISERROR(D2),ISERROR(G2))),B2<>E2)
G2=MATCH(A2,$A$1:A1,0)`

D col找到当前行之后的第一个匹配的A列。

G col找到当前行之前的第一个匹配的A列。

E col将远程B列值拉到当前行以更容易检查。

F col将逻辑放在一起:如果我们找到了某些东西,并且B cols不相等。

答案 2 :(得分:0)

这是另一种方法,假设您的上述数据位于单元格A2:B7中:

1)将您的A列值复制并粘贴到工作簿的空白部分(让我们说A11)并执行以下功能Data->Remove Duplicates并选择该部分。

2)突出显示单元格B10:B13(值在列A中的所有单元格)并键入以下公式:

=FREQUENCY(A2:A8,A10:A13)

点击Ctrl + Shift + Enter使其成为一个数组。

3)与第二步类似,突出显示C列中的所有单元格,其中A列和B列中有数据。在这种情况下C2:C7并使用以下公式:

=IF(VLOOKUP(A2,$A$10:$B$13,2,FALSE)>1,IF(FREQUENCY(VALUE(CONCATENATE($A$2:$A$7,$B$2:$B$7)),VALUE(CONCATENATE($A$2:$A$7,$B$2:$B$7)))<>1,"","Highlight"),"")

点击Ctrl + Shift + Enter使其成为一个数组。

您需要突出显示的单元格现在会显示“突出显示”

enter image description here