How do I get the distinct/unique values in a column in Excel?
Simpler than you might think:
- Click the Data Ribbon Menu
- Select the Advanced Button in the Sort & Filter section
- Fill in the dialog Box, copying the results to another location and making sure you tick Unique records only
Excel 2007 and 2010:
Use the Remove Duplicates
menu option under the Data header.
Excel 2003:
Easy way:
- Make sure your data has a header
- Data --> Filter --> Advanced Filter
- Check Unique Records Only
- Select Copy to another location
- Click OK
Hard way:
Write a macro with the following code:
'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
That gives you your distinct list. You may want to copy your list to another sheet first.
Or (a simple crude way):
In B1,
=IF(COUNTIF(A$1:A1,A1)=1,A1,"")
and copy down. It just copies the first occurrence of each value across (in the row that it occurs in).
I use two main methods to get distinct values - the first is the invaluable Remove Duplicates
tool as suggested by Nathan DeWitt.
The downside to Remove Duplicates
is that you lose data. Despite the power of Ctrl+z you may not wish to do this for various reasons - eg you may have filters currently selected that make it quite messy to remove duplicates to get your distinct list of values.
The other method, not mentioned above is to use a Pivot Table.
Let's say this is your table and you want to get the distinct list of Platforms.
Insert a Pivot Table
with the table as your data source.
Now select the Platform(s) column as your Row Labels
.
Voila! A list of distinct values.
If you wish to tidy this up, you can switch off Field Headers
and set Grand Totals
to be Off for Rows and Columns
.