Inhoudsopgave
Dit is het laatste deel van de Excel Unieke Waarden serie die laat zien hoe u een lijst van aparte / unieke waarden in een kolom krijgt met behulp van een formule, en hoe u die formule kunt aanpassen voor verschillende datasets. U leert ook hoe u snel een aparte lijst krijgt met behulp van Excel's Geavanceerde Filter, en hoe u unieke rijen kunt extraheren met Duplicaatverwijderaar.
In een paar recente artikelen hebben we verschillende methoden besproken om unieke waarden te tellen en te vinden in Excel. Als u de kans had om die tutorials te lezen, weet u al hoe u een unieke of aparte lijst krijgt door te identificeren, filteren en kopiëren. Maar dat is een beetje lang, en lang niet de enige manier om unieke waarden te extraheren in Excel. U kunt het veel sneller doen door een speciale formule te gebruiken, en in een ogenblikIk zal je deze en een paar andere technieken laten zien.
Tip: Om snel unieke waarden te verkrijgen in de laatste versie van Excel 365 die dynamische matrices ondersteunt, gebruikt u de functie UNIQUE zoals uitgelegd in de bovenstaande tutorial.
Hoe unieke waarden krijgen in Excel
Laten we, om verwarring te voorkomen, eerst afspreken wat we in Excel unieke waarden noemen. Unieke waarden zijn de waarden die slechts eenmaal in een lijst voorkomen. Bijvoorbeeld:
Gebruik een van de volgende formules om in Excel een lijst met unieke waarden te extraheren.
Array unieke waarden formule (te voltooien door het indrukken van Ctrl + Shift + Enter ):
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1,$A$2:$A$10) + (COUNTIF($A$2:$A$10, $A$2:$A$10)1), 0)), "").
Regelmatig unieke waarden formule (aangevuld door op Enter te drukken):
=IFERROR(INDEX($A$2:$A$10, MATCH(0,INDEX(COUNTIF($B$1:B1, $A$2:$A$10)+(COUNTIF($A$2:$A$10, $A$2:$A$10)1),0,0), 0)), "")
In bovenstaande formules worden de volgende referenties gebruikt:
- A2:A10 - de bronlijst.
- B1 - de bovenste cel van de unieke lijst min 1. In dit voorbeeld beginnen we de unieke lijst in B2, en daarom geven we B1 aan de formule (B2-1=B1). Als uw unieke lijst bijvoorbeeld in cel C3 begint, verander dan $B$1:B1 in $C$2:C2.
Opmerking. Omdat de formule verwijst naar de cel boven de eerste cel van de unieke lijst, die gewoonlijk de kolomkop is (B1 in dit voorbeeld), moet u ervoor zorgen dat uw kop een unieke naam heeft die nergens anders in de kolom voorkomt.
In dit voorbeeld extraheren we unieke namen uit kolom A (meer bepaald uit het bereik A2:A20), en het volgende screenshot toont de matrixformule in actie:
De gedetailleerde uitleg van de logica van de formule vindt u in een apart hoofdstuk, en hier leest u hoe u de formule kunt gebruiken om unieke waarden te extraheren in uw Excel-werkbladen:
- Pas een van de formules aan volgens uw dataset.
- Voer de formule in in de eerste cel van de unieke lijst (B2 in dit voorbeeld).
- Als u de matrixformule gebruikt, drukt u op Ctrl + Shift + Enter . Als u voor de gewone formule hebt gekozen, drukt u zoals gewoonlijk op de Enter-toets.
- Kopieer de formule zo ver naar beneden als nodig is door de vulgreep te verslepen. Aangezien beide formules voor unieke waarden zijn ingekapseld in de IFERROR-functie, kunt u de formule kopiëren tot het einde van uw tabel, en het zal uw gegevens niet vervuilen met fouten, ongeacht hoe weinig unieke waarden zijn geëxtraheerd.
Hoe krijg ik afzonderlijke waarden in Excel (uniek + 1e dubbele voorkomen)
Zoals je misschien al geraden hebt uit de titel van dit deel, verschillende waarden in Excel zijn alle verschillende waarden in een lijst, d.w.z. unieke waarden en eerste instanties van dubbele waarden. Bijvoorbeeld:
Om een afzonderlijke lijst in Excel te krijgen, gebruikt u de volgende formules.
Array aparte formule (vereist het indrukken van Ctrl + Shift + Enter ):
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10), 0)), "")
Regelmatig aparte formule:
=IFERROR(INDEX($A$2:$A$10, MATCH(0, INDEX(COUNTIF($B$1:B1, $A$2:$A$10), 0, 0), 0)), "")
Waar:
- A2:A10 is de bronlijst.
- B1 is de cel boven de eerste cel van de afzonderlijke lijst. In dit voorbeeld begint de afzonderlijke lijst in cel B2 (het is de eerste cel waar u de formule invoert), dus verwijst u naar B1.
Afzonderlijke waarden in een kolom selecteren zonder rekening te houden met lege cellen
Als uw bronlijst lege cellen bevat, zou de zojuist besproken aparte formule voor elke lege rij een nul opleveren, wat een probleem kan zijn. Om dit op te lossen, verbetert u de formule nog wat verder:
Matrixformule om te extraheren afzonderlijke waarden zonder spaties :
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10&"") + IF($A$2:$A$10=",1,0), 0)), "").
Ontvang een lijst van afzonderlijke tekstwaarden zonder rekening te houden met getallen en spaties
Op soortgelijke wijze kunt u een lijst van afzonderlijke waarden krijgen met uitzondering van lege cellen en cellen met getallen :
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10&"") + IF(ISTEXT($A$2:$A$10)=FALSE,1,0), 0)), "").
Ter herinnering: in bovenstaande formules is A2:A10 de bronlijst, en B1 de cel recht boven de eerste cel van de afzonderlijke lijst.
De volgende schermafbeelding toont het resultaat van beide formules:
Hoe hoofdlettergevoelige afzonderlijke waarden te extraheren in Excel
Wanneer u werkt met hoofdlettergevoelige gegevens, zoals wachtwoorden, gebruikersnamen of bestandsnamen, kan het nodig zijn een lijst van hoofdlettergevoelige afzonderlijke waarden te verkrijgen. Gebruik hiervoor de volgende matrixformule, waarbij A2:A10 de bronlijst is, en B1 de cel boven de eerste cel van de afzonderlijke lijst:
Matrixformule om hoofdlettergevoelige afzonderlijke waarden te krijgen (vereist het indrukken van Ctrl + Shift + Enter)
=IFERROR(INDEX($A$2:$A$10, MATCH(0, FREQUENCY(IF(EXACT($A$2:$A$10,TRANSPOSE($B$1:B1)), MATCH(ROW($A$2:$A$10), ROW($A$2:$A$10)), ""), MATCH(ROW($A$2:$A$10), ROW($A$2:$A$10)), 0)), "").
Hoe de unieke/onderscheidende formule werkt
Dit deel is speciaal geschreven voor die nieuwsgierige en bedachtzame Excel-gebruikers die niet alleen de formule willen kennen, maar ook het naadje van de kous willen weten.
Het spreekt voor zich dat de formules om unieke en afzonderlijke waarden te extraheren in Excel noch triviaal noch eenvoudig zijn. Maar bij nadere beschouwing valt op dat alle formules gebaseerd zijn op dezelfde aanpak - het gebruik van INDEX/MATCH in combinatie met COUNTIF, of COUNTIF + IF-functies.
Voor onze diepgaande analyse gebruiken we de matrixformule die een lijst van afzonderlijke waarden onttrekt, omdat alle andere formules die in deze handleiding worden besproken, verbeteringen of variaties van deze basisformule zijn:
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10), 0)), "")
Laten we om te beginnen de voor de hand liggende IFERROR-functie weggooien, die alleen wordt gebruikt om #N/A-fouten te elimineren wanneer het aantal cellen waarin u de formule hebt gekopieerd groter is dan het aantal verschillende waarden in de bronlijst.
En nu, laten we de kern van onze onderscheidende formule opdelen:
- COUNTIF(bereik, criteria) geeft het aantal cellen binnen een bereik dat voldoet aan een gespecificeerde voorwaarde.
In dit voorbeeld geeft COUNTIF($B$1:B1, $A$2:$A$10) een matrix van 1's en 0's terug op basis van de vraag of een van de waarden van de bronlijst ($A$2:$A$10) ergens in de afzonderlijke lijst ($B$1:B1) voorkomt. Als de waarde wordt gevonden, geeft de formule 1 terug, anders - 0.
Met name in cel B2 wordt COUNTIF($B$1:B1, $A$2:$A$10):
COUNTIF("Distinct", {"Ronnie"; "David"; "Sally"; "Jeremy"; "Robert"; "David"; "Robert"; "Tom"; "Sally"})
en keert terug:
{0;0;0;0;0;0;0;0;0}
omdat geen van de items van de bronlijst ( criteria ) verschijnt in de reeks waar de functie zoekt naar een overeenkomst. In dit geval, reeks ($B$1:B1) bestaat uit één enkel item - "Distinct".
MATCH(lookup_value, lookup_array, [match_type])
geeft de relatieve positie van de lookup-waarde in de array.
In dit voorbeeld is de lookup_waarde 0, en bijgevolg:
MATCH(0,COUNTIF($B$1:B1, $A$2:$A$10), 0)
verandert in:
MATCH(0, { 0 ;0;0;0;0;0;0;0;0},0)
en retourneert
omdat onze MATCH-functie de eerste waarde krijgt die precies gelijk is aan de opzoekwaarde (zoals u zich herinnert, is de opzoekwaarde 0).
In dit voorbeeld, INDEX($A$2:$A$10, 1)
wordt:
INDEX({"Ronnie"; "David"; "Sally"; "Jeremy"; "Robert"; "David"; "Robert"; "Tom"; "Sally"}, 1)
en geeft "Ronnie" terug.
Wanneer de formule naar beneden in de kolom wordt gekopieerd, breidt de afzonderlijke lijst ($B$1:B1) zich uit omdat de tweede celverwijzing (B1) een relatieve verwijzing is die verandert volgens de relatieve positie van de cel waarin de formule wordt verplaatst.
Dus, wanneer gekopieerd naar cel B3, COUNTIF($B$1: B1 , $A$2:$A$10) verandert in COUNTIF($B$1: B2 , $A$2:$A$10), en wordt:
COUNTIF({"Distinct";"Ronnie"}, {"Ronnie"; "David"; "Sally"; "Jeremy"; "Robert"; "David"; "Robert"; "Tom"; "Sally"}), 0)), "")
en keert terug:
{1;0;0;0;0;0;0;0;0}
omdat er één "Ronnie" is gevonden in het bereik $B$1:B2.
En dan, MATCH(0,{1; 0 ;0;0;0;0;0;0},0) geeft 2, omdat 2 de relatieve positie is van de eerste 0 in de matrix.
En tenslotte, INDEX($A$2:$A$10, 2)
geeft de waarde van de 2e rij, "David".
Tip. Voor een beter begrip van de logica van de formule kunt u verschillende delen van de formule in de formulebalk selecteren en op F9 drukken om te zien wat een geselecteerd deel oplevert:
Als u nog steeds moeite hebt om de formule uit te vogelen, kunt u de volgende tutorial raadplegen voor een gedetailleerde uitleg over de werking van de INDEX/MATCH koppeling: INDEX & MATCH als beter alternatief voor Excel VLOOKUP.
Zoals reeds vermeld, zijn de andere formules die in deze handleiding worden besproken, gebaseerd op dezelfde logica, met slechts enkele wijzigingen:
Formule voor unieke waarden - bevat nog een COUNTIF-functie die alle items die meer dan eens in de bronlijst voorkomen, uitsluit van de unieke lijst: COUNTIF($A$2:$A$10, $A$2:$A$10)1
.
Onderscheiden waarden formule die spaties negeert - hier voegt u een IF-functie toe die voorkomt dat lege cellen worden toegevoegd aan de onderscheiden lijst: IF($A$2:$A$13="",1,0)
.
Onderscheid tekstwaarden formule negeert getallen - u gebruikt de ISTEXT-functie om te controleren of een waarde tekst is, en de IF-functie om alle andere typen waarden te verwerpen, inclusief lege cellen: IF(ISTEXT($A$2:$A$13)=FALSE,1,0)
.
Afzonderlijke waarden uit een kolom halen met Excel's geavanceerde filter
Als u geen tijd wilt verspillen aan het uitzoeken van de geheimzinnige wendingen van de verschillende waardeformules, kunt u snel een lijst met verschillende waarden krijgen door het Geavanceerd filter te gebruiken. De gedetailleerde stappen volgen hieronder.
- Selecteer de kolom met gegevens waaruit u afzonderlijke waarden wilt halen.
- Schakel over naar de Gegevens tab> Sorteren en filteren groep, en klik op de Geavanceerd knop:
- Controleer Kopiëren naar een andere locatie keuzerondje.
- In de Lijst bereik vak, controleer of het bronbereik correct wordt weergegeven.
- In de Kopiëren naar doos Voer de bovenste cel van het bestemmingsbereik in. Houd er rekening mee dat u de gefilterde gegevens alleen kunt kopiëren naar de actief blad .
- Selecteer de Alleen unieke records
Let op: hoewel de optie van het geavanceerde filter " Alleen unieke records ", het haalt er verschillende waarden d.w.z. unieke waarden en de eerste dubbele waarden.
Trek unieke en afzonderlijke rijen uit met Duplicate Remover
In het laatste deel van deze handleiding laat ik u onze eigen oplossing zien voor het vinden en extraheren van afzonderlijke en unieke waarden in Excel-bladen. Deze oplossing combineert de veelzijdigheid van Excel-formules en de eenvoud van het geavanceerde filter. Bovendien biedt het een aantal unieke functies zoals:
- Zoek en onttrek unieke / afzonderlijke rijen gebaseerd op waarden in een of meer kolommen.
- Zoek , markeer en kopie unieke waarden naar een andere locatie, in dezelfde of een andere werkmap.
En laten we nu de Duplicate Remover in actie zien.
Stel dat u een overzichtstabel hebt gemaakt door gegevens uit verschillende andere tabellen te consolideren. Uiteraard bevat die overzichtstabel veel dubbele rijen en is het uw taak om unieke rijen die slechts één keer in de tabel voorkomen, of afzonderlijke rijen met unieke en eerste dubbele rijen eruit te halen. Hoe dan ook, met de Duplicate Remover add-in is de klus in 5 snelle stappen geklaard.
- Selecteer een willekeurige cel in uw brontabel en klik op de knop Duplicaat verwijderaar knop op de Ablebits gegevens tabblad, in de Dedupe groep.
De wizard Duplicaatverwijdering wordt uitgevoerd en selecteert de hele tabel. Klik dus gewoon op Volgende om door te gaan naar de volgende stap.
- Uniek
- Unieke +1e voorkomens (onderscheiden)
In dit voorbeeld streven wij ernaar om unieke rijen die slechts eenmaal in de brontabel voorkomen, dus selecteren we de Uniek optie:
Tip. Zoals u in de bovenstaande schermafbeelding kunt zien, zijn er ook 2 opties voor dubbele waarden hou het in gedachten als je een ander werkblad moet ontdubbelen.
In dit voorbeeld willen we unieke rijen vinden op basis van waarden in alle 3 de kolommen ( Bestelnummer , Voornaam en Achternaam ), daarom selecteren we ze allemaal.
- Markeer unieke waarden
- Selecteer unieke waarden
- Identificeer in een statuskolom
- Kopiëren naar een andere locatie
Omdat we unieke rijen selecteren, selecteert u Kopiëren naar een andere locatie en geef dan aan waar u ze precies wilt kopiëren - actief blad (selecteer de Aangepaste locatie optie, en geef de bovenste cel van het doelbereik op), nieuw werkblad of nieuwe werkmap.
In dit voorbeeld kiezen we voor het nieuwe blad:
Vond u deze snelle en eenvoudige manier om een lijst van unieke waarden of rijen in Excel te krijgen leuk? Zo ja, dan moedig ik u aan om hieronder een evaluatieversie te downloaden en het eens te proberen. Duplicaatverwijderaar en alle andere tijdbesparende tools die we hebben zijn inbegrepen bij Ultimate Suite voor Excel.
Beschikbare downloads
Unieke waarden vinden in Excel - voorbeeldwerkmap (.xlsx-bestand)
Ultimate Suite - evaluatieversie (.exe bestand)