excel删除重复项单元格大小不同

excel删除重复项单元格大小不同

问:excel中如何去除重复项,区分大小写
  1. 答:excel中处理重复数据的方法比较多,常见的有以下几种:
     条件格式:选中源数据区域-->开始-->条件格式-->新建规则-->对于唯一值或重复值设置格式-->格式-->选择一种填充色-->确定,操作完成后,源数据区域所有的重复数据便被标记上了颜色。此方法的优点是源数据区域可以是一个跨行列的数组区域。
    “删除重复项”功能:数据-->删除重复项-->以当前选定区域排序-->确定。此方法可以方便快捷的保留非重复数据,但是仅限于单列操作。
    公式法:辅助列输入公式=countif(A1:A10,A1:A10)下拉,然后筛选公式值为1的列。
    VBA法:输入如下代码:
    Sub tst()
    Dim cel1 As Range
    Dim cel2 As Range
    For Each cel1 In UsedRange
     For Each cel2 In UsedRange
      If cel1 = cel2 And cel1.Row > cel2.Row Then cel2.Interior.ColorIndex = 20
     Next
    Next
    End Sub
  2. 答:示意图如下:
    在C2中输入公式:=INDEX(A:A,SMALL(IF(MATCH(A$2:A$10001&"",A$2:A$10001&"",)=ROW($2:$10001)-1,ROW($2:$10001),4^8),ROW(A1)))&""  ,同时按下ENTER键,SHIFT键,和CTRL键,公式下拉.
    在D2中输入公式:=MAX((A$2:A$10001=C2)*B$2:B$10001)  ,同时按下ENTER键,SHIFT键,和CTRL键,公式下拉.
  3. 答:允许用宏的话:
    假设数据在AB列从第一行开始
    sub t()
        dim dic as object
        set dic=createobject("scripting.dictionary")
        arr=[a1].currentregion
        for i=1 to ubound(arr,1)
            if dic.exists(arr(i,1))=false then
                dic(arr(i,1))=arr(i,2)
            else
                if arr(i,2)>dic(arr(i,1)) then dic(arr(i,1))=arr(i,2)
            end if
        next
        [c1].resize(dic.count,1)=application.transpose(dic.keys)
        [d1].resize(dic.count,1)=application.transpose(dic.items)           
    end sub
    运行宏,结果在CD列
  4. 答:=MAX(IF(EXACT($A$2:$A$21,A2),$B$2:$B$21))
    按三键CTRL+SHIFT+ENTER结束公式输入
    下拉填充
问:excel同列的相同项目,排序不成功。弹出“ 单元格大小不同”,怎么回事?
  1. 答:怎么回事?警示框不是明确告诉你了吗!因为你的工作表存在合并单元格,且合并单元格的大小不同!
    Excel中一般尽量不要合并单元格,否则很多操作会无法进行,如你现在的情况,或者使用公式时增加困难,因为合并单元格外观上的一个单元格实际还是多个单元格。如A2:C2合并后,只保留了A2单元格中的数据,而B2、C2为空,当引用A2时,可以引用到A2的数据,公式向右拖时,引用的B2就是空值(当0对待),很可能就不是你需要的结果了。
    你现在的排序,因为数据区域有合并单元格,如果合并的单元格大小相同,即如某两列合并,或所有行都是两行合并成一行,那么排序还是可以完成的,但这样的合并肯定不是你所需要的了。
  2. 答:已经提醒有合并单元格了
    建议楼主查一下吧,看看合并单元格在什么位置吧
    调整之后看看是否可以排序的
问:excel中,想对同一列元素去除重复的元素,但是直接用excel中的去重无法区分大小写怎么办?
  1. 答:先建个辅助列,如B列,输入公式=SUMPRODUCT(EXACT(A$1:A1,A1)*1)
    然后筛选出B列大于1的值,删除
  2. 答:Sub CS()
    For i = 1 To [A65556].End(3).Row
    If InStr(t, Cells(i, 1)) = 0 Then t = t & " " & Cells(i, 1)
    Next
    a = Split(t, " ")
    For j = 1 To UBound(a)
    Cells(j, 2) = a(j)
    Next
    End Sub
  3. 答:自带的是区分大小写的,建议用公式去重
excel删除重复项单元格大小不同
下载Doc文档

猜你喜欢