Direkt zum Inhalt

Wie extrahiere ich eindeutige Werte aus mehreren Spalten in Excel?

Angenommen, Sie haben mehrere Spalten mit mehreren Werten, werden einige Werte in derselben Spalte oder in einer anderen Spalte wiederholt. Und jetzt möchten Sie die Werte, die in beiden Spalten vorhanden sind, nur einmal finden. Gibt es schnelle Tricks, mit denen Sie eindeutige Werte aus mehreren Spalten in Excel extrahieren können?


Extrahieren Sie mit Formeln eindeutige Werte aus mehreren Spalten

In diesem Abschnitt werden zwei Formeln behandelt: eine, die eine Array-Formel verwendet, die für alle Excel-Versionen geeignet ist, und eine andere, die eine dynamische Array-Formel speziell für Excel 365 verwendet.

Extrahieren Sie eindeutige Werte aus mehreren Spalten mit der Array-Formel für alle Excel-Versionen

Für Benutzer jeder Excel-Version können Arrayformeln ein leistungsstarkes Werkzeug zum Extrahieren eindeutiger Werte über mehrere Spalten hinweg sein. So können Sie es machen:

1. Angenommen, Ihre Werte liegen im Bereich A2: C9Bitte geben Sie die folgende Formel in Zelle E2 ein:

=INDIRECT(TEXT(MIN(IF(($A$2:$C$9<>"")*(COUNTIF($E$1:E1,$A$2:$C$9)=0),ROW($2:$9)*100+COLUMN($A:$C),7^8)),"R0C00"),)&""
Note: In der obigen Formel A2: C9 gibt den Zellenbereich an, aus dem Sie die eindeutigen Werte extrahieren möchten. E1: E1 ist die erste Zelle der Spalte, in der Sie das Ergebnis platzieren möchten. $ 2: $ 9 Ständer für die Zeilen enthalten die Zellen, die Sie verwenden möchten, und $ A: $ C. Gibt an, dass die Spalten die Zellen enthalten, die Sie verwenden möchten. Bitte ändern Sie sie zu Ihren eigenen.

2. Dann drücken Umschalt + Strg + Eingabetaste Drücken Sie die Tasten zusammen und ziehen Sie dann den Füllpunkt, um die eindeutigen Werte zu extrahieren, bis leere Zellen angezeigt werden. Siehe Screenshot:

Erklärung dieser Formel:
  1. $ A $ 2: $ C $ 9: Dies gibt den zu überprüfenden Datenbereich an, also die Zellen von A2 bis C9.
  2. IF(($A$2:$C$9<>"")*(COUNTIF($E$1:E1,$A$2:$C$9)=0), ROW($2:$9)*100+COLUMN($A:$C), 7^8):
    • $A$2:$C$9<>"" prüft, ob die Zellen im Bereich nicht leer sind.
    • COUNTIF($E$1:E1,$A$2:$C$9)=0 ermittelt, ob die Werte dieser Zellen noch nicht im Zellbereich von E1 bis E1 aufgeführt sind.
    • Wenn beide Bedingungen erfüllt sind (d. h. der Wert ist nicht leer und noch nicht in Spalte E aufgeführt), berechnet die IF-Funktion eine eindeutige Zahl basierend auf ihrer Zeile und Spalte (ROW($2:$9)*100+COLUMN($A: $C)).
    • Wenn die Bedingungen nicht erfüllt sind, gibt die Funktion eine große Zahl (7^8) zurück, die als Platzhalter dient.
  3. MINDEST(...): Findet die kleinste von der obigen IF-Funktion zurückgegebene Zahl, die der Position des nächsten eindeutigen Werts entspricht.
  4. TEXT(...,"R0C00"): Wandelt diese Mindestanzahl in eine Adresse im R1C1-Stil um. Der Formatcode R0C00 gibt die Konvertierung der Zahl in das Excel-Zellenreferenzformat an.
  5. INDIREKT(...): Verwendet die Funktion INDIRECT, um die im vorherigen Schritt generierte Adresse im R1C1-Stil wieder in eine normale Zellreferenz im A1-Stil umzuwandeln. Die INDIRECT-Funktion ermöglicht die Zellreferenzierung basierend auf dem Inhalt einer Textzeichenfolge.
  6. &"": Durch Anhängen von &"" am Ende der Formel wird sichergestellt, dass die endgültige Ausgabe als Text behandelt wird, sodass gerade Zahlen als Text angezeigt werden.
 
Extrahieren Sie eindeutige Werte aus mehreren Spalten mit der Formel für Excel 365

Excel 365 unterstützt dynamische Arrays, wodurch es viel einfacher wird, eindeutige Werte aus mehreren Spalten zu extrahieren:

Bitte geben Sie die folgende Formel ein oder kopieren Sie sie in eine leere Zelle, in die Sie das Ergebnis einfügen möchten, und klicken Sie dann Enter Schlüssel, um alle eindeutigen Werte auf einmal zu erhalten. Siehe Screenshot:

=UNIQUE(TOCOL(A2:C9,1))


Extrahieren Sie mit Kutools AI Aide eindeutige Werte aus mehreren Spalten

Entfesseln Sie die Leistung Kutools KI-Assistent um eindeutige Werte aus mehreren Spalten in Excel nahtlos zu extrahieren. Mit nur wenigen Klicks durchsucht dieses intelligente Tool Ihre Daten und identifiziert und listet eindeutige Einträge in jedem ausgewählten Bereich auf. Vergessen Sie den Aufwand mit komplexen Formeln oder VBA-Code; genießen Sie die Effizienz von Kutools KI-Assistent und verwandeln Sie Ihren Excel-Workflow in ein produktiveres und fehlerfreieres Erlebnis.

Note: Um dies zu verwenden Kutools KI-Assistent of Kutools for Excel, Bitte Laden Sie Kutools für Excel herunter und installieren Sie es zuerst.

Klicken Sie nach der Installation von Kutools for Excel auf Kutools KI > KI-Assistent öffnen Kutools KI-Assistent Feld:

  1. Geben Sie Ihre Anforderung in das Chatfeld ein und klicken Sie Absenden Taste oder drücken Enter Schlüssel zum Senden der Frage;
    „Extrahieren Sie eindeutige Werte aus dem Bereich A2:C9, ignorieren Sie leere Zellen und platzieren Sie die Ergebnisse beginnend bei E2:“
  2. Klicken Sie nach der Analyse auf Ausführen Taste zum Ausführen. Kutools AI Aide verarbeitet Ihre Anfrage mithilfe von KI und gibt die Ergebnisse in der angegebenen Zelle direkt in Excel zurück.


Extrahieren Sie mit Pivot Table eindeutige Werte aus mehreren Spalten

Wenn Sie mit der Pivot-Tabelle vertraut sind, können Sie die eindeutigen Werte mit den folgenden Schritten problemlos aus mehreren Spalten extrahieren:

1. Fügen Sie zunächst eine neue leere Spalte links von Ihren Daten ein. In diesem Beispiel füge ich Spalte A neben den Originaldaten ein.

2. Klicken Sie auf eine Zelle in Ihren Daten und drücken Sie Alt + D Tasten, dann drücken P Schlüssel sofort, um die zu öffnen PivotTable- und PivotChart-Assistent, wählen Mehrere Konsolidierungsbereiche Siehe Schritt 1 des Assistenten, siehe Screenshot:

3. Dann klick Weiter Schaltfläche, überprüfen Erstellen Sie ein einzelnes Seitenfeld für mich Option in Assistent Schritt 2, siehe Screenshot:

4. Klicken Sie weiter Weiter Klicken Sie auf die Schaltfläche, um den Datenbereich auszuwählen, der die linke neue Zellenspalte enthält, und klicken Sie dann auf Speichern Schaltfläche, um den Datenbereich zum hinzuzufügen Alle Bereiche Listenfeld, siehe Screenshot:

5. Klicken Sie nach Auswahl des Datenbereichs weiter WeiterWählen Sie im Schritt 3 des Assistenten aus, wo Sie den PivotTable-Bericht nach Ihren Wünschen ablegen möchten.

6. Endlich, klick Endziel Um den Assistenten abzuschließen, wurde im aktuellen Arbeitsblatt eine Pivot-Tabelle erstellt, und deaktivieren Sie dann alle Felder im Feld Wählen Sie Felder aus, die dem Bericht hinzugefügt werden sollen Abschnitt, siehe Screenshot:

7. Dann überprüfen Sie das Feld Wert oder ziehen Sie den Wert auf die Reihen Beschriftung, jetzt erhalten Sie die eindeutigen Werte aus den mehreren Spalten wie folgt:


Extrahieren Sie eindeutige Werte aus mehreren Spalten mit VBA-Code

Mit dem folgenden VBA-Code können Sie die eindeutigen Werte auch aus mehreren Spalten extrahieren.

1. Halten Sie die Taste gedrückt ALT + F11 Tasten, und es öffnet die Microsoft Visual Basic für Applikationen-Fenster.

2. Klicken Sie Insert > Modulund fügen Sie den folgenden Code in das Modulfenster ein.

VBA: Extrahieren Sie eindeutige Werte aus mehreren Spalten

Sub Uniquedata()
'Updateby Extendoffice
Dim rng As Range
Dim InputRng As Range, OutRng As Range
Set dt = CreateObject("Scripting.Dictionary")
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
For Each rng In InputRng
    If rng.Value <> "" Then
        dt(rng.Value) = ""
    End If
Next
OutRng.Range("A1").Resize(dt.Count) = Application.WorksheetFunction.Transpose(dt.Keys)
End Sub

3. Dann drücken F5 Um diesen Code auszuführen, wird ein Eingabeaufforderungsfeld angezeigt, das Sie daran erinnert, den Datenbereich auszuwählen, den Sie verwenden möchten. Siehe Screenshot:

4. Und dann klick OKEin weiteres Eingabeaufforderungsfeld wird angezeigt, in dem Sie einen Ort für die Platzierung des Ergebnisses auswählen können (siehe Screenshot).

5. Klicken Sie auf Kostenlos erhalten und dann auf Installieren. OK Um diesen Dialog zu schließen, wurden alle eindeutigen Werte auf einmal extrahiert.


Weitere relative Artikel:

  • Zählen Sie die Anzahl der eindeutigen und eindeutigen Werte aus einer Liste
  • Angenommen, Sie haben eine lange Liste von Werten mit einigen doppelten Elementen. Jetzt möchten Sie die Anzahl der eindeutigen Werte (die Werte, die nur einmal in der Liste angezeigt werden) oder der unterschiedlichen Werte (alle unterschiedlichen Werte in der Liste bedeutet dies eindeutig) zählen Werte + 1. doppelte Werte) in einer Spalte wie links gezeigt. In diesem Artikel werde ich darüber sprechen, wie man mit diesem Job in Excel umgeht.
  • Extrahieren Sie eindeutige Werte basierend auf Kriterien in Excel
  • Angenommen, Sie haben den folgenden Datenbereich, in dem Sie nur die eindeutigen Namen von Spalte B basierend auf einem bestimmten Kriterium von Spalte A auflisten möchten, um das Ergebnis wie im folgenden Screenshot zu erhalten. Wie können Sie diese Aufgabe in Excel schnell und einfach erledigen?
  • Nur eindeutige Werte in Excel zulassen
  • Wenn Sie nur eindeutige Werte in eine Spalte des Arbeitsblatts eingeben und die Duplikate vermeiden möchten, werden in diesem Artikel einige schnelle Tricks vorgestellt, mit denen Sie diese Aufgabe lösen können.
  • Summe eindeutiger Werte basierend auf Kriterien in Excel
  • Zum Beispiel habe ich einen Datenbereich, der jetzt Spalten für Name und Reihenfolge enthält, um nur eindeutige Werte in der Spalte Reihenfolge basierend auf der Spalte Name zu summieren, wie im folgenden Screenshot gezeigt. Wie kann man diese Aufgabe schnell und einfach in Excel lösen?

Beste Office-Produktivitätstools

🤖 Kutools KI-Assistent: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung   |  Code generieren  |  Erstellen Sie benutzerdefinierte Formeln  |  Analysieren Sie Daten und erstellen Sie Diagramme  |  Rufen Sie Kutools-Funktionen auf...
Beliebte Funktionen: Suchen, markieren oder identifizieren Sie Duplikate   |  Leere Zeilen löschen   |  Kombinieren Sie Spalten oder Zellen, ohne Daten zu verlieren   |   Runde ohne Formel ...
Super-Lookup: VLookup mit mehreren Kriterien    VLookup mit mehreren Werten  |   VLookup über mehrere Blätter hinweg   |   Unscharfe Suche ....
Erweiterte Dropdown-Liste: Erstellen Sie schnell eine Dropdown-Liste   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl Dropdown-Liste ....
Spaltenmanager: Fügen Sie eine bestimmte Anzahl von Spalten hinzu  |  Spalten verschieben  |  Schalten Sie den Sichtbarkeitsstatus ausgeblendeter Spalten um  |  Vergleichen Sie Bereiche und Spalten ...
Ausgewählte Funktionen: Rasterfokus   |  Designansicht   |   Große Formelleiste    Arbeitsmappen- und Blattmanager   |  Ressourcen (Autotext)   |  Datumsauswahl   |  Arbeitsblätter kombinieren   |  Zellen verschlüsseln/entschlüsseln    Senden Sie E-Mails nach Liste   |  Superfilter   |   Spezialfilter (Filter fett/kursiv/durchgestrichen...) ...
Top 15 Toolsets12 Text Tools (Text hinzufügen, Zeichen entfernen, ...)   |   50+ Chart Typen (Gantt-Diagramm, ...)   |   40+ Praktisch Formeln (Berechnen Sie das Alter basierend auf dem Geburtstag, ...)   |   19 Einfügen Tools (QR-Code einfügen, Bild aus Pfad einfügen, ...)   |   12 Umwandlung (Conversion) Tools (Zahlen zu Wörtern, Currency Conversion, ...)   |   7 Zusammenführen & Teilen Tools (Erweiterte Zeilen kombinieren, Zellen teilen, ...)   |   ... und mehr

Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen.  Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...

Beschreibung


Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
Comments (31)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Thank you for this solution, however what if the columns are in separate excel sheet? or is in separate columns instead of a table?
This comment was minimized by the moderator on the site
Hello, Jon,
The methods in this article ar only works well for a range of data, if your data in separate columns, you should copy and paste them into one range first, and then apply the formula or VBA code.
Thank you!
This comment was minimized by the moderator on the site
Thank you for this great article.

For people who are using the array formular in non-English Excel there must be taken special care of the text format string: in your example: "R0C00".
For German this would translate to "Z0S00". However, "S" is a special character refering to seconds for time formating. This character needs to be escaped and therefore the correct format string for German Excel is "Z0\S00".

I hope this helps someone in the future :-)
This comment was minimized by the moderator on the site
Hello, Michael H.
Thanks for your kindly explanation.
Hope this can help others in the future.😄
This comment was minimized by the moderator on the site
Thank you for this great article.

For people who are using the array formular in non-English Excel there must be taken special care of the text format string: in your example: "R0C00".
For German this would translate to "Z0S00". However, "S" is a special character refering to seconds for time formating. This character needs to be escaped and therefore the correct format string for German Excel is "Z0\S00".

I hope this helps someone in the future :-)
This comment was minimized by the moderator on the site
Hello Sir! The VBA worked wonders, thank you very much for that! I was wondering, If I change the original data, is it possible to refresh the column with the unique values automatically?
Rated 5 out of 5
This comment was minimized by the moderator on the site
Hello Ioannis,

Glad to help. After you change the original data, the VBA can not refresh the result automatically. And the easiest way I can think of is to press Ctrl + Alt + F9 to refresh all results in worksheets in all open workbooks. Have a nice day.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
The array formula at the top is working great when used with data in the same sheet, however when I try to use it to reference the same exact data from another sheet the formula returns nothing. I'm unable to figure out why. Is there a limitation with array functions that prevents you from referencing ranges in a different sheet?

Thanks for any insight you can provide.
This comment was minimized by the moderator on the site
Hello Erin,

Glad to help. The INDIRECT function in this formula is more complicated to use when referencing data in other worksheets. It is not recommended to use this feature when referencing ranges in different worksheets.

For example: Now the data is in Sheet1, I want to reference the content of cell C2 of Sheet1 in Sheet2. First, in any two cells in Sheet2, such as D1 and D2, enter Sheet1 and C2, respectively. At this point, enter the formula in the empty cell of Sheet2:
=INDIRECT("'"&D1&"'!"&D2), then the content of cell C2 in Sheet1 can be returned.

As you can see, it make things way more complex. Hope my explanation can help. Have a nice day.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
Czy to żart?
This comment was minimized by the moderator on the site
can we create uniqdata function instead of macro?
This comment was minimized by the moderator on the site
Hi, İlhan,If you like a User Defined Function to create a formula for solving this problem, the below code may help you:After inserting the code, select a list of cells where you want to put the results. Then type this formula:=Uniques(A1:C4)  in the formula bar.Press Ctrl+Shift+Enter keys together. 


Function Uniques(ByVal inputRange As Range)
Dim inputArray As Variant
Dim myColl As New Collection
Dim xVal As Variant
Dim outArray() As Variant
On Error Resume Next
With inputRange
inputArray = Application.Intersect(.Cells, .Parent.UsedRange).Value
End With
On Error GoTo 0
On Error Resume Next
For Each xVal In inputArray
myColl.*** Item:=xVal, Key:=(CStr(xVal) & TypeName(xVal))
Next xVal
myColl.Remove "String"
On Error GoTo 0
ReDim outArray(1 To Application.Max(myColl.Count, Application.Caller.Cells.Count))
For xVal = 1 To UBound(outArray)
outArray(xVal) = vbNullString
Next xVal
For xVal = 1 To Application.Min(myColl.Count, Application.Caller.Cells.Count)
outArray(xVal) = myColl(xVal)
Next xVal
If Application.Caller.Columns.Count = 1 Then
Uniques = Application.Transpose(outArray)
Else
Uniques = outArray
End If
End Function
This comment was minimized by the moderator on the site
Thanks for the code. I'm using the VBA code of this page. Is there a way to add a sorting code after the unique values are extracted so it sorts it automatically?
This comment was minimized by the moderator on the site
Regarding the formula version, could you explain in more detail what this portion is doing? *100+COLUMN($A:$C),7^8)),"R0C00") Specifically, what are the *100, 7^8, and "R0C000" doing? I'm understanding everything else, but I can't figure out what these are for.
This comment was minimized by the moderator on the site
Little late for my response here but...
ROW($2:$9)*100 - this is multiplying the row number *100, so if it's in row 5, now the number is 500
COLUMN($A:$C) - this gets added to the row*100 number, so if it's row 5 col 2, then the number is 502.
7^8)), - this (I think) is to have a max value for the min statement from earlier.
"R0C00") - this formats the text based on the number. In the example, we had 502 so this gives R5C02 (row 5, col 02).

If you have a lot of columns but not many rows, then you could change it to ROW($2:$9)*1000+COLUMN($A:$C),7^8)),"R0C000")
This comment was minimized by the moderator on the site
i've adjusted to my sheet but am only returning the first value in the defined array... what am i missing?
This comment was minimized by the moderator on the site
Hello, Cody,
The above formula works well in my worksheet, could you give a screenshot of your data problem here?
Thank you!
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations