Excel: deel van tekst zoeken in kolom en optellen

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • Dione
  • Registratie: Mei 2025
  • Laatst online: 19-05 21:03
Vanuit een programma wordt een dataset geëxporteerd naar Excel en van daaruit doe ik tellingen.
In één cel kunnen meerdere woorden of zinnen staan, gescheiden door een ;

Voorbeeld:
Afbeeldingslocatie: https://tweakers.net/i/H6ltI6YCPEv5R2m88KWVGGVJ1xY=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/xwXJwDDQVVjKAdUPrT7AkcM0.jpg?f=user_large

Ik wil weten hoe vaak bijvoorbeeld Druif in de kolom staat, of Appel of Blauwe bes.
Pogingen met AANTAL(LEN).ALS en/of VIND.SPEC zijn niet gelukt. Ik denk dat het scheidingsteken in de cel een probleem vormt om tot het juiste resultaat te komen, maar ik weet niet hoe dit te omzeilen.
Ik zou de teksten kunnen overzetten naar kolommen en van daaruit tellen, maar ik zou liever een formule gebruiken. Is hier een formule voor?

Alle reacties


Acties:
  • +1 Henk 'm!

  • Microkid
  • Registratie: Augustus 2000
  • Laatst online: 12:08

Microkid

Frontpage Admin / Moderator PW/VA

Smile

=Countif(A2:A7;"*Druif*") zou moeten werken.

4800Wp zonnestroom met Enphase
Life's a waste of time. Time's a waste of life. Get wasted all the time and you'll have the time of your life.


Acties:
  • +1 Henk 'm!

  • dixet
  • Registratie: Februari 2010
  • Laatst online: 12:45
De oplossing van @Microkid werkt, maar telt verkeerd wanneer je woorden hebt die onderdeel kunnen zijn van een ander woord.
Als je bijvoorbeeld ook "Blauwe druif" in je lijst hebt wordt die meegeteld bij zoeken naar "Druif".

Om dat te voorkomen kan je een hulpkolom maken waar je een puntkomma voor en na de tekst toevoegt (met spatie als ik het goed zie).

Dan kan je zoeken op
code:
1
=Countif(B2:B7;"*; Druif;*")



Met dit voorbeeld zie je mooi het verschil|:
Afbeeldingslocatie: https://tweakers.net/i/wYtNqbz-8l5EqMJM7iNpd-fk4o0=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/Zf8VLeAt5jZ4j8bkMeMNAJH7.png?f=user_large

Afbeeldingslocatie: https://tweakers.net/i/AymDzCMwaeTW2GBzhNPBJtWkPXE=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/MXd6keYWjU7ZofebH2RS7fzJ.png?f=user_large

Acties:
  • +3 Henk 'm!

  • Belindo
  • Registratie: December 2012
  • Laatst online: 13:43

Belindo

▶ ─🔘─────── 15:02

Zonder hulpkolom kun je het splitsen en zoeken ook in één formule krijgen. Wel O365 nodig voor de LET en FILTER functies:
code:
1
2
3
4
5
6
7
=LET(
    zoekwoord, "Druif",
    range, A1:A6,
    splitsen, TRIM(REDUCE(, range, LAMBDA(acc,x, VSTACK(acc, TEXTSPLIT(x, ";"))))),
    naarkolom, TOCOL(splitsen,3),
    COUNTA(FILTER(naarkolom,naarkolom=zoekwoord))
)
Afbeeldingslocatie: https://tweakers.net/i/AenIBumLHDiNFvm_TBR30740UEE=/800x/filters:strip_exif()/f/image/IJGZbO1oK8Lksl9eYll3Fyv8.png?f=fotoalbum_large

Edit, en als je helemaal vanzelf een lijstje met alle mogelijke woorden (dus ook als er nieuwe woorden verschijnen), mét het aantal hoe vaak ze voorkomen, dan is dit ook een optie:
code:
1
2
3
4
5
6
7
8
=LET(
    range, A1:A6,
    splitsen, TRIM(REDUCE(, range, LAMBDA(acc,x, VSTACK(acc, TEXTSPLIT(x, ";"))))),
    naarkolom, TOCOL(splitsen,3),
    uniek, SORT(UNIQUE(naarkolom)),
    tellen, MAP(uniek,LAMBDA(value,COUNTA(FILTER(naarkolom,naarkolom=value)))),
    HSTACK(uniek,tellen)
)
Afbeeldingslocatie: https://tweakers.net/i/p-lURYctV9o8jMI6LVI4pcBSuUg=/800x/filters:strip_exif()/f/image/nAK85XZaOQxG8eEDsKH8nHDJ.png?f=fotoalbum_large

[ Voor 67% gewijzigd door Belindo op 20-05-2025 09:15 ]

Coding in the cold; <brrrrr />