excel删除重复项单元格大小不同
2023-01-24阅读(1023)
问:excel中如何去除重复项,区分大小写
- 答: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 - 答:示意图如下:
在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键,公式下拉. - 答:允许用宏的话:
假设数据在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列 - 答:=MAX(IF(EXACT($A$2:$A$21,A2),$B$2:$B$21))
按三键CTRL+SHIFT+ENTER结束公式输入
下拉填充
问:excel同列的相同项目,排序不成功。弹出“ 单元格大小不同”,怎么回事?
- 答:怎么回事?警示框不是明确告诉你了吗!因为你的工作表存在合并单元格,且合并单元格的大小不同!
Excel中一般尽量不要合并单元格,否则很多操作会无法进行,如你现在的情况,或者使用公式时增加困难,因为合并单元格外观上的一个单元格实际还是多个单元格。如A2:C2合并后,只保留了A2单元格中的数据,而B2、C2为空,当引用A2时,可以引用到A2的数据,公式向右拖时,引用的B2就是空值(当0对待),很可能就不是你需要的结果了。
你现在的排序,因为数据区域有合并单元格,如果合并的单元格大小相同,即如某两列合并,或所有行都是两行合并成一行,那么排序还是可以完成的,但这样的合并肯定不是你所需要的了。 - 答:已经提醒有合并单元格了
建议楼主查一下吧,看看合并单元格在什么位置吧
调整之后看看是否可以排序的
问:excel中,想对同一列元素去除重复的元素,但是直接用excel中的去重无法区分大小写怎么办?
- 答:先建个辅助列,如B列,输入公式=SUMPRODUCT(EXACT(A$1:A1,A1)*1)
然后筛选出B列大于1的值,删除 - 答: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 - 答:自带的是区分大小写的,建议用公式去重