如何在Excel的列中获取唯一/唯一值?


Answers:


297

比您想像的要简单:

  • 单击数据功能区菜单
  • 在“ 排序和过滤器”部分中选择“ 高级”按钮
  • 填写对话框,将结果复制到另一个位置,并确保选中“仅唯一记录”

在此处输入图片说明


30
对于仍然生活在无丝带状态下的我们来说,这是“数据”->“过滤器”->“高级”。
JT Grimes

10
+1如果要保持原始数据完整,此方法优于“删除重复项”。
Excellll 2012年

17
如果将数据复制到另一个工作表,则必须从要复制到的工作表启动“高级”对话框,否则会出现You can only copy filtered data to the active sheet错误。
Dave Zych 2015年

5
当源范围值更改时,这不会更新。有什么办法可以使其动态吗?
拥抱

129

Excel 2007和2010:
使用Remove Duplicates数据”标题下的菜单选项。

Excel 2003:
简单方法:

  1. 确保您的数据具有标题
  2. 数据->过滤器->高级过滤器
  3. 仅检查唯一记录
  4. 选择复制到另一个位置
  5. 点击确定

艰辛的道路:

用以下代码编写宏:

'Remove duplicates from sorted list
Sub getDistinct()
    Do While ActiveCell.Value <> ""
        If ActiveCell.Value = ActiveCell.Offset(1, 0).Value Then
            ActiveCell.Select
            Selection.Delete Shift:=xlUp
        Else
            ActiveCell.Offset(1, 0).Activate
        End If
    Loop
End Sub

这为您提供了独特的列表。您可能需要先将列表复制到另一张纸上。


20
谢谢!这证明了Stack Exchange比其他任何技术信息来源都要好。Google的所有其他结果都是无用的,并且没有排名。我也想知道专家交流如何生存
Eran Medan

21

我使用两种主要方法来获取不同的值-第一种是Nathan DeWitt建议的无价Remove Duplicates工具。

不利的一面Remove Duplicates是您丢失了数据。尽管具有Ctrl+的功能z,但由于各种原因,您可能不希望执行此操作-例如,您可能当前选择了一些过滤器,这些过滤器使删除重复项以获取不同的值列表非常麻烦。

上面未提及的另一种方法是使用数据透视表。

假设这是您的表,并且您想要获得不同的平台列表。 哑表

插入一个Pivot Table带有表的数据源。

现在,选择“ 平台”列作为Row Labels

瞧!不同值的列表。

将数据透视表作为非重复值列表

如果您希望整理一下,可以将其关闭Field Headers并设置Grand TotalsOff for Rows and Columns


1
数据透视表技术很棒!谢谢你
Thomas L Holaday 2014年

20

或(一种简单的粗略方法):

在B1中

=IF(COUNTIF(A$1:A1,A1)=1,A1,"") 

然后抄下来 它只是复制每个值的第一次出现(在出现该值的行中)。


1
与所有Excel公式一样,您可能需要根据系统的区域设置使用分号(;)而不是逗号(,)。
斯科特(Scott)

5

或者您可以在宏中包含过滤器选项

    Columns("A:A").AdvancedFilter Action:=xlFilterInPlace, Unique:=True

3

对我来说,最简单的排序方式是使用“过滤器”选项。

第一步是使用条件格式->突出显示单元格规则->重复值来查找重复值。

然后单击具有重复项的列上的箭头(在本例中为“平台”)->按颜色过滤(单元格颜色或字体颜色)。


此处的结果是不同的,因为删除了所有重复实例。例如,具有值的列[a, a, b]应减少为[a, b],而不是[b]
Hugo Ideler
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.