Wie erhalte ich die eindeutigen Werte in einer Spalte in Excel?

281

Wenn ich eine Spalte mit Werten habe und herausfinden möchte, welche unterschiedlichen Werte darin enthalten sind (nicht wie viele, sondern die tatsächlichen unterschiedlichen Werte), wie kann ich das tun?

In SQL Server würde ich sowas machen

SELECT Distinct(MyColumn) FROM MyTable
Kjensen
quelle
Siehe auch
alexanderbird

Antworten:

297

Einfacher als Sie vielleicht denken:

  • Klicken Sie auf das Menü Data Ribbon
  • Wählen Sie die Erweiterte Schaltfläche in dem Sortieren & Filtern Abschnitt
  • Füllen Sie das Dialogfeld aus, kopieren Sie die Ergebnisse an einen anderen Speicherort und vergewissern Sie sich, dass Sie Nur eindeutige Datensätze aktivieren

Bildbeschreibung hier eingeben

Ein Zwerg
quelle
30
Für diejenigen von uns, die noch ein bandfreies Leben führen, ist es Data-> Filter-> Advanced.
JT Grimes
10
+1 Diese Methode ist dem Entfernen von Duplikaten überlegen, wenn Sie die ursprünglichen Daten intakt halten möchten.
Hervorragend
17
Wenn Sie Daten auf ein anderes Blatt kopieren, müssen Sie das Dialogfeld "Erweitert" von dem Blatt aus starten, auf das Sie kopieren möchten . Andernfalls wird eine You can only copy filtered data to the active sheetFehlermeldung angezeigt.
Dave Zych
5
Dies wird nicht aktualisiert, wenn sich die Quellbereichswerte ändern. Gibt es eine Möglichkeit, es dynamisch zu gestalten?
Hughes
129

Excel 2007 und 2010:
Verwenden Sie die Remove DuplicatesMenüoption unter der Datenüberschrift .

Excel 2003:
Einfacher Weg:

  1. Stellen Sie sicher, dass Ihre Daten einen Header haben
  2. Daten -> Filter -> Erweiterter Filter
  3. Nur eindeutige Datensätze prüfen
  4. Wählen Sie An einen anderen Ort kopieren
  5. OK klicken

Schwieriger Weg:

Schreiben Sie ein Makro mit folgendem 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

Das gibt Ihnen Ihre eigene Liste. Möglicherweise möchten Sie Ihre Liste zuerst auf ein anderes Blatt kopieren.

Nathan DeWitt
quelle
20
Vielen Dank! Dies ist ein Beweis dafür, dass Stack Exchange weitaus besser als jede andere Quelle für technische Informationen ist. Alle anderen Google-Ergebnisse sind nutzlos und werden nicht gewertet. Auch ich frage mich, wie Experten-Austausch überleben
Eran Medan
21

Ich verwende zwei Hauptmethoden, um eindeutige Werte zu erhalten - die erste ist das unschätzbare Remove DuplicatesWerkzeug, wie von Nathan DeWitt vorgeschlagen .

Der Nachteil Remove Duplicatesist, dass Sie Daten verlieren. Trotz der Potenz von Ctrl+ zmöchten Sie dies möglicherweise aus verschiedenen Gründen nicht tun - z. B. haben Sie möglicherweise Filter ausgewählt, die das Entfernen von Duplikaten zum Abrufen Ihrer eindeutigen Werteliste recht unübersichtlich machen.

Die andere oben nicht erwähnte Methode ist die Verwendung einer Pivot-Tabelle.

Angenommen, dies ist Ihre Tabelle, und Sie möchten die eindeutige Liste der Plattformen abrufen. Dummy-Tabelle

Fügen Sie ein Pivot Tablemit der Tabelle als Datenquelle ein.

Wählen Sie nun die Spalte Plattform (en) als Ihre Row Labels.

Voila! Eine Liste unterschiedlicher Werte.

Pivot-Tabelle als eindeutige Werteliste

Wenn Sie möchten , dies bis ordentlich, können Sie abschalten Field Headersund eingestellt Grand Totalswerden Off for Rows and Columns.

Andi Mohr
quelle
1
Die PivotTable-Technik ist brillant! Danke dafür.
Thomas L Holaday
20

Oder (ein einfacher grober Weg):

In B1

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

und nach unten kopieren. Es kopiert nur das erste Vorkommen jedes Werts (in der Zeile, in der es auftritt).

Tapgas
quelle
1
Wie bei allen Excel-Formeln müssen Sie möglicherweise Semikolons ( ;) anstelle von Kommas ( ,) verwenden, je nach den regionalen Einstellungen Ihres Systems.
Scott
5

Oder Sie können die Filteroption in ein Makro einfügen

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

Für mich ist die einfachste Art zu sortieren, die Option "Filter" zu verwenden.

Der erste Schritt besteht darin, die doppelten Werte mit Bedingte Formatierung -> Zellenregeln markieren -> Doppelte Werte zu finden.

Klicken Sie dann auf den Pfeil in der Spalte, in der Sie die Duplikate haben (in diesem Fall "Plattformen") -> Nach Farbe filtern (Zellenfarbe oder Schriftfarbe).

Nur ich
quelle
Das Ergebnis ist hier unterschiedlich, da alle Instanzen von Duplikaten entfernt werden. ZB soll die Spalte mit Werten [a, a, b]auf [a, b], nicht verkleinern [b].
Hugo Ideler