在excel2003中请问如何快速找出行数据重复项(按数据相同和顺序相同)找到并标记颜色?

使用VBA,数组等方法
2024-11-06 21:37:05
推荐回答(5个)
回答(1):

假设数据在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))

回答(2):

  1. 思路:本题还是一个重复项就可以解决了,只是你要比较的是一整行而已

    那么你添加一个辅助列,辅助列把你这一行的数据连接起来,形成一个新的数据,再筛选重复项就OK了。

  2. 关于连接新数据,你可以用以下这个公式的格式:

    =A1&B1&C1&D1&................

    或=CONCATENATE(A1,B1,C1,D1)

    中间如果要加点号如下

    =A1&"."&B1&"."&C1&"."&D1

    =CONCATENATE(A1,".",B1,".",C1,".",D1)

  3. 连接完成以后再使用条件格式→重复项工具

回答(3):

我有一个方法不知道行不行,大家评定下

先建辅助列,将所有数据合并起来,用=CONCATENATE()函数或者&号。

再通过条件格式,使用公式COUNTIF判断合并后的数据是否COUNTIF>1,标记。


测试了,可行。但有一个问题,图中也反应出来了,注意第7行,第2、5行的7、11变成第7行的71、1,也会判断相同。如果没有这种情况,辅助列直接=CONCATENATE()所有数据,要有,可以给每个数据后面再增加一个特定字符来区别。

回答(4):

假设数据在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

回答(5):

假设数据在A到F列,选中数据区域,条件格式,使用公式:
=($A:$A=$A1)*($B:$B=$B1)*($C:$C=$C1)*($D:$D=$D1)*($E:$E=$E1)*($F:$F=$F1)
设置格式:填充黄色。