286
56
If I have a column with values, and I want to find out what distinct values are in there (not how many - but the actual distinct values), how can I do that?
In SQL Server I would do something like
SELECT Distinct(MyColumn) FROM MyTable
286
56
If I have a column with values, and I want to find out what distinct values are in there (not how many - but the actual distinct values), how can I do that?
In SQL Server I would do something like
SELECT Distinct(MyColumn) FROM MyTable
305
Simpler than you might think:
18If copying data to another sheet, you must initiate the Advanced dialog from the sheet you want to copy to, otherwise you get a You can only copy filtered data to the active sheet
error. – Dave Zych – 2015-01-23T17:08:53.763
6This doesn't update when the source range values change. Is there any way to make it dynamic? – hughes – 2016-04-27T21:24:57.090
32For those of us still living a ribbon-free existence, it's Data->Filter->Advanced. – J.T. Grimes – 2009-10-01T16:39:08.910
11+1 This method is superior to Remove Duplicates if you want to keep the original data intact. – Excellll – 2012-07-13T00:58:29.430
132
Excel 2007 and 2010:
Use the Remove Duplicates
menu option under the Data header.
Excel 2003:
Easy way:
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.
22Thanks!
This is a proof that Stack Exchange is way better than any other source for technical information. All other google results are useless, and unranked. Also I wonder how experts-exchange survive – Eran Medan – 2011-03-23T02:53:32.513
22
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).
1As with all Excel formulas, you may need to use semicolons (;
) instead of commas (,
) based on your system’s regional settings. – Scott – 2017-09-20T23:12:36.333
22
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
.
1The PivotTable technique is brilliant! Thanks for this. – Thomas L Holaday – 2014-04-17T13:53:13.127
5
Or you can include the filter option in a macro
Columns("A:A").AdvancedFilter Action:=xlFilterInPlace, Unique:=True
4
For me, the most simple way to sort is to use "Filter" option.
First step is to find the duplicate values with Conditional Formatting -> Highlight Cells Rules -> Duplicate Values.
Then click the arrow on the Column you have the duplicates (in this case "Platforms") -> Filter by Color (Cells color or font color).
1The outcome here is different, as all instances of duplicates are removed. E.g. the column with values [a, a, b]
should reduce to [a, b]
, not [b]
. – Hugo Ideler – 2018-02-13T10:13:36.340
@HugoIdeler, "all instances of duplicates are removed", exactly what I am needing! – Nathan Goings – 2020-02-19T20:48:45.373
Related: http://stackoverflow.com/questions/13307927/ignore-duplicates-and-create-new-list-of-unique-values-in-excel
– alexanderbird – 2015-11-17T23:54:47.220