excel中如何去除重复项,区分大小写

我想要比较大的数值,把小的数值删掉,有公式啊?
2024-12-22 00:27:17
推荐回答(4个)
回答1:

excel中处理重复数据的方法比较多,常见的有以下几种:

  1.  条件格式:选中源数据区域-->开始-->条件格式-->新建规则-->对于唯一值或重复值设置格式-->格式-->选择一种填充色-->确定,操作完成后,源数据区域所有的重复数据便被标记上了颜色。此方法的优点是源数据区域可以是一个跨行列的数组区域。

  2. “删除重复项”功能:数据-->删除重复项-->以当前选定区域排序-->确定。此方法可以方便快捷的保留非重复数据,但是仅限于单列操作。

  3. 公式法:辅助列输入公式=countif(A1:A10,A1:A10)下拉,然后筛选公式值为1的列。

  4. 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结束公式输入
下拉填充