好了废话有点多,今天我们开始进入第八系列的分享,本系列的主题就是单元格,所有和单元格操作相关的一些知识点,将会在这一系列铺展开,今天我们来学习下如何获取单元格某一列数据的唯一值。
获取某列的唯一值,在我们日常工作中还是很常见的操作的, 有时候碰到重复的数据的时候,我们需要提取唯一值来进行计算和分析,不过大家都知道Excel自身并没有提取唯一值的功能,只有通过条件格式提取重复值,然后我们再删除其中的重复值保留一个唯一值的方式来实现去重 细细算下来,这个操作有不少个步骤,在之前操作的过程中,如果碰到数据比较大的话,筛选重复项的时候还会出现卡顿的情况,既然如此,我们就来尝试用VBA写一个方法,轻松的获得唯一值的方法。
其实通过VBA获得唯一值的方法有很多种,今天我们学习其中一种,RemoveDuplicates方法来获得唯一值 其实如果大家记忆好的话,在上一系列哦我们进行工作表的操作的时候,其实也用到过这个方法,今天我们来详细的展开。 这是我们今天的数据源,为了展示效果,这里我在A列总共填充了104875个数据,我们来提取下唯一值,将结果展示在C列。 Sub test()Dim l&l = Cells(Rows.Count, 1).End(xlUp).RowWith Range(Cells(2, 3), Cells(l, 3)) Range(Cells(2, 1), Cells(l, 1)).Copy Cells(2, 3) .RemoveDuplicates 1, xlYesEnd WithEnd Sub 其实代码非常的简单 直接来看看效果
来,既然已经实现了效果,那么我们来学习下代码 今天的代码很简单,只有一个知识点,就是RemoveDuplicates方法的使用,他是在VBA中获得去单元格唯一值的一个比较方便的方法, 他的好处如下: 1.代码简单 2.操作方便 当然他也有缺点 1.破坏原始数据 这是最重要也是最要命的一点,如果你的数据原始数据非常的重要的话,最好是将数据备份之后在使用此方法,或者是和我一样 想将数据复制到另外一列,在进行或取唯一值的操作。 .RemoveDuplicates 1, xlYes 可以直接使用这个方法,详细的语法结果,我这里就不讲了,因为大家可能对这个结果并不太感兴趣,我们需要带入实际的工作中场景中来使用就好。 这里掌握两个参数的用法,
其实很多的小伙伴一定都非常的疑惑这个表头不参与计算的概念,其实我当初学习的时候也是纠结了很久,我们直接用例子来说明大家或许会更加的明白 如果不忽略表头呢? |
|