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

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

如果我有一列带有值的东西,而且我想找出其中有哪些不同的值(不是有多少个,而是实际的不同值),我该怎么做?

在 SQL Server 中我会做类似的事情

SELECT Distinct(MyColumn) FROM MyTable

答案1

比你想象的要简单:

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

在此处输入图片描述

答案2

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

这样你就得到了一个不同的列表。你可能想先将列表复制到另一张表。

答案3

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

在 B1 中,

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

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

答案4

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

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

相关内容