Beschikbaar in:Excel 2021 of nieuwer (Werkt in Excel 2021, elke latere versie, Microsoft 365 en Excel voor het web)Categorie:Dynamische matrices

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.

Moeilijkheidsgraad 3 van 5. Met één argument krijg je een lijst zonder dubbele waarden, maar het tweede en het derde argument veranderen wat als uniek telt, en lege cellen en hoofdletters gedragen zich op een manier die het resultaat niet laat zien.

Laatst bijgewerkt: 13 oktober 2026

Bekijk de uitgewerkte voorbeelden

Fragment van het werkblad: in D2 staat de formule
RijABCD
1BoekstukDagboekGebruikte dagboeken
225-0412VRKVRK=UNIEK(B2:B8)=UNIEK(B2:B8)
325-0413INKINK
425-0414VRKBNK
525-0415BNKMEM
625-0416INK
725-0417MEM
825-0418VRK
Formulecel (D2)InvoerOverloopresultaat
=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-204 en AB-204 zijn 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

UNIEK(matrix, [per_kolom], [exact_eenmaal])
UNIEK(matrix; [per_kolom]; [exact_eenmaal])
Argumenten
ArgumentSoortBetekenisStandaard
matrixVerplichtDe waarden waaruit dubbele weg moeten; bij meerdere kolommen telt de hele rij.
per_kolomOptioneelWAAR vergelijkt kolommen, voor gegevens die naast elkaar staan; anders rijen.ONWAAR
exact_eenmaalOptioneelWAAR 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.

Fragment van het werkblad: in D2 staat de formule
RijABCDE
1BoekstukDagboekGebruikte dagboeken
225-0412VRKVRK=UNIEK(B2:B8)=UNIEK(B2:B8)
325-0413INKINK
425-0414VRKBNK
525-0415BNKMEM
625-0416INK
725-0417MEM
825-0418VRK
9
Formulecel (D2)InvoerOverloopresultaat

Formule in D2

=UNIEK(B2:B8)
=UNIEK(B2:B8)

Resultaat: VRK / INK / BNK / MEMVRK / INK / BNK / MEM

Stap voor stap
  1. Excel leest B2:B8, zeven dagboekcodes in één kolom, dus elke rij is één item.
  2. Excel loopt de kolom af:

    • B2, VRK: nog niet gezien, houden
    • B3, INK: nieuw, houden
    • B4, VRK: staat al in de lijst, overslaan
  3. Het gaat zo door:

    • B5, BNK: nieuw, houden
    • B6, INK: al gezien, overslaan
    • B7, MEM: nieuw, houden
    • B8, VRK: al gezien, overslaan
  4. Er blijven vier dagboeken over, in de volgorde waarin ze voor het eerst voorkwamen: VRK, INK, BNK, MEM. Ze lopen over van D2 tot D5. MEM is het dagboek voor handmatige boekingen, dus dat komt op je lijst voor de test.
  5. Bevat de volgende export een regel in een dagboek PAY, dan groeit de lijst naar vijf, met PAY in D6. VRK blijft staan, omdat B2, B4 en B8 het 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.

Fragment van het werkblad: in D2 staat de formule
RijABCDE
1FactuurnummerBronNiet gematcht
225-1001Debiteurenlijst25-1003=UNIEK(A2:A9, ONWAAR, WAAR)=UNIEK(A2:A9; ONWAAR; WAAR)
325-1002Debiteurenlijst25-1005
425-1003Debiteurenlijst
525-1004Debiteurenlijst
625-1001Grootboek
725-1002Grootboek
825-1004Grootboek
925-1005Grootboek
10
Formulecel (D2)InvoerOverloopresultaat

Formule in D2

=UNIEK(A2:A9, ONWAAR, WAAR)
=UNIEK(A2:A9; ONWAAR; WAAR)

Resultaat: 25-1003 / 25-100525-1003 / 25-1005

Stap voor stap
  1. per_kolom is ONWAAR, dus Excel vergelijkt de rijen van A2:A9, één factuurnummer per rij.
  2. 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)
  3. Het derde argument is WAAR, dus elk nummer met een telling boven 1 valt helemaal weg. 25-1003 en 25-1005 blijven over, in de volgorde waarin ze voor het eerst voorkomen.
  4. De twee nummers lopen over van D2 tot D3. Kolom B laat zien waarom: 25-1003 staat op de debiteurenlijst maar is niet in het grootboek geboekt (mogelijk een niet geboekte verkoop of een afgrenzingsprobleem), en 25-1005 is wel in het grootboek geboekt maar staat niet op de lijst.
  5. Vergelijk met UNIEK(A2:A9) zonder derde argument: dat geeft vijf nummers, 25-1001 tot en met 25-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.

Fragment van het werkblad: in E2 staat de formule
RijABCDEFG
1BoekstukRelatieDebetRelatieTotaal
225-0501D1003€1,210.00€ 1.210,00D1001=SORTEREN(UNIEK(FILTER(B2:B9, B2:B9<>"")))=SORTEREN(UNIEK(FILTER(B2:B9; B2:B9<>"")))
325-0502D1001€450.00€ 450,00D1002
425-0503€300.00€ 300,00D1003
525-0504D1003€880.00€ 880,00D1004
625-0505D1002€150.00€ 150,00
725-0506D1001€90.00€ 90,00
825-0507D1004€640.00€ 640,00
925-0508D1002€260.00€ 260,00
10
Formulecel (E2)InvoerOverloopresultaat

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
  1. 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.
  2. UNIEK houdt van elke code het eerste exemplaar: D1003, D1001, D1002, D1004. Vier relaties.
  3. SORTEREN zet ze oplopend op de enige kolom: D1001, D1002, D1003, D1004. Ze lopen over van E2 tot E5.
  4. In F2 gebruikt =SOMMEN.ALS(C2:C9; B2:B9; E2#) de hele overlopende lijst als criteria en laat vier totalen overlopen:

    • D1001: 450 + 90 = 540
    • D1002: 150 + 260 = 410
    • D1003: 1210 + 880 = 2090
    • D1004: 640
  5. 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.
  6. Zonder FILTER zou UNIEK(B2:B9) D1003, D1001, 0, D1002, D1004 geven, omdat de lege B4 als 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:B9 leeg, 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:E5 of F3: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.

Fragment van het werkblad: in E2 staat de formule
RijABCDEF
1BoekstukFactuurnummerBedragDubbele facturen
225-0711INV-4471€1,210.00€ 1.210,00INV-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") )
325-0712INV-5120€3,400.00€ 3.400,00INV-5120
425-0713INV-4471€1,210.00€ 1.210,00
525-0714INV-5188€815.50€ 815,50
625-0715INV-6002€249.90€ 249,90
725-0716INV-5120€3,400.00€ 3.400,00
825-0717INV-4471€1,210.00€ 1.210,00
925-0718INV-6120€1,100.00€ 1.100,00
10
Formulecel (E2)InvoerOverloopresultaat

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
  1. LET geeft B2:B9, de acht cellen met factuurnummers, de naam facturen.
  2. unieke is UNIEK(facturen): INV-4471, INV-5120, INV-5188, INV-6002, INV-6120. Vijf verschillende factuurnummers, op volgorde van de eerste boeking.
  3. 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: 2
    • INV-5188: 1
    • INV-6002: 1
    • INV-6120: 1
  4. FILTER houdt de factuurnummers waarvan de telling boven 1 ligt: de eerste en de tweede. INV-4471 en INV-5120 lopen over naar E2:E3.
  5. Het risicobedrag volgt uit de gegevens: INV-4471 is 3 keer geboekt voor 1210, dus 2 x 1210 = 2420 is te veel; INV-5120 twee keer voor 3400, dus 3400 is te veel. Samen 5820 om na te lopen.
  6. Vergelijk met UNIEK(facturen; ONWAAR; WAAR): die formule levert INV-5188, INV-6002 en INV-6120, de facturen die één keer zijn geboekt, precies het complement van deze lijst. Zet B9 op INV-5188 en die verhuist van die lijst naar deze: E2:E4 toont dan INV-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

Veelgemaakte fouten
SymptoomOorzaakOplossing
Een 0 in de lijst die niet in de gegevens staatEen 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 terugUNIEK 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 resultaatUNIEK(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 resultaatTwee 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)