2009-10-01 15:34:54 +0000 2009-10-01 15:34:54 +0000
286
286
Advertisement

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

Advertisement

如果我有一列的值,我想知道里面有哪些不同的值(不是多少,而是实际的不同值),我该怎么做?

在SQL Server中,我会做类似

SELECT Distinct(MyColumn) FROM MyTable
```这样的事情。
Advertisement

答案 (6)

305
305
305
2009-10-01 15:48:38 +0000

比你想象的简单:

  • 点击数据功能区菜单
  • 选择Sort & Filter部分中的高级按钮
  • 填写对话框,将结果复制到另一个位置,并确保你勾选唯一记录

132
132
132
2009-10-01 15:43:50 +0000

Excel 2007和2010: 使用数据头下的Remove Duplicates菜单选项

Excel 2003: 简单方法:

  1. 确保你的数据有一个标题
  2. Data –> Filter –> Advanced Filter
  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

这就给你提供了你的独特列表。你可能想先把你的列表复制到另一张表上。

22
Advertisement
22
22
2013-04-04 09:38:50 +0000

我使用两个主要的方法来获取不同的值–第一个是宝贵的Remove Duplicates工具由Nathan DeWitt建议。尽管Ctrl+z的功能很强大,但由于各种原因,你可能不希望这样做–例如你可能会选择了筛选器,这使得删除重复的数据以获得不同的值列表变得非常混乱。

假设这是你的表,你想得到不同的平台列表。

插入一个Remove Duplicates,将表作为数据源。

如果你想整理一下,你可以关闭Pivot Table,将Row Labels设置为Field Headers

22
22
22
2011-08-16 15:35:28 +0000

或者(一个简单粗暴的方法):

在B1中,

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

并向下复制。它只是将每个值的第一个出现的值复制到(在它出现的行中)。

5
Advertisement
5
5
2011-04-13 09:37:31 +0000

或者你可以在一个宏中包含过滤器选项

Columns("A:A").AdvancedFilter Action:=xlFilterInPlace, Unique:=True
```。
4
4
4
2017-03-06 18:54:26 +0000

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

第一步是用 "条件格式化”->高亮显示单元格规则->重复值。

Advertisement
Advertisement