Direkt zum Inhalt

Wie extrahiere ich dynamisch eine Liste eindeutiger Werte aus einem Spaltenbereich in Excel?

Für einen Spaltenbereich, dessen Werte sich regelmäßig ändern, und Sie müssen immer alle eindeutigen Werte aus dem Bereich abrufen, unabhängig davon, wie er sich geändert hat. Wie erstelle ich eine dynamische Liste eindeutiger Werte? Dieser Artikel zeigt Ihnen, wie Sie damit umgehen.

Extrahieren Sie dynamisch eine Liste eindeutiger Werte aus einem Spaltenbereich mit Formel
Extrahieren Sie dynamisch eine Liste eindeutiger Werte aus einem Spaltenbereich mit VBA-Code


Extrahieren Sie dynamisch eine Liste eindeutiger Werte aus einem Spaltenbereich mit Formel

Wie im folgenden Screenshot gezeigt, müssen Sie dynamisch eine Liste eindeutiger Werte aus dem Bereich B2: B9 extrahieren. Bitte versuchen Sie die folgende Array-Formel.

1. Wählen Sie eine leere Zelle wie D2 aus, geben Sie die folgende Formel ein und drücken Sie die Taste Ctrl + Shift + Enter Tasten gleichzeitig. (B2: B9 sind die Spaltendaten, aus denen Sie die eindeutigen Werte extrahieren möchten. D1 ist die obige Zelle, in der sich Ihre Formel befindet.)

=IFERROR(INDEX($B$2:$B$9, MATCH(0,COUNTIF($D$1:D1, $B$2:$B$9), 0)),"")

2. Wählen Sie weiterhin Zelle D2 aus und ziehen Sie den Füllgriff nach unten, um alle eindeutigen Werte aus dem angegebenen Bereich zu erhalten.

Jetzt werden alle eindeutigen Werte im Spaltenbereich B2: B9 extrahiert. Wenn sich Werte in diesem Bereich ändern, wird die Liste der eindeutigen Werte sofort dynamisch geändert.

Wählen und markieren Sie ganz einfach alle eindeutigen Werte in einem Bereich in Excel:

Das Wählen Sie Doppelte und eindeutige Zellen Nutzen von Kutools for Excel Sie können auf einfache Weise alle eindeutigen Werte (einschließlich der ersten Duplikate) oder die nur einmal angezeigten eindeutigen Werte sowie die erforderlichen doppelten Werte auswählen und hervorheben (siehe Abbildung unten).
Laden Sie jetzt Kutools für Excel herunter! (30 Tage kostenloser Trail)


Extrahieren Sie dynamisch eine Liste eindeutiger Werte aus einem Spaltenbereich mit VBA-Code

Sie können auch eine Liste eindeutiger Werte dynamisch aus einem Spaltenbereich mit dem folgenden VBA-Code extrahieren.

1. Drücken Sie Andere + F11 Tasten gleichzeitig zum Öffnen der Microsoft Visual Basic für Applikationen Fenster.

2. In dem Microsoft Visual Basic für Applikationen Klicken Sie im Fenster Insert > Modul. Kopieren Sie dann den folgenden VBA-Code und fügen Sie ihn in das ein Modul Fenster.

VBA-Code: Extrahieren Sie eine Liste eindeutiger Werte aus einem Bereich

Sub CreateUniqueList()
Dim xRng As Range
Dim xLastRow As Long
Dim xLastRow2 As Long
Dim I As Integer
On Error Resume Next
Set xRng = Application.InputBox("Please select range:", "Kutools for Excel", Selection.Address, , , , , 8)
If xRng Is Nothing Then Exit Sub
On Error Resume Next
xRng.Copy Range("D2")
xLastRow = xRng.Rows.Count + 1
ActiveSheet.Range("D2:D" & xLastRow).RemoveDuplicates Columns:=1, Header:=xlNo
xLastRow2 = Cells(Rows.Count, "B").End(xlUp).Row
For I = 1 To xLastRow2
  If ActiveSheet.Range("D2:D" & xLastRow2).Cells(I).Value = "" Then
     ActiveSheet.Range("D2:D" & xLastRow2).Cells(I).Delete
  End If
Next
End Sub

Note: Im Code ist D2 die Zelle, in der Sie die Liste der eindeutigen Werte finden. Sie können es nach Bedarf ändern.

3. Kehren Sie zum Arbeitsblatt zurück und klicken Sie auf Insert > Formen > Rechteck. Siehe Screenshot:

4. Zeichnen Sie ein Rechteck in Ihr Arbeitsblatt und geben Sie einige Wörter ein, die Sie darauf anzeigen möchten. Klicken Sie dann mit der rechten Maustaste darauf und wählen Sie Makro zuweisen aus dem Kontextmenü. In dem Makro zuweisen Wählen Sie im Dialogfeld CreateUniqueList der Makroname Feld, und klicken Sie dann auf OK Taste. Siehe Screenshot:

5. Klicken Sie nun auf die Rechteckschaltfläche a Kutools for Excel Das Dialogfeld wird angezeigt. Wählen Sie den Bereich aus, der eindeutige Werte enthält, die Sie extrahieren müssen, und klicken Sie dann auf OK .

Von nun an können Sie den obigen Schritt 5 wiederholen, um die Liste der eindeutigen Werte automatisch zu aktualisieren.


In Verbindung stehende Artikel:

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 (35)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
con este procedimiento de filtro se hace de forma muy rapida

1.EN ESTE EJEMPLO los datos a remover los duplicados estan en la col A de la fila 59 a la 239
2. se define un criterio de filtrado en este caso en la fila d56 el mismo titulo de la lista a remover duplicados y la d57 la dejo en blanco
3. una vez ejecutado se muestran los datos en la fila destino, que en mi caso fue la d59

Range("A59:A239").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range _
("D56:D57"), CopyToRange:=Range("D59"), Unique:=True
This comment was minimized by the moderator on the site
I would like to be able to do this exact same thing, except using two separate column ranges (B2:B9) as well as (D2:D9) is this possible?
This comment was minimized by the moderator on the site
Hi Anthony,
You can place the results in the same column as the original data. Such as column B in this case.
But you need to reference the top cell of the result cell in the formula as follows.
=IFERROR(INDEX($B$2:$B$9, MATCH(0,COUNTIF($B$11:B11, $B$2:$B$9), 0)),"") + Ctrl + Shift + Enter
This comment was minimized by the moderator on the site
Ik heb gemerkt dat de 'formule'-methode erg traag werkt bij grote datasets. Een goed alternatief is het gebruik van een draaitabel. Kies dan alleen de rijlabels, je krijgt dan een lijstje met unieke waarden. Het kan zijn dat je wat extra's krijgt "(leeg)" bijvoorbeeld. Je kunt deze er vervolgens uitfilteren. Helaas kun je maar op 1 criterium filteren. Ook daar zijn wel weer oplossingen voor, maar dat is wat complexer.
This comment was minimized by the moderator on the site
how to make the vba code work for a range where another formula was used?on column B I have a formula, referring to columns D and E.
If I use apply the code to column L (let's say), (obviously, properly modifying the cells in the code) the macro returns the formula applied to columns M and N... It works, then, but not as I want!How to keep the values in column B?thanks
This comment was minimized by the moderator on the site
thank you very much
This comment was minimized by the moderator on the site
I try the VBA Code and the formula. The code VBA is working very well but I can't keep a file with macro. But th problem is that I can't make the formula working. Did anybody have an idea ? Thank you
This comment was minimized by the moderator on the site
Hi Charlotte,
Thank you for your comment. You can keep the file with macro for future use by saving the workbook as an Excel Macro-Enabled Workbook.
For the formula problem, would you please provide a screenshot of your data? Thank you for your comment.
This comment was minimized by the moderator on the site
I'm using that =IFERROR(INDEX($B$2:$B$9, MATCH(0,COUNTIF($D$1:D1, $B$2:$B$9), 0)),"") formula which is great for one column but my data is spread across a range of columns and rows. Can I edit the formula to include the whole area? My data lives from AC4 to AR60...
This comment was minimized by the moderator on the site
Hi, thank you for your help.
Now, how can I have my values also sorted alphabetically? (I do not want to use the filter on my master table)
Should I use a COUNTIFS instead of COUNTIF?
Please HELP
This comment was minimized by the moderator on the site
Hi Alexis,
Sorry can't hep to sort the extracted value alphabetically at the same time with formula. Thank you for your comment.
This comment was minimized by the moderator on the site
I am trying to drag the formula down past my actual data so that I can input different sized data sets and not have to adjust anything. However, the last row after my actual data ends always returns a "0". I am using the unique values for something else in an adjacent column, and the 0 causes the last value to repeated (When I delete the 0 the value is no longer repeated). Any idea how to fix this? Also I am using Office 365 Business
This comment was minimized by the moderator on the site
If I do this for a thousand row excel sheet on the latest version of Excel on a Mac, it never returns. The first row works, but when I duplicate down, excel goes into a compute mode that has not returned values for over two hours now.

Any thoughts on how to do this for large lists (up to 2k rows) that will return 50 or 60 unique values?

I mocked this up in the "Numbers" app, and it's working perfectly there, taking only a couple minutes to calculate. It's just taking so long in Excel that I wonder if it will ever complete. I plan on letting it "run" overnight to see what will happen.
This comment was minimized by the moderator on the site
Check your Calculating options. It needs to be set to automatic. File > Options > Formulas > Calculating options > Workbook Calculation (Automatic selection)
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