如果我有一列带有值的东西,而且我想找出其中有哪些不同的值(不是有多少个,而是实际的不同值),我该怎么做?
在 SQL Server 中我会做类似的事情
SELECT Distinct(MyColumn) FROM MyTable
答案1
比你想象的要简单:
- 点击数据功能区菜单
- 选择先进的按钮在排序和过滤部分
- 填写对话框,将结果复制到另一个位置,并确保勾选仅唯一记录
答案2
Excel 2007 和 2010:
使用Remove Duplicates
菜单选项下的数据標軸。
Excel 2003:
简单的方法:
- 确保您的数据有标题
- 数据-->过滤器-->高级过滤器
- 仅检查唯一记录
- 选择复制到另一个位置
- 单击“确定”
艰辛的道路:
使用以下代码编写一个宏:
'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