UNIEK
UNIQUE in Engelstalige Excel
Zet elke waarde uit een bereik één keer onder elkaar, in de volgorde waarin ze voor het eerst voorkomt, als overlopende lijst die de bron volgt.
Laatst bijgewerkt: 13 oktober 2026
| Rij | A | B | C | D |
|---|---|---|---|---|
| 1 | Boekstuk | Dagboek | Gebruikte dagboeken | |
| 2 | 25-0412 | VRK | VRK=UNIEK(B2:B8)=UNIEK(B2:B8) | |
| 3 | 25-0413 | INK | INK | |
| 4 | 25-0414 | VRK | BNK | |
| 5 | 25-0415 | BNK | MEM | |
| 6 | 25-0416 | INK | ||
| 7 | 25-0417 | MEM | ||
| 8 | 25-0418 | VRK |
Veeg opzij om alle kolommen te zien
=UNIEK(B2:B8)
=UNIEK(B2:B8)
Wat UNIEK doet en wanneer je het gebruikt
Wat het doet: het geeft elke waarde uit een lijst één keer terug, in de volgorde van eerste voorkomen, bijvoorbeeld de klanten die in een factuurlijst staan. De lijst loopt over in de cellen eronder en groeit of krimpt mee met de gegevens.
Wanneer je het gebruikt: om de rijlabels van een overzicht te maken, een keuzelijst uit gegevens te vullen of de verschillende waarden in een kolom te tellen. Het vervangt de knop Dubbele waarden verwijderen voor alles wat actueel moet blijven. Heb je totalen per waarde nodig over duizenden rijen, dan is een draaitabel sneller.
De twee grootste voordelen:
- Blijft actueel: de lijst past zich aan als de gegevens veranderen, terwijl Dubbele waarden verwijderen een vast resultaat geeft.
- Bron blijft intact: Dubbele waarden verwijderen haalt rijen uit je gegevens; UNIEK leest ze alleen.
Hoe Excel de functie berekent
Excel gaat zo te werk:
- het leest matrix en behandelt, tenzij per_kolom WAAR is, elke rij als één item
- het vergelijkt de items zonder op hoofdletters te letten, dus
ab-204enAB-204zijn hetzelfde item; de schrijfwijze van het eerste exemplaar is wat terugkomt - zonder het derde argument blijft van elk item het eerste exemplaar over en vallen latere herhalingen weg; met het derde argument op WAAR valt elk item weg dat vaker dan één keer voorkomt
Het resultaat loopt over vanuit de formulecel, en andere formules kunnen met de operator # naar het geheel verwijzen, zoals E2#.
Let op: Lege cellen tellen als item en UNIEK geeft ze terug als 0, dus een lege cel in de bron voegt zonder waarschuwing een 0 toe aan de lijst. Haal lege cellen eerst weg met FILTER.
Denkmodel
Een gastenlijst bij de deur: de eerste keer dat een naam binnenkomt wordt hij opgeschreven, wie daarna met dezelfde naam aankomt krijgt geen nieuwe regel.
Begrippen op deze pagina: operator, overloop, matrix, argument, cel
Syntaxis
Officiële documentatie van UNIEKUNIEK(matrix,[per_kolom], [exact_eenmaal])
UNIEK(matrix;[per_kolom]; [exact_eenmaal])
| Argument | Soort | Betekenis | Standaard |
|---|---|---|---|
matrix | Verplicht | De waarden waaruit dubbele weg moeten; bij meerdere kolommen telt de hele rij. | |
per_kolom | Optioneel | WAAR vergelijkt kolommen, voor gegevens die naast elkaar staan; anders rijen. | ONWAAR |
exact_eenmaal | Optioneel | WAAR houdt alleen waarden die één keer voorkomen; anders één van elk. | ONWAAR |
Geeft terug:De verschillende rijen (of kolommen) van matrix, of de rijen die precies één keer voorkomen
Formules gebruiken komma's (,) tussen de argumenten, zoals in de Engelse Excel. Formules gebruiken puntkomma's (;) tussen de argumenten, zoals in de Nederlandse Excel. Formules gebruiken puntkomma's (;) tussen de argumenten, zoals in de Nederlandse Excel; de Engelse Excel gebruikt komma's (,).
Uitgewerkte voorbeelden
Beginner
De dagboeken opsommen die in een auditfile-uittreksel voorkomen
Je hebt boekingsregels uit de XAF-auditfile van de klant naar een blad geëxporteerd, één rij per boekstuk. Voordat je de journaalpostentest plant, wil je zien welke dagboeken zijn gebruikt, elk dagboek één keer, zonder met de hand te sorteren en rijen te verwijderen. Het uittreksel wordt ververst zodra de klant een nieuwe export stuurt.
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Boekstuk | Dagboek | Gebruikte dagboeken | ||
| 2 | 25-0412 | VRK | VRK=UNIEK(B2:B8)=UNIEK(B2:B8) | ||
| 3 | 25-0413 | INK | INK | ||
| 4 | 25-0414 | VRK | BNK | ||
| 5 | 25-0415 | BNK | MEM | ||
| 6 | 25-0416 | INK | |||
| 7 | 25-0417 | MEM | |||
| 8 | 25-0418 | VRK | |||
| 9 |
Veeg opzij om alle kolommen te zien
Formule in D2
=UNIEK(B2:B8)
=UNIEK(B2:B8)
Resultaat: VRK / INK / BNK / MEMVRK / INK / BNK / MEM
Stap voor stap
- Excel leest
B2:B8, zeven dagboekcodes in één kolom, dus elke rij is één item. Excel loopt de kolom af:
B2,VRK: nog niet gezien, houdenB3,INK: nieuw, houdenB4,VRK: staat al in de lijst, overslaan
Het gaat zo door:
B5,BNK: nieuw, houdenB6,INK: al gezien, overslaanB7,MEM: nieuw, houdenB8,VRK: al gezien, overslaan
- Er blijven vier dagboeken over, in de volgorde waarin ze voor het eerst voorkwamen:
VRK,INK,BNK,MEM. Ze lopen over vanD2totD5.MEMis het dagboek voor handmatige boekingen, dus dat komt op je lijst voor de test. - Bevat de volgende export een regel in een dagboek
PAY, dan groeit de lijst naar vijf, metPAYinD6.VRKblijft staan, omdatB2,B4enB8het nog bevatten.
Let op: De lijst is niet gesorteerd. Wil je alfabetische volgorde, zet er dan SORTEREN omheen: SORTEREN(UNIEK(B2:B8)).
Meer over dit voorbeeld: waarom het werkt, 1 variant
Waarom het werkt
UNIEK houdt van elke waarde het eerste exemplaar en laat de latere vallen, dus de volgorde van de uitvoer volgt de volgorde waarin de dagboeken voor het eerst in de export voorkwamen. Omdat het een formule is, verschijnt een nieuw dagboek in een ververste export bij de volgende herberekening in de lijst.
Varianten
=SORTEREN(UNIEK(B2:B8))
=SORTEREN(UNIEK(B2:B8))
Dezelfde dagboeken op alfabetische volgorde: BNK, INK, MEM, VRK.
Halfgevorderd
Facturen vinden die in maar één lijst staan
Je matcht de factuurnummers op de debiteurenlijst van de klant met de facturen die in het grootboek zijn geboekt. Je hebt beide lijsten onder elkaar in één kolom gezet. Een factuur die in beide lijsten staat komt twee keer voor; een factuur die maar één keer voorkomt ontbreekt aan één kant en moet met de klant worden nagelopen.
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Factuurnummer | Bron | Niet gematcht | ||
| 2 | 25-1001 | Debiteurenlijst | 25-1003=UNIEK(A2:A9, ONWAAR, WAAR)=UNIEK(A2:A9; ONWAAR; WAAR) | ||
| 3 | 25-1002 | Debiteurenlijst | 25-1005 | ||
| 4 | 25-1003 | Debiteurenlijst | |||
| 5 | 25-1004 | Debiteurenlijst | |||
| 6 | 25-1001 | Grootboek | |||
| 7 | 25-1002 | Grootboek | |||
| 8 | 25-1004 | Grootboek | |||
| 9 | 25-1005 | Grootboek | |||
| 10 |
Veeg opzij om alle kolommen te zien
Formule in D2
=UNIEK(A2:A9,ONWAAR, WAAR)
=UNIEK(A2:A9;ONWAAR; WAAR)
Resultaat: 25-1003 / 25-100525-1003 / 25-1005
Stap voor stap
- per_kolom is ONWAAR, dus Excel vergelijkt de rijen van
A2:A9, één factuurnummer per rij. Excel telt elk nummer:
25-1001: twee keer (A2,A6)25-1002: twee keer (A3,A7)25-1003: één keer (A4)25-1004: twee keer (A5,A8)25-1005: één keer (A9)
- Het derde argument is WAAR, dus elk nummer met een telling boven 1 valt helemaal weg.
25-1003en25-1005blijven over, in de volgorde waarin ze voor het eerst voorkomen. - De twee nummers lopen over van
D2totD3. KolomBlaat zien waarom:25-1003staat op de debiteurenlijst maar is niet in het grootboek geboekt (mogelijk een niet geboekte verkoop of een afgrenzingsprobleem), en25-1005is wel in het grootboek geboekt maar staat niet op de lijst. - Vergelijk met UNIEK(A2:A9) zonder derde argument: dat geeft vijf nummers,
25-1001tot en met25-1005, één van elk. Dat beantwoordt 'welke facturen bestaan er', niet 'welke facturen missen een tegenhanger'.
Let op: Een factuur die twee keer in het grootboek is geboekt en op de debiteurenlijst ontbreekt, komt ook twee keer voor en wordt dus niet gemeld. Tel daarvoor per bron of gebruik AANTAL.ALS en zoek per lijst naar alles wat geen 1 is.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 1 variant
Waarom het werkt
Het derde argument maakt van UNIEK 'alleen de enkelingen' in plaats van 'één van elk', en dat is precies de test voor een factuur die niet is gematcht. Elke gematchte factuur komt twee keer voor en valt weg, dus alleen de uitzonderingen blijven over om na te lopen.
Meer om op te letten
- Een factuurnummer met een spatie aan het eind uit de export,
"25-1002 ", komt niet overeen met"25-1002", dus beide exemplaren verschijnen als enkeling. Maak de kolom eerst schoon met SPATIES.WISSEN.
Varianten
=UNIEK(A2:A9)
=UNIEK(A2:A9)
Eén van elk factuurnummer: alles wat op een van beide lijsten staat, hier vijf nummers.
Gevorderd
Een gesorteerde relatielijst zonder de lege cel
Je hebt de boekingen op rekening 1300 Debiteuren uit de XAF-auditfile gehaald en wilt de klanten, gesorteerd, als eerste kolom van een kleine aansluiting op de debiteurenlijst. Eén boeking heeft geen relatiecode, dus de kolom bevat een lege cel. De totalen per relatie komen in de kolom ernaast.
| Rij | A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|---|
| 1 | Boekstuk | Relatie | Debet | Relatie | Totaal | ||
| 2 | 25-0501 | D1003 | €1,210.00€ 1.210,00 | D1001=SORTEREN(UNIEK(FILTER(B2:B9, B2:B9<>"")))=SORTEREN(UNIEK(FILTER(B2:B9; B2:B9<>""))) | |||
| 3 | 25-0502 | D1001 | €450.00€ 450,00 | D1002 | |||
| 4 | 25-0503 | €300.00€ 300,00 | D1003 | ||||
| 5 | 25-0504 | D1003 | €880.00€ 880,00 | D1004 | |||
| 6 | 25-0505 | D1002 | €150.00€ 150,00 | ||||
| 7 | 25-0506 | D1001 | €90.00€ 90,00 | ||||
| 8 | 25-0507 | D1004 | €640.00€ 640,00 | ||||
| 9 | 25-0508 | D1002 | €260.00€ 260,00 | ||||
| 10 |
Veeg opzij om alle kolommen te zien
Formule in E2
=SORTEREN(UNIEK(FILTER(B2:B9,B2:B9<>"")))
=SORTEREN(UNIEK(FILTER(B2:B9;B2:B9<>"")))
Resultaat: D1001 / D1002 / D1003 / D1004D1001 / D1002 / D1003 / D1004
Stap voor stap
- Excel begint bij de binnenste functie. FILTER test B2:B9<>"" en vindt één lege cel,
B4, dus FILTER levert de 7 relatiecodes zonder die cel:D1003,D1001,D1003,D1002,D1001,D1004,D1002. - UNIEK houdt van elke code het eerste exemplaar:
D1003,D1001,D1002,D1004. Vier relaties. - SORTEREN zet ze oplopend op de enige kolom:
D1001,D1002,D1003,D1004. Ze lopen over vanE2totE5. In
F2gebruikt =SOMMEN.ALS(C2:C9; B2:B9; E2#) de hele overlopende lijst als criteria en laat vier totalen overlopen:D1001: 450 + 90 = 540D1002: 150 + 260 = 410D1003: 1210 + 880 = 2090D1004: 640
- De vier totalen tellen op tot 540 + 410 + 2090 + 640 = 3680. Het grootboektotaal is 3980, dus 300 is de boeking zonder relatiecode (
25-0503): het verschil dat je de klant moet laten toelichten. - Zonder FILTER zou UNIEK(B2:B9)
D1003,D1001, 0,D1002,D1004geven, omdat de legeB4als waarde telt en terugkomt als 0. SORTEREN zet getallen voor tekst, dus de aansluiting zou beginnen met een rij die 0 heet.
Let op: AANTALARG(UNIEK(B2:B9)) om relaties te tellen geeft stilletjes 5 in plaats van 4, omdat de lege cel als 0 terugkwam en als waarde meetelt. Tel de gefilterde versie.
Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 2 varianten
Waarom het werkt
Elke functie doet één taak op de uitvoer van de functie erbinnen: FILTER haalt weg wat niet mag meetellen, UNIEK voegt herhalingen samen, SORTEREN ordent wat overblijft.
Door met E2# naar het resultaat te verwijzen groeit en krimpt de totaalkolom mee met de relatielijst, zodat de twee nooit uit de pas lopen.
Meer om op te letten
- Zijn alle cellen in
B2:B9leeg, dan heeft FILTER niets terug te geven en toont de hele formule #BEREKENEN!. Voeg een als_leeg toe aan FILTER als dat kan voorkomen. - Typ je iets in
E3:E5ofF3:F5, dan blokkeer je de overloop en krijg je #OVERLOPEN!; de aansluiting heeft vrije cellen onder beide formules nodig.
Varianten
=SOMMEN.ALS(C2:C9,B2:B9, E2#)
=SOMMEN.ALS(C2:C9;B2:B9; E2#)
De totaalkolom voor F2: één SOMMEN.ALS per code in de overlopende lijst, met als uitkomst 540, 410, 2090 en 640.
=RIJEN(UNIEK(FILTER(B2:B9,B2:B9<>"")))
=RIJEN(UNIEK(FILTER(B2:B9;B2:B9<>"")))
Alleen het aantal verschillende relaties, 4, als je de codes niet nodig hebt.
Expert
Dubbel geboekte leveranciersfacturen, en de valkuil van de optie "precies één keer"
In het inkoopdagboek INK test je op dubbele betalingen: leveranciersfactuurnummers die meer dan één keer zijn geboekt. Het uittreksel heeft één rij per boeking. Je wilt de lijst met dubbel geboekte factuurnummers in één formule die zijn stappen een naam geeft, duidelijk meldt als er geen zijn, en blijft werken als het uittreksel twee keer zo groot wordt.
| Rij | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 1 | Boekstuk | Factuurnummer | Bedrag | Dubbele facturen | ||
| 2 | 25-0711 | INV-4471 | €1,210.00€ 1.210,00 | INV-4471=LET( facturen, B2:B9, unieke, UNIEK(facturen), keren, AANTAL.ALS(facturen, unieke), FILTER(unieke, keren > 1, "Geen dubbele facturen") )=LET( facturen; B2:B9; unieke; UNIEK(facturen); keren; AANTAL.ALS(facturen; unieke); FILTER(unieke; keren > 1; "Geen dubbele facturen") ) | ||
| 3 | 25-0712 | INV-5120 | €3,400.00€ 3.400,00 | INV-5120 | ||
| 4 | 25-0713 | INV-4471 | €1,210.00€ 1.210,00 | |||
| 5 | 25-0714 | INV-5188 | €815.50€ 815,50 | |||
| 6 | 25-0715 | INV-6002 | €249.90€ 249,90 | |||
| 7 | 25-0716 | INV-5120 | €3,400.00€ 3.400,00 | |||
| 8 | 25-0717 | INV-4471 | €1,210.00€ 1.210,00 | |||
| 9 | 25-0718 | INV-6120 | €1,100.00€ 1.100,00 | |||
| 10 |
Veeg opzij om alle kolommen te zien
Formule in E2
=LET( facturen,B2:B9, unieke, UNIEK(facturen), keren, AANTAL.ALS(facturen, unieke), FILTER(unieke, keren > 1, "Geen dubbele facturen") )
=LET( facturen;B2:B9; unieke; UNIEK(facturen); keren; AANTAL.ALS(facturen; unieke); FILTER(unieke; keren > 1; "Geen dubbele facturen") )
Resultaat: INV-4471 / INV-5120INV-4471 / INV-5120
Stap voor stap
- LET geeft
B2:B9, de acht cellen met factuurnummers, de naam facturen. - unieke is UNIEK(facturen):
INV-4471,INV-5120,INV-5188,INV-6002,INV-6120. Vijf verschillende factuurnummers, op volgorde van de eerste boeking. keren is AANTAL.ALS(facturen; unieke). Omdat het criterium een lijst van 5 items is, draait AANTAL.ALS vijf keer en levert de functie 5 tellingen op:
INV-4471: 3 (25-0711,25-0713,25-0717)INV-5120: 2INV-5188: 1INV-6002: 1INV-6120: 1
- FILTER houdt de factuurnummers waarvan de telling boven 1 ligt: de eerste en de tweede.
INV-4471enINV-5120lopen over naarE2:E3. - Het risicobedrag volgt uit de gegevens:
INV-4471is 3 keer geboekt voor 1210, dus 2 x 1210 = 2420 is te veel;INV-5120twee keer voor 3400, dus 3400 is te veel. Samen 5820 om na te lopen. - Vergelijk met UNIEK(facturen; ONWAAR; WAAR): die formule levert
INV-5188,INV-6002enINV-6120, de facturen die één keer zijn geboekt, precies het complement van deze lijst. ZetB9opINV-5188en die verhuist van die lijst naar deze:E2:E4toont danINV-4471,INV-5120,INV-5188.
Let op: De omgekeerde fout is 'uniek' lezen als 'komt één keer voor'. UNIEK(facturen; ONWAAR; WAAR) lijkt een nette lijst met facturen, drie nummers zonder herhaling, maar laat stilletjes precies de facturen weg waarop je test.
Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 2 varianten
Waarom het werkt
UNIEK maakt één keer de lijst van sleutels, AANTAL.ALS accepteert die hele lijst als criterium en antwoordt per sleutel, en FILTER houdt de sleutels die voldoen, dus de formule leest als de vraag: factuurnummers die vaker dan één keer zijn geboekt.
Gebruik deze opbouw niet op een volledig grootboek van honderdduizenden regels: AANTAL.ALS doorzoekt het hele uittreksel één keer voor elk verschillend factuurnummer, en dat loopt snel op. Daar doet een draaitabel met Factuurnummer in de rijen en een telling van boekstukken dezelfde groepering in één keer, met als nadeel dat je hem met de hand moet vernieuwen als de gegevens veranderen.
Meer om op te letten
- AANTAL.ALS heeft een echt bereik nodig als eerste argument. Zou facturen met FILTER of een andere functie zijn gemaakt, dan weigert AANTAL.ALS het; houd de verwijzing naar het blad, zoals hier.
- Is niets dubbel geboekt, dan geeft FILTER Geen dubbele facturen, en RIJEN(E2#) geeft dan 1, niet 0. Tel met SOM(--(keren > 1)) binnen de LET als je het echte aantal nodig hebt.
Varianten
=UNIEK(FILTER(B2:B9,AANTAL.ALS(B2:B9, B2:B9) > 1))
=UNIEK(FILTER(B2:B9;AANTAL.ALS(B2:B9; B2:B9) > 1))
Zonder LET: houd elke boekingsregel waarvan het factuurnummer vaker voorkomt, en voeg dan de herhalingen samen. Korter, maar het telt één keer per boeking in plaats van één keer per factuurnummer.
=UNIEK(B2:B9,ONWAAR, WAAR)
=UNIEK(B2:B9;ONWAAR; WAAR)
De facturen die één keer zijn geboekt, het complement van het resultaat hierboven: handig als schone populatie, fout als lijst van alle facturen.
Veelgemaakte fouten
| Symptoom | Oorzaak | Oplossing |
|---|---|---|
| Een 0 in de lijst die niet in de gegevens staat | Een lijst zonder dubbele waarden bevat een 0 die niet in de gegevens staat. | Filter de lege cellen eerst uit de bron: FILTER(bereik; bereik<>""). |
| Een rij waarden komt onveranderd terug | UNIEK op een rij waarden, zoals B1:G1, geeft de rij onveranderd terug, inclusief de dubbele waarden. | Standaard vergelijkt UNIEK rijen, en één rij is één rij. Schrijf UNIEK(B1:G1; WAAR), dan vergelijkt de functie de kolommen. |
| Klanten ontbreken in het resultaat | UNIEK(A2:A50; ONWAAR; WAAR) wordt gebruikt voor 'de unieke klanten', en er ontbreken klanten. | Het derde argument op WAAR laat elke klant vallen die meer dan één keer voorkomt. Voor één van elk laat je het derde argument weg. |
| Gelijk ogende waarden staan allebei in het resultaat | Twee waarden zien er hetzelfde uit, maar staan allebei in het resultaat. | Eén ervan heeft een spatie aan het eind of is een getal dat als tekst is opgeslagen. Maak de bron schoon met SPATIES.WISSEN of WAARDE; UNIEK negeert hoofdletters, maar geen spaties of gegevenstypen. |
Gebruikt in combinaties
- Dubbele factuurnummers in twee exportsZet twee maandelijkse inkoopexports onder elkaar en bewaar elk factuurnummer dat vaker dan één keer voorkomt, met VERT.STAPELEN, UNIEK, X.VERGELIJKEN, ISNB en FILTER.Excel 2024 of nieuwer (Deze combinatie vereist Excel 2024 of nieuwer)
- Hiatentest op factuurnummers met FILTER, REEKS en X.VERGELIJKENVind de ontbrekende nummers in een reeks verkoopfacturen: REEKS maakt elk nummer van het laagste tot het hoogste, X.VERGELIJKEN zoekt ze op in het grootboek, ISNB markeert de missers en FILTER toont ze, met een melding als er geen hiaten zijn.Excel 2021 of nieuwer (Deze combinatie vereist Excel 2021 of nieuwer)
- Boekstukken waarbij debet niet gelijk is aan creditToon de boekstukken waarvan het debet- en creditbedrag verschillen: je pakt de unieke boekstuknummers, telt debet en credit per boekstuk op met SOMMEN.ALS en houdt met FILTER over HOR.STAPELEN de ongelijke over, alles benoemd in één LET.Excel 2024 of nieuwer (Deze combinatie vereist Excel 2024 of nieuwer)
- Mini-saldibalans uit journaalregels met HOR.STAPELEN, UNIEK en SOMMEN.ALSMaak uit ruwe journaalregels een lijst met rekeningen en hun saldo aan boekingen: UNIEK geeft de rekeningen, SOMMEN.ALS telt elke rekening op, HOR.STAPELEN zet beide naast elkaar en SORTEREN zet ze op volgorde.Excel 2024 of nieuwer (Deze combinatie vereist Excel 2024 of nieuwer)