Excel:查找列中的重复项,而另一列中的差异项

vaqhlq81  于 2023-05-23  发布在  其他
关注(0)|答案(4)|浏览(156)

我想突出显示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
vojdkbi0

vojdkbi01#

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

对于“条件格式”突出显示列C,然后导航:
首页->条件格式->新规则->只设置唯一或重复值的格式
然后将选择从“重复”更改为“唯一”并选择所需的格式。应用该设置并标识适当的行。

owfi6suc

owfi6suc2#

假设您的数据在A1:B7中(第1行的标题为“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不相等。

odopli94

odopli943#

这里有另一种方法,假设你上面的数据是在单元格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使其成为一个数组。
您需要突出显示的单元格现在会显示“突出显示”

osh3o9ms

osh3o9ms4#

标记A列>主页>样式>条件格式>新规则...>使用公式确定要设置格式的单元格>输入公式

=SUMPRODUCT(--(A:A=A1),--(B:B<>B1))

格式...>选择您喜欢的格式>确定>确定

相关问题