• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Hulp nodig: formule voor de berekening van het aantal unieke termen in een kolom

Status
Niet open voor verdere reacties.

DanielG

Gebruiker
Lid geworden
25 sep 2017
Berichten
7
Hallo allen,

Ik zou graag jullie hulp willen om het totaal aantal unieke benamingen te berekenen in een string kolom.
In mijn kolom zitten string velden:
Rij 1: Jan
Rij 2: Kees
Rij 3: Piet
Rij 4: Jan

Met behulp van de formule, moet het bovenstaand resultaat dan 3 zijn gezien er 3 unieke benamingen zijn in die kolom.

Alvast bedankt voor jullie hulp.

Groet,
 
Hi AlexCEL,

Bedankt voor je reactie.
Die formule werkt op een vaste range maar niet als ik A:A doe. Ik wil dat de formule op 1 volledige kolom werkt ongeacht hoeveel regels ik er onder toevoeg.

Zou je kunnen aangeven hoe je dit verbetert?

Groet,
 
Een hele kolom zou ik niet doen, is meer dan een miljoen regels: dit werkt erg vertragend in de onderstaande formule. Daarom heb ik gekozen voor een ruim bereik.
Code:
=SOMPRODUCT((A1:A1000<>"")/AANTAL.ALS(A1:A1000;A1:A1000&""))
(Verander A1:A1000 maar eens in A:A, dan merk je gelijk hoe traag het wordt)
 
@AlexCEL, onwijs bedankt! Dit werkt.
Nog een overbodige vraag (hier hoef je niet op te reageren hoor)maar zou je de logica van de bovenstaande formule willen toelichten?
 
Ik gebruik de gegevens uit post #1 en de formule uit post #2 even voor de toelichting.
Code:
=SOMPRODUCT(1/AANTAL.ALS(A1:A4;A1:A4))
Met de AANTAL.ALS kun je tellen hoe vaak een naam voorkomt. Syntax: AANTAL.ALS({bereik};{zoekwaarde})

Het bereik is in dit geval A1:A4. Normaal kun je voor zoekwaarde slechts voor 1 waarde opgeven (A1 bijvoorbeeld), maar de SOMPRODUCT zorgt ervoor dat een bereik kunt ingeven (hier A1:A4). (Het is eigenlijk een matrixfunctie, die je niet als zodanig hoeft in te voeren). Door te delen krijg je voor de gegevens uit post #1 een reeks als volgt: (1/2;1/1;1;1;1/2). De SOMPRODUCT telt ze op, uitkomst is 3 (unieke waarden). Oftewel, elke naam telt maar voor een fractie mee. Som van de fracties is 1 (unieke waarde).

In post #4 wordt de formule uitgebreid om geen lege cellen mee te nemen. Door de voorwaarde A1:A1000<>"" op te nemen tellen lege cellen niet mee (dan staat er 0/AANTAL.ALS(..) ). De &"" op het einde is om foutmeldingen te voorkomen door van de lege cel een tekstwaarde te maken.

Hopelijk biedt dit enige verduidelijking.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan