Note: The other languages of the website are Google-translated. Back to English

Hoe unieke waarden uit meerdere kolommen in Excel te extraheren?

Stel dat u meerdere kolommen met meerdere waarden heeft, sommige waarden worden in dezelfde kolom of in een andere kolom herhaald. En nu wilt u de waarden vinden die in beide kolommen slechts één keer voorkomen. Zijn er snelle trucs om unieke waarden uit meerdere kolommen in Excel te extraheren?


Extraheer unieke waarden uit meerdere kolommen met matrixformule

Hier is een matrixformule die u ook kan helpen om de unieke waarden uit meerdere kolommen te extraheren.

1. Ervan uitgaande dat uw waarden binnen bereik zijn A2: C9, voer de volgende formule in cel E2 in:

=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"),)&""

Opmerking:: In de bovenstaande formule, A2: C9 geeft het celbereik aan waarvan u de unieke waarden wilt extraheren, E1: E1 is de eerste cel van de kolom waarin u het resultaat wilt plaatsen, $ 2: $ 9 staat voor de rijen die de cellen bevatten die u wilt gebruiken, en $ A: $ C geeft aan dat de kolommen de cellen bevatten die u wilt gebruiken. Wijzig ze in uw eigen.

2. Druk vervolgens op Shift+Ctrl+Enter toetsen samen en sleep vervolgens de vulgreep om de unieke waarden te extraheren totdat er lege cellen verschijnen. Zie screenshot:


Extraheer unieke waarden uit meerdere kolommen met draaitabel

Als u bekend bent met de draaitabel, kunt u de unieke waarden eenvoudig uit meerdere kolommen extraheren met de volgende stappen:

1. Voeg eerst een nieuwe lege kolom in links van uw gegevens, in dit voorbeeld zal ik kolom A invoegen naast de originele gegevens.

2. Klik op een cel in uw gegevens en druk op Alt + D toetsen en druk vervolgens op P toets onmiddellijk om het te openen Draaitabel en draaigrafiekwizard, kiezen Meerdere consolidatiebereiken zie screenshot in de wizard step1:

3. Dan klikken Volgende knop, controleer Maak een veld met één pagina voor mij optie in wizard step2, zie screenshot:

4. Blijf klikken Volgende knop, klik om het gegevensbereik te selecteren dat de linker nieuwe kolom met cellen omvat, en klik vervolgens op Toevoegen knop om het gegevensbereik toe te voegen aan het Alle reeksen keuzelijst, zie screenshot:

5. Na het selecteren van het gegevensbereik, gaat u verder met klikken Volgende, kies in stap 3 van de wizard waar u het draaitabelrapport wilt plaatsen.

6. Eindelijk, klik Finish om de wizard te voltooien en er is een draaitabel gemaakt in het huidige werkblad en schakel vervolgens alle velden uit Kies velden om toe te voegen aan rapport sectie, zie screenshot:

7. Controleer dan het veld Waarde of sleep de waarde naar het Rijen label, nu krijgt u de unieke waarden uit de meerdere kolommen als volgt:


Extraheer unieke waarden uit meerdere kolommen met VBA-code

Met de volgende VBA-code kunt u ook de unieke waarden uit meerdere kolommen extraheren.

1. Houd de ALT + F11 toetsen, en het opent de Microsoft Visual Basic for Applications-venster.

2. Klikken Invoegen > Moduleen plak de volgende code in het modulevenster.

VBA: extraheer unieke waarden uit meerdere kolommen

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. Druk vervolgens op F5 om deze code uit te voeren, en er verschijnt een promptvenster om u eraan te herinneren het gegevensbereik te selecteren dat u wilt gebruiken. Zie screenshot:

4. En klik vervolgens op OK, verschijnt er een ander promptvenster om u een plaats te laten kiezen om het resultaat te plaatsen, zie screenshot:

5. Klik OK om dit dialoogvenster te sluiten, en alle unieke waarden zijn in één keer geëxtraheerd.


Extraheer unieke waarden uit één enkele kolom met een geweldige functie

Soms moet u de unieke waarden uit een enkele kolom extraheren, de bovenstaande methoden zullen u niet helpen, hier kan ik een handig hulpmiddel aanbevelen-Kutools for Excel, Met Extraheer cellen met unieke waarden (inclusief het eerste duplicaat) hulpprogramma, kunt u snel de unieke waarden extraheren.

Opmerking:Om dit toe te passen Extraheer cellen met unieke waarden (inclusief het eerste duplicaat), ten eerste moet u het Kutools for Excelen pas de functie vervolgens snel en gemakkelijk toe.

Na het installeren van Kutools for Excel, doe dit als volgt:

1. Klik op een cel waar u het resultaat wilt uitvoeren. (Opmerking:: Klik niet op een cel in de eerste rij.)

2. Dan klikken Kutools > Formule Helper > Formule Helper, zie screenshot:

3. In de Formules Helper dialoogvenster, voer dan de volgende bewerkingen uit:

  • kies Tekst optie van de Formule Type  keuzelijst;
  • Kies dan Extraheer cellen met unieke waarden (inclusief het eerste duplicaat) van de Kies een fromula keuzelijst;
  • Rechts Argumenten ingevoerd Selecteer een lijst met cellen waarvan u unieke waarden wilt extraheren.

4. Dan klikken Ok knop en sleep de vulgreep naar de cellen waarvan u alle unieke waarden wilt weergeven totdat lege cellen worden weergegeven, zie screenshot:

Gratis download Kutools voor Excel nu!


Meer relatieve artikelen:

  • Tel het aantal unieke en onderscheidende waarden uit een lijst
  • Stel dat u een lange lijst met waarden heeft met enkele dubbele items, nu wilt u het aantal unieke waarden tellen (de waarden die slechts één keer in de lijst voorkomen) of verschillende waarden (allemaal verschillende waarden in de lijst, het betekent uniek waarden + 1e dubbele waarden) in een kolom zoals het linker screenshot wordt getoond. In dit artikel zal ik het hebben over hoe ik deze taak in Excel kan aanpakken.
  • Extraheer unieke waarden op basis van criteria in Excel
  • Stel dat u het volgende gegevensbereik heeft waarvan u alleen de unieke namen van kolom B wilt weergeven op basis van een specifiek criterium van kolom A om het resultaat te krijgen zoals onderstaand screenshot. Hoe kunt u deze taak snel en gemakkelijk in Excel afhandelen?
  • Sta alleen unieke waarden toe in Excel
  • Als u alleen unieke waarden wilt behouden die in een kolom of werkblad worden ingevoerd en duplicaten wilt voorkomen, zal dit artikel enkele snelle trucs voor u introduceren om met deze taak om te gaan.
  • Som unieke waarden op op basis van criteria in Excel
  • Ik heb bijvoorbeeld een gegevensbereik dat de kolommen Naam en Bestelling bevat, nu om alleen unieke waarden in de kolom Bestelling op te tellen op basis van de kolom Naam, zoals in het volgende screenshot. Hoe los ik deze taak snel en gemakkelijk op in Excel?

De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2021 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies Gratis proefperiode van 30 dagen. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
officetab onderkant
Heb je vragen? Stel ze hier. (31)
Rated 5 uit 5 · 1 ratings
Deze opmerking is gemaakt door de moderator op de site
Is this formula complete? =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"),)&"",
Deze opmerking is gemaakt door de moderator op de site
Dit is nog niet opgelost :sad:
Deze opmerking is gemaakt door de moderator op de site
wat een tijdverspilling..... formule werkt NIET
Deze opmerking is gemaakt door de moderator op de site
Dank u!!! Ik heb uren besteed aan het proberen om dit te doen en om erachter te komen wat er met de Pivot Wizard is gebeurd (ander artikel).
Deze opmerking is gemaakt door de moderator op de site
Ik gebruik je VBA-code, maar wil niet dat het vak verschijnt. In plaats daarvan wil ik precies definiëren welk celbereik elke keer moet worden gebruikt en in welk vak de uitvoer moet worden geplaatst. Het invoerbereik en de uitvoer zouden op twee verschillende bladen staan. hoe update ik de VBA om dit te doen? Dank u!!
Deze opmerking is gemaakt door de moderator op de site
Hoi! Weet iemand waarom deze formule lijkt te leiden tot een fout na rij 87? Zoals, het werkt perfect en op een bepaald moment geeft het me gewoon fouten voor elke rij ... wat het ergste is! Omdat ik zo dicht bij precies ben wat ik hier nodig heb...
Deze opmerking is gemaakt door de moderator op de site
=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"),)&"" It doesn't work
Deze opmerking is gemaakt door de moderator op de site
hallo ik wil unieke cellen uit de eerste kolom halen wanneer ik deze vergelijk met andere kolommen (ik heb drie ongelijke kolommen), hoe kan ik dat doen?
Deze opmerking is gemaakt door de moderator op de site
hallo ik heb drie ongelijke kolommen en wil unieke cellen van de eerste kolom extraheren. Hoe kan ik het doen?? bij voorbaat dank
Deze opmerking is gemaakt door de moderator op de site
Ik hou van

Unieke waarden extraheren uit meerdere kolommen met draaitabel
Deze opmerking is gemaakt door de moderator op de site
Kunt u alstublieft de juiste formule indienen... de VBA-functie werkt prima.
Alleen voor mijn project gebruik ik liever de juiste formule.


Bedankt
Deze opmerking is gemaakt door de moderator op de site
weet iemand, voor de uitvoer, hoe je er meerdere regels van kunt maken, maar niet in één regel? (momenteel wordt een regelresultaat bereikt door worksheetfunction.transpose, maar wat ik wil bereiken (als resultaat) is dat wanneer ik voor 3 kolommen selecteer, het geretourneerde resultaat ook 3 kolommen is, in plaats daarvan één
Deze opmerking is gemaakt door de moderator op de site
Deze matrixformule is CORRECT. Gegevens in kolommen A tot C, eerste resultaatformule in cel D2... Deze is anders dan andere matrixformules, de laatste is formule naar beneden kopiëren en Ctrl+Shift+Enter alle formules. Deze matrixformule moet echter worden uitgevoerd met Ctrl+Shift+Enter in de eerste cel en naar beneden kopiëren.
Deze opmerking is gemaakt door de moderator op de site
Muchas gracias por la macro!!! me fue muy util
Deze opmerking is gemaakt door de moderator op de site
ik heb mijn blad aangepast, maar retourneer alleen de eerste waarde in de gedefinieerde array ... wat mis ik?
Deze opmerking is gemaakt door de moderator op de site
Hallo, Cody,
De bovenstaande formule werkt goed in mijn werkblad, zou je hier een screenshot van je dataprobleem kunnen geven?
Dank je!
Deze opmerking is gemaakt door de moderator op de site
Kunt u met betrekking tot de formuleversie in meer detail uitleggen wat dit gedeelte doet? *100+COLUMN($A:$C),7^8)),"R0C00") Wat zijn in het bijzonder de * 100, 7 8 ^ en "R0C000" aan het doen? Ik begrijp al het andere, maar ik kan niet achterhalen waar deze voor zijn.
Deze opmerking is gemaakt door de moderator op de site
Beetje laat voor mijn reactie hier, maar...
ROW($2:$9)*100 - dit is het vermenigvuldigen van het rijnummer *100, dus als het in rij 5 staat, is het getal nu 500
COLUMN($A:$C) - dit wordt toegevoegd aan het rij*100-nummer, dus als het rij 5 col 2 is, dan is het nummer 502.
7 ^ 8)), - dit (denk ik) is om een ​​maximale waarde te hebben voor de min-instructie van eerder.
"R0C00") - dit formatteert de tekst op basis van het nummer. In het voorbeeld hadden we 502 dus dit geeft R5C02 (rij 5, col 02).

Als u veel kolommen maar niet veel rijen heeft, kunt u dit wijzigen in ROW ($2:$9)*1000+KOLOM($A:$C),7^8)),"R0C000")
Deze opmerking is gemaakt door de moderator op de site
Bedankt voor de code. Ik gebruik de VBA-code van deze pagina. Is er een manier om een ​​sorteercode toe te voegen nadat de unieke waarden zijn geëxtraheerd, zodat deze automatisch wordt gesorteerd?
Deze opmerking is gemaakt door de moderator op de site
kunnen we een uniqdata-functie maken in plaats van macro?
Deze opmerking is gemaakt door de moderator op de site
Hallo, İlhan, als je van een door de gebruiker gedefinieerde functie houdt om een ​​formule te maken om dit probleem op te lossen, kan de onderstaande code je helpen: Nadat je de code hebt ingevoegd, selecteer je een lijst met cellen waarin je de resultaten wilt plaatsen. Typ vervolgens deze formule:= Uniek (A1:C4)  in de formulebalk. Druk op Ctrl + Shift + Enter toetsen samen. 


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
Deze opmerking is gemaakt door de moderator op de site
Ben je gek op kunst?
Deze opmerking is gemaakt door de moderator op de site
De matrixformule bovenaan werkt prima bij gebruik met gegevens in hetzelfde blad, maar wanneer ik het probeer te gebruiken om naar dezelfde exacte gegevens van een ander blad te verwijzen, retourneert de formule niets. Ik kan niet achterhalen waarom. Is er een beperking met arrayfuncties waardoor u niet naar bereiken in een ander blad kunt verwijzen?

Bedankt voor elk inzicht dat u kunt bieden.
Deze opmerking is gemaakt door de moderator op de site
Hallo Erin,

Blij om te helpen. De INDIRECT-functie in deze formule is ingewikkelder om te gebruiken bij het verwijzen naar gegevens in andere werkbladen. Het wordt niet aanbevolen om deze functie te gebruiken bij het verwijzen naar bereiken in verschillende werkbladen.

Bijvoorbeeld: Nu staan ​​de gegevens in Blad1, ik wil verwijzen naar de inhoud van cel C2 van Blad1 in Blad2. Voer eerst in twee willekeurige cellen in Blad2, zoals D1 en D2, respectievelijk Blad1 en C2 in. Voer nu de formule in de lege cel van Blad2 in:
=INDIRECT("'"&D1&"'!"&D2), dan kan de inhoud van cel C2 in Blad1 worden geretourneerd.

Zoals je kunt zien, maakt het de zaken veel complexer. Ik hoop dat mijn uitleg kan helpen. Prettige dag.

Hoogachtend,
Mandy
Deze opmerking is gemaakt door de moderator op de site
Hallo meneer! De VBA heeft wonderen gedaan, heel erg bedankt daarvoor! Ik vroeg me af: als ik de originele gegevens wijzig, is het dan mogelijk om de kolom automatisch te vernieuwen met de unieke waarden?
Rated 5 uit 5
Deze opmerking is gemaakt door de moderator op de site
Hallo Ioannis,

Blij om te helpen. Nadat u de originele gegevens hebt gewijzigd, kan de VBA het resultaat niet automatisch vernieuwen. En de gemakkelijkste manier die ik kan bedenken, is door op Ctrl + Alt + F9 te drukken om alle resultaten in werkbladen in alle geopende werkmappen te vernieuwen. Prettige dag.

Hoogachtend,
Mandy
Deze opmerking is gemaakt door de moderator op de site
Bedankt voor dit geweldige artikel.

Voor mensen die de matrixformule in niet-Engelse Excel er moet speciale aandacht worden besteed aan de tekenreeks voor het tekstformaat: in uw voorbeeld: "R0C00".
Voor Duits zou dit vertalen naar "Z0S00". "S" is echter een speciaal teken dat verwijst naar seconden voor tijdopmaak. Dit teken moet worden geëscaped en daarom is de correcte opmaakstring voor Duits Excel "Z0\S00".

Ik hoop dat dit iemand in de toekomst helpt :-)
Er zijn nog geen reacties geplaatst
Laad meer
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0   Personages
Voorgestelde locaties

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL