乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > EXCEL怎样去重?

EXCEL怎样去重?

作者:乔山办公网日期:

返回目录:excel表格制作


1、先对数据进行排序。全选所有数据,点击数据栏目下的排序,弹出排序对话框。

2、在排序对话框中把要对比的每一列数据依次作为条件进行排序。如果数据有标题行,需要把“数据包含标题”前的选框打勾。

3、在对应的空白单元格(图中是D2)中输入公式:“=if(and(A2=A3,B2=B3,C2=C3),true)”,然后点击回车。

4、鼠标放在D2单元格的右下角,出现“+”时双击鼠标,自动向下填充单元格。可以看到重复的数据在D列单元格显示的是TRUE。

5、全选D列新增的数据,点击鼠标右键,点选择性粘贴,在弹出的对话框中选择数值格式,点击确定。

6、可以看到最后的结果,D列是TRUE的都排到了表格后面,选中zd删除即可。



EXCEL去重(去掉重复数据)的方法:

1.单击“数据”选项卡,选择“数据工具”选项组中的“删除重复项”

2.列中包含的各项为表头的标题,若勾选某列,则表示需判断此列数据是否重复;选择多列,则表示各列数据均重复才判断为重复数据。设置完成后,单击确定按钮。

3.此时,Excel会提示已删除重复项,保留唯一值。

4.最终结果(黄色部分为删除重复项后所保留的唯一项)。


这些看似复杂的工作,在VBA面前非常简单,下图是我的例子数据:

我输入的程序如下图:


程序执行完毕后,所zd有数字只保留首次出现的情况,重复出现时被清空,如下图:

然后CTRL+G定位空单元格后删除即可。

文本的程序代码如下,你可以粘贴使用:

Option Explicit


Sub 全表去重()

    Dim db, arr, i, j

    Set db = CreateObject("Scripting.Dictionary")

    arr = ActiveSheet.UsedRange

    For i = 1 To UBound(arr)

    For j = 1 To UBound(arr, 2)

        If db.Exists(arr(i, j)) Then arr(i, j) = "" Else db.Add arr(i, j), True

    Next j, i

    ActiveSheet.UsedRange = arr

End Sub



excel 中对行的操作远不如列操作来的方便,如果楼主不愿用行列转置来解决这个问题的话不妨试试以下方法:

假设数据区域为A1:E1,

情况1:如果你只是要把该行中的重复数据删除,而不是删除整列,使用公式                 A2=IF(COUNTIF(A1:E1,A1:E1)>1,"",COUNTIF(A1:E1,A1:E1)),输入完成后公式向右填充即可将重复数据显示为空值,然后复制-->选择性粘贴-->粘贴为数字取代源数据。

情况2:如果你要把重复数据的整列进行删除,使用公式

A2=IF(COUNTIF(A1:E1,A1:E1)>1,a,COUNTIF(A1:E1,A1:E1)), 输入完成后公式向右填充,显示错误值的即为重复数据-->然后F5定位-->定位条件-->公式(错误)-->确定,定位完成后所有的重复数据列被选中-->右键删除整列即可。

相关阅读

  • EXCEL怎样去重?

  • 乔山办公网excel表格制作
  • 1、先对数来据进行排序。全选所有数据,点击数据栏目下的排序,弹出排序对话框。2、在排序对话框中把要对比的每一列数据依次作为条件进行排序。如果数据有标题行,需要把“数据
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网