假设数据在A1:F100,选中A1:F100(没有这么多,也可以选这么多,有更多的话,多选点,改下公式中的100)
格式--条件格式,输入条件公式:
=SUMPRODUCT(($A1&$B1&$C1&$D1&$E1&$F1<>"")*($A$1:$A$100=$A1)*($B$1:$B$100=$B1)*($C$1:$C$100=$C1)*($D$1:$D$100=$D1)*($E$1:$E$100=$E1)*($F$1:$F$100=$F1))>1
设置黄色填充。
将条件公式中的>1去掉,填在右边,可直接得到数量,大于1的为有重复。=SUMPRODUCT(($A1&$B1&$C1&$D1&$E1&$F1<>"")*($A$1:$A$100=$A1)*($B$1:$B$100=$B1)*($C$1:$C$100=$C1)*($D$1:$D$100=$D1)*($E$1:$E$100=$E1)*($F$1:$F$100=$F1))
思路:本题还是一个重复项就可以解决了,只是你要比较的是一整行而已
那么你添加一个辅助列,辅助列把你这一行的数据连接起来,形成一个新的数据,再筛选重复项就OK了。
关于连接新数据,你可以用以下这个公式的格式:
=A1&B1&C1&D1&................
或=CONCATENATE(A1,B1,C1,D1)
中间如果要加点号如下
=A1&"."&B1&"."&C1&"."&D1
=CONCATENATE(A1,".",B1,".",C1,".",D1)
连接完成以后再使用条件格式→重复项工具
我有一个方法不知道行不行,大家评定下
先建辅助列,将所有数据合并起来,用=CONCATENATE()函数或者&号。
再通过条件格式,使用公式COUNTIF判断合并后的数据是否COUNTIF>1,标记。
测试了,可行。但有一个问题,图中也反应出来了,注意第7行,第2、5行的7、11变成第7行的71、1,也会判断相同。如果没有这种情况,辅助列直接=CONCATENATE()所有数据,要有,可以给每个数据后面再增加一个特定字符来区别。
假设数据在A到F列。
Sub color_by_zzllrr()
For i=1 to Columns(1).Find("*", , , , 1, 2).row
range("G" & i)=Range("A" & i) & "" & Range("B" & i) & "" & Range("C" & i) & "" & Range("D" & i) & "" & Range("E" & i) & "" & Range("F" & i)
Next i
For i=1 to Columns(1).Find("*", , , , 1, 2).row
If worksheetfunction.countif(range("G:G"),Range("G" & i))>1 Then
With Range("A" & i & ":C" & i)
With .Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End With
End if
Next i
Columns(7).delete
End Sub
假设数据在A到F列,选中数据区域,条件格式,使用公式:
=($A:$A=$A1)*($B:$B=$B1)*($C:$C=$C1)*($D:$D=$D1)*($E:$E=$E1)*($F:$F=$F1)
设置格式:填充黄色。