返回目录: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定位-->定位条件-->公式(错误)-->确定,定位完成后所有的重复数据列被选中容-->右键删除整列即可。