Inhoudsopgave
In deze handleiding wordt bekeken hoe u unieke waarden kunt verkrijgen in Excel met behulp van de functie UNIEK en dynamische matrices. U leert een eenvoudige formule om unieke waarden te vinden in een kolom of rij, in meerdere kolommen, op basis van voorwaarden, en nog veel meer.
In de vorige versies van Excel was het extraheren van een lijst met unieke waarden een moeilijke uitdaging. We hebben een speciaal artikel dat laat zien hoe u unieke waarden kunt vinden die slechts eenmaal voorkomen, alle afzonderlijke items in een lijst kunt extraheren, spaties kunt negeren, en meer. Elke taak vereiste een gecombineerd gebruik van verschillende functies en een meerregelige matrixformule die alleen Excel-goeroes volledig kunnen begrijpen.
De introductie van de functie UNIEK in Excel 365 heeft alles veranderd! Wat vroeger een raketwetenschap was, wordt nu zo eenvoudig als ABC. Nu hoeft u geen formule-expert te zijn om unieke waarden uit een bereik te halen, op basis van één of meerdere criteria, en de resultaten in alfabetische volgorde te rangschikken. Dit alles gebeurt met eenvoudige formules die iedereen kan lezen en aanpassen aan uw eigen behoeften.
Excel UNIQUE functie
De functie UNIEK in Excel geeft een lijst van unieke waarden uit een bereik of matrix. De functie werkt met elk gegevenstype: tekst, getallen, datums, tijden, enz.
Het resultaat is een dynamische matrix die automatisch verticaal of horizontaal overloopt in de naburige cellen.
De syntaxis van de Excel UNIQUE functie is als volgt:
UNIQUE(array, [by_col], [exactly_once])Waar:
Array (vereist) - het bereik of de matrix waaruit unieke waarden moeten worden teruggegeven.
By_col (facultatief) - een logische waarde die aangeeft hoe de gegevens moeten worden vergeleken:
- TRUE - vergelijkt gegevens over kolommen heen.
- FALSE of weggelaten (standaard) - vergelijkt gegevens over rijen heen.
Exactly_once (facultatief) - een logische waarde die bepaalt welke waarden als uniek worden beschouwd:
- TRUE - geeft waarden die slechts eenmaal voorkomen, wat de database-notie van uniek is.
- FALSE of weggelaten (standaard) - geeft alle afzonderlijke (verschillende) waarden in het bereik of de matrix.
Opmerking: momenteel is de functie UNIEK alleen beschikbaar in Excel voor Microsoft 365 en Excel 2021. Excel 2019, 2016 en eerder ondersteunen geen dynamische matrixformules, dus de functie UNIEK is niet beschikbaar in deze versies.
Basis UNIQUE formule in Excel
Hieronder volgt een Excel-formule voor unieke waarden in zijn eenvoudigste vorm.
Het doel is een lijst met unieke namen te extraheren uit het bereik B2:B10. Daartoe voeren we de volgende formule in D2 in:
=UNIQUE(B2:B10)
Merk op dat het 2e en 3e argument zijn weggelaten omdat de standaardwaarden in ons geval perfect werken - we vergelijken de rijen met elkaar en willen alle verschillende namen in het bereik teruggeven.
Wanneer u op de Enter-toets drukt om de formule te voltooien, voert Excel de eerste gevonden naam uit in D2, waardoor de andere namen in de cellen eronder terechtkomen. Het resultaat is dat u alle unieke waarden in een kolom hebt:
Indien uw gegevens over de kolommen B2 tot en met I2 gaan, stel dan het 2e argument in op TRUE om de kolommen met elkaar te vergelijken:
=UNIQUE(B2:I2,TRUE)
Typ de bovenstaande formule in B4, druk op Enter , en de resultaten lopen horizontaal over in de cellen rechts. Zo krijgt u de unieke waarden in een rij:
Tip. Om unieke waarden te vinden in een matrix met meerdere kolommen en deze terug te geven in één kolom of rij, gebruikt u UNIQUE samen met de functie TOCOL of TOROW, zoals in de onderstaande voorbeelden:
- Extraheer unieke waarden uit een meerkolomsbereik in een kolom
- Trek unieke waarden uit een reeks met meerdere kolommen naar een rij
Excel UNIQUE functie - tips en opmerkingen
UNIQUE is een nieuwe functie en heeft net als andere dynamische matrixfuncties een paar bijzonderheden waarvan u zich bewust moet zijn:
- Indien de door UNIQUE geretourneerde matrix het eindresultaat is (d.w.z. niet wordt doorgegeven aan een andere functie), maakt Excel dynamisch een bereik van passende grootte en vult dit met de resultaten. De formule hoeft alleen te worden ingevoerd in een cel Het is belangrijk dat u voldoende lege cellen hebt onderaan en/of rechts van de cel waar u de formule invoert, anders treedt een #SPILL-fout op.
- De resultaten automatisch bijwerken wanneer de brongegevens veranderen. Nieuwe items die worden toegevoegd buiten de array waarnaar wordt verwezen, worden echter niet opgenomen in de formule, tenzij u de array verwijzing. Als u de array om automatisch te reageren op het wijzigen van de grootte van het bronbereik, dan het bereik converteren naar een Excel-tabel en gestructureerde verwijzingen gebruiken, of een dynamisch benoemd bereik maken.
- Dynamische matrices tussen verschillende Excel-bestanden werken alleen wanneer beide werkmappen zijn geopend Als de bronwerkmap gesloten is, geeft een gekoppelde UNIQUE-formule een #REF! foutmelding.
- Net als andere dynamische array-functies kan UNIQUE alleen worden gebruikt binnen een normale reeks niet een tabel. Wanneer het binnen Excel tabellen wordt gezet, geeft het een #SPILL! foutmelding.
Hoe unieke waarden vinden in Excel - formulevoorbeelden
De onderstaande voorbeelden tonen enkele praktische toepassingen van de functie UNIEK in Excel. Het belangrijkste idee is om unieke waarden te extraheren of duplicaten te verwijderen, afhankelijk van uw standpunt, op een zo eenvoudig mogelijke manier.
Extraheer unieke waarden die slechts één keer voorkomen
Om een lijst van waarden te krijgen die precies één keer voorkomen in het opgegeven bereik, stelt u het derde argument van UNIQUE in op TRUE.
Om bijvoorbeeld de namen die op de winnaarslijst staan één keer op te halen, gebruikt u deze formule:
=UNIQUE(B2:B10,,TRUE)
Waarbij B2:B10 het bronbereik is en het 2e argument ( by_col ) is FALSE of wordt weggelaten omdat onze gegevens in rijen zijn georganiseerd.
Zoek verschillende waarden die meer dan eens voorkomen
Als u een tegenovergesteld doel nastreeft, d.w.z. een lijst wilt krijgen van waarden die meer dan eens in een bepaald bereik voorkomen, gebruik dan de functie UNIQUE samen met FILTER en COUNTIF:
UNIQUE(FILTER( reeks , COUNTIF( reeks , reeks )>1))Om bijvoorbeeld verschillende namen die meer dan eens voorkomen in B2:B10 te extraheren, kunt u deze formule gebruiken:
=UNIQUE(FILTER(B2:B10, COUNTIF(B2:B10, B2:B10)>1))
Hoe deze formule werkt:
In het hart van de formule filtert de functie FILTER dubbele items op basis van het aantal keren dat de functie COUNTIF teruggeeft. In ons geval is het resultaat van COUNTIF deze reeks van tellingen:
{4;1;3;4;4;1;3;4;3}
De vergelijkingsoperatie (>1) verandert de bovenstaande matrix in waarden TRUE en FALSE, waarbij TRUE staat voor de items die meer dan eens voorkomen:
{TRUE;FALSE;TRUE;TRUE;FALSE;TRUE;TRUE;TRUE}
Deze array wordt doorgegeven aan FILTER als de omvatten argument, waarmee de functie wordt verteld welke waarden moeten worden opgenomen in de resulterende matrix:
{"Andrew";"David";"Andrew";"David";"Andrew";"David"}
Zoals u ziet, overleven alleen de waarden die overeenkomen met TRUE.
De bovenstaande matrix gaat naar de array argument van UNIQUE, en na het verwijderen van duplicaten wordt het eindresultaat weergegeven:
{Andrew; David.}
Tip. Op soortgelijke wijze kunt u unieke waarden filteren die meer dan twee keer voorkomen (>2), meer dan drie keer (>3), enz.
Zoek unieke waarden in meerdere kolommen (unieke rijen)
In situaties waarin u twee of meer kolommen wilt vergelijken en de unieke waarden ertussen wilt retourneren, neemt u alle doelkolommen op in de array argument.
Om bijvoorbeeld de unieke voornaam (kolom A) en achternaam (kolom B) van de winnaars terug te geven, voeren wij deze formule in E2 in:
=UNIQUE(A2:B10)
Een druk op de Enter-toets levert het volgende resultaat op:
Om unieke rijen , d.w.z. de items met de unieke combinatie van waarden in de kolommen A, B en C, is dit de te gebruiken formule:
=UNIQUE(A2:C10)
Verbazingwekkend eenvoudig, is het niet? :)
Krijg een lijst van unieke waarden gesorteerd op alfabetische volgorde
Hoe alfabetiseer je meestal in Excel? Juist, door de ingebouwde Sorteer- of Filterfunctie te gebruiken. Het probleem is dat je telkens opnieuw moet sorteren als je brongegevens veranderen, want in tegenstelling tot Excel-formules die automatisch herberekenen bij elke wijziging in het werkblad, moeten de functies handmatig opnieuw worden toegepast.
Met de introductie van dynamische matrixfuncties is dit probleem verdwenen! Wat u moet doen is eenvoudigweg de SORT-functie om een gewone UNIQUE-formule draaien, zoals dit:
SORT(UNIQUE(array))Om bijvoorbeeld unieke waarden te extraheren in de kolommen A tot en met C en de resultaten te rangschikken van A tot Z, gebruikt u deze formule:
=SORT(UNIQUE(A2:C10))
Vergeleken met het bovenstaande voorbeeld is de uitvoer een stuk eenvoudiger waar te nemen en er mee te werken. We kunnen bijvoorbeeld duidelijk zien dat Andrew en David winnaars zijn geweest in twee verschillende sporten.
Tip. In dit voorbeeld hebben we de waarden in de 1e kolom gesorteerd van A tot Z. Dit zijn de standaardwaarden van de SORT-functie, dus de optionele sorteer_index en volgorde Indien u de resultaten wilt sorteren op een andere kolom of in een andere volgorde (van Z naar A of van hoogst naar kleinst) stelt u het 2e en 3e argument in zoals uitgelegd in de SORT-functie tutorial.
Zoek unieke waarden in meerdere kolommen en voeg ze samen in één cel
Bij het zoeken in meerdere kolommen voert de Excel UNIQUE functie standaard elke waarde in een aparte cel uit. Misschien vindt u het handiger om de resultaten in een enkele cel te hebben?
Om dit te bereiken, gebruikt u in plaats van naar het hele bereik te verwijzen, de ampersand (&) om de kolommen samen te voegen en er het gewenste scheidingsteken tussen te zetten.
Als voorbeeld voegen wij de voornamen in A2:A10 en de achternamen in B2:B10 samen, waarbij de waarden worden gescheiden door een spatie (" "):
=UNIQUE(A2:A10&" "&B2:B10)
Het resultaat is een lijst met volledige namen in één kolom:
Verkrijg een lijst van unieke waarden gebaseerd op criteria
Om unieke waarden met voorwaarde te extraheren, gebruikt u de Excel functies UNIQUE en FILTER samen:
- De functie FILTER beperkt de gegevens tot waarden die aan de voorwaarde voldoen.
- De functie UNIQUE verwijdert duplicaten uit de gefilterde lijst.
Hier is de algemene versie van de gefilterde unieke waarden formule:
UNIQUE(FILTER(array, criteria_bereik = criteria ))In dit voorbeeld krijgen we een lijst van winnaars in een specifieke sport. Om te beginnen voeren we de sport van belang in een cel in, bijvoorbeeld F1. En dan gebruiken we de onderstaande formule om de unieke namen te krijgen:
=UNIQUE(FILTER(A2:B10, C2:C10=F1))
Waarbij A2:B10 een bereik is om te zoeken naar unieke waarden en C2:C10 het bereik is om te controleren op de criteria.
Filter unieke waarden op basis van meerdere criteria
Om unieke waarden met twee of meer voorwaarden te filteren, gebruikt u de uitdrukkingen zoals hieronder getoond om de vereiste criteria voor de functie FILTER te construeren:
UNIQUE(FILTER(array, ( criteria_bereik1 = criteria1 ) * ( criteria_bereik2 = criteria2 )))Het resultaat van de formule is een lijst van unieke items waarvoor alle opgegeven voorwaarden WAAR zijn. In termen van Excel wordt dit de AND-logica genoemd.
Om de formule in actie te zien, krijgen we een lijst met unieke winnaars voor de sport in G1 (criterium 1) en onder de leeftijd in G2 (criterium 2).
Met het bronbereik in A2:B10, sporten in C2:C10 (criteria_bereik 1) en leeftijden in D2:D10 (criteria_bereik 2) krijgt de formule deze vorm:
=UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
En geeft precies de resultaten die we zoeken:
Hoe deze formule werkt:
Hier is een uitleg op hoog niveau van de logica van de formule:
In de omvatten argument van de FILTER-functie geeft u twee of meer bereik/criteria-paren. Het resultaat van elke logische expressie is een matrix van TRUE- en FALSE-waarden. De vermenigvuldiging van de matrices dwingt de logische waarden tot getallen en produceert een matrix van 1's en 0's. Aangezien vermenigvuldiging met nul altijd nul oplevert, hebben alleen de items die aan alle voorwaarden voldoen 1 in de uiteindelijke matrix. De FILTERfunctie filtert de items die overeenkomen met 0 en geeft de resultaten door aan UNIQUE.
Voor meer informatie, zie FILTER met meerdere criteria met EN-logica.
Filter unieke waarden met meerdere OR-criteria
Om een lijst van unieke waarden te krijgen op basis van meerdere OR-criteria, d.w.z. wanneer dit OF dat criterium WAAR is, moeten de logische uitdrukkingen worden opgeteld in plaats van vermenigvuldigd:
UNIQUE(FILTER(array, ( criteria_bereik1 = criteria1 ) + ( criteria_bereik2 = criteria2 )))Om bijvoorbeeld de winnaars te tonen in Voetbal of Hockey kun je deze formule gebruiken:
=UNIEK(FILTER(A2:B10, (C2:C10="Voetbal") + (C2:C10="Hockey"))
Indien nodig kunt u natuurlijk de criteria in afzonderlijke cellen invoeren en naar die cellen verwijzen, zoals hieronder:
=UNIQUE(FILTER(A2:B10, (C2:C10=G1) + (C2:C10=G2)))
Hoe deze formule werkt:
Net als bij het testen van meerdere AND-criteria, plaatst u meerdere logische uitdrukkingen in de omvatten argument van de FILTER-functie, die elk een array van TRUE- en FALSE-waarden teruggeven. Wanneer deze arrays worden opgeteld, krijgen de items waarvoor één of meer criteria TRUE zijn, een 1, en de items waarvoor alle criteria FALSE zijn, een 0. Het resultaat is dat elk item dat aan één enkele voorwaarde voldoet, in de array komt die wordt doorgegeven aan UNIQUE.
Voor meer informatie, zie FILTER met meerdere criteria met behulp van OR-logica.
Verkrijg unieke waarden in Excel door spaties te negeren
Als u werkt met een gegevensreeks die enkele hiaten bevat, zal een lijst van unica die wordt verkregen met een gewone formule waarschijnlijk een lege cel en/of nulwaarde bevatten. Dit gebeurt omdat de Excel UNIEK-functie is ontworpen om alle afzonderlijke waarden in een bereik te retourneren, inclusief lege cellen. Dus, als uw bronbereik zowel nullen als lege cellen bevat, zal de unieke lijst 2 nullen bevatten, waarvan één een lege cel vertegenwoordigt.Indien de brongegevens lege tekenreeksen bevatten die door een of andere formule worden geretourneerd, bevat de uikomstenlijst bovendien een lege tekenreeks ("") die er visueel uitziet als een lege cel:
Om een lijst van unieke waarden zonder spaties te krijgen, moet u het volgende doen:
- Filter lege cellen en lege tekenreeksen uit met de functie FILTER.
- Gebruik de functie UNIQUE om de resultaten te beperken tot unieke waarden.
In algemene vorm ziet de formule er als volgt uit:
UNIQUE(FILTER( reeks , reeks ""))In dit voorbeeld is de formule in D2:
=UNIQUE(FILTER(B2:B12, B2:B12""))
Als resultaat geeft Excel een lijst met unieke namen zonder lege cellen:
Opmerking. Als de oorspronkelijke gegevens nullen wordt één nulwaarde opgenomen in de unieke lijst.
Zoek unieke waarden in specifieke kolommen
Soms wilt u unieke waarden halen uit twee of meer kolommen die niet aan elkaar grenzen. Soms wilt u ook de kolommen in de resulterende lijst herschikken. Beide taken kunnen worden uitgevoerd met behulp van de functie CHOOSE.
UNIEK(KIES({1,2,...}, reeks1 , reeks2 ))Stel dat u uit onze voorbeeldtabel een lijst van winnaars wilt krijgen op basis van de waarden in de kolommen A en C, en de resultaten in deze volgorde wilt rangschikken: eerst een sport (kolom C), en dan de naam van een sporter (kolom A). Om dat voor elkaar te krijgen, construeren we deze formule:
=UNIQUE(CHOOSE({1,2}, C2:C10, A2:A10))
En krijg het volgende resultaat:
Hoe deze formule werkt:
De CHOOSE-functie geeft een 2-dimensionale matrix van waarden uit de opgegeven kolommen terug. In ons geval wordt ook de volgorde van de kolommen verwisseld.
{"Basketbal","Andrew"; "Basketbal","Betty"; "Volleybal","David"; "Basketbal","Andrew"; "Hockey","Andrew"; "Voetbal","Robert"; "Volleybal","David"; "Hockey","Andrew"; "Basketbal","David" }.
Uit de bovenstaande array geeft de functie UNIQUE een lijst van unieke records.
Unieke waarden vinden en fouten afhandelen
De UNIQUE formules die we in deze tutorial hebben besproken werken perfect... mits er tenminste één waarde is die aan de opgegeven criteria voldoet. Vindt de formule niets, dan treedt er een #CALC! fout op:
Om dit te voorkomen, wikkelt u uw formule in de IFERROR-functie.
Als er bijvoorbeeld geen unieke waarden worden gevonden die aan de criteria voldoen, kunt u niets weergeven, d.w.z. een lege tekenreeks (""):
=IFERROR(UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
Of u kunt uw gebruikers duidelijk laten weten dat er geen resultaten zijn gevonden:
=IFERROR(UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
Excel UNIQUE functie werkt niet
Zoals u hebt gezien, heeft de opkomst van de UNIQUE functie het vinden van unieke waarden in Excel ongelooflijk eenvoudig gemaakt. Als uw formule plotseling een fout oplevert, is de kans groot dat het een van de volgende is.
#NAME? fout
Treedt op wanneer u een UNIEKE formule gebruikt in een Excel-versie waar deze functie niet wordt ondersteund.
Momenteel is de functie UNIEK alleen beschikbaar in Excel 365 en 2021. Als u een andere versie hebt, vindt u mogelijk een passende oplossing in deze tutorial: Hoe unieke waarden te krijgen in Excel 2019, Excel 2016 en eerder.
De fout #NAME? in ondersteunde versies geeft aan dat de naam van de functie verkeerd gespeld is.
#SPILL error
Treedt op als een of meer cellen in het morsbereik niet volledig leeg zijn.
Om de fout te herstellen, hoeft u alleen maar niet-lege cellen te wissen of te verwijderen. Om precies te zien welke cellen in de weg zitten, klikt u op de foutindicator en vervolgens op Selecteer belemmerende cellen Voor meer informatie, zie #SPILL! fout in Excel - oorzaken en oplossingen.
Zo vindt u unieke waarden in Excel. Ik dank u voor het lezen en hoop u volgende week op onze blog te zien!
Praktijk werkboek om te downloaden
Excel unieke waarden formule voorbeelden (.xlsx bestand)