• 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.

Gelijke waarden weergeven

Status
Niet open voor verdere reacties.

Ndam90

Gebruiker
Lid geworden
20 feb 2014
Berichten
146
Ik heb een Excel bestand met ongeveer 300.000 regels waarin klantgegevens staan. Je zal dan vast begrijpen dat ik niks met het handje wil doen en alles zowel dynamisch als automatisch gaat.

In kolom B staan alle klantnamen en hierin zijn veel bedrijven te vinden met een zelfde bedrijfsnaam als Schilder de Jong, Schilder Bruinsma, Schilder.. etc. Er zijn hierin genoeg combinaties te maken en ook andere beroepen en afkortingen.

Wat ik wil weten is wat de meest voorkomende stukjes naam zijn binnen deze klantnamen. Hiervoor wil ik een soort AANTAL functie gebruiken maar ben ik ten einde raad waar ik dit kan vinden.
Het volgende voorbeeld laat het wat duidelijker zien:


[table="width: 500, class: grid"]
[tr]
[td][/td]
[td]A[/td]
[td]B[/td]
[td]C[/td]
[/tr]
[tr]
[td]1[/td]
[td]Klantnummer:[/td]
[td]Klantnaam:[/td]
[td]Adres:[/td]
[/tr]
[tr]
[td]2[/td]
[td]156871[/td]
[td]Schilder de Jong[/td]
[td]2497 XP[/td]
[/tr]
[tr]
[td]3[/td]
[td]215751[/td]
[td]Schilder Bruinsma[/td]
[td]7943 ML[/td]
[/tr]
[tr]
[td]4[/td]
[td]169712[/td]
[td]Schild. P. Geerts[/td]
[td]7810 IR[/td]
[/tr]
[tr]
[td]5[/td]
[td]157468[/td]
[td]Brandweerpost Amerongen[/td]
[td]4591 RF[/td]
[/tr]
[tr]
[td]6[/td]
[td]234786[/td]
[td]Brandw. Groningen[/td]
[td]2347 AX[/td]
[/tr]
[/table]

Ik wil een opvraag doen dat excel van de bovenstaande gegevens zelf in een deel van kolom B overeenkomsten vindt. Uiteindelijk zal eruit komen dat:
[table="width: 200, class: grid"]
[tr]
[td]Herkend:[/td]
[td]Aantal:[/td]
[/tr]
[tr]
[td]"Schilder"[/td]
[td]2[/td]
[/tr]
[tr]
[td]"Schild"[/td]
[td]3[/td]
[/tr]
[tr]
[td]"Brandw"[/td]
[td]2[/td]
[/tr]
[/table]

Uiteraard is misschien een bestand met ongeveer 300.000 regels te groot, maar ik kan uiteraard ook kleinere bestanden maken hiervan.
 
Ik ben bang dat dit met Excel niet gaat lukken. Je kan wel zelf kernwoorden bepalen en tellen hoe vaak ze voorkomen in de klantnamen (mbv vind.spec()) maar Excel volledig zelf laten zoeken en dit soort kernwoorden automatisch laten genereren lijkt mij niet mogelijk. Wellicht dat iemand anders een idee heeft, daar zou ik dan ook erg benieuwd naar zijn.
 
Ik heb zelf even nagedacht en het zou misschien ook wel met een macro kunnen. Mijn bestand is nu gefilterd en als ik een filter toevoeg op naam met: Bevat "schild" dan laat die enkel die namen zien die dat bevatten. Met AANTALARG kan ik dan het aantal klanten tellen die daarin voorkomen. Enkel moet het trefwoord "schild" dynamisch worden. Dat hij heel lang doet over het laden van de macro vind ik niet erg.
 
Ik begreep uit jouw eerste post dat je wilt dat Excel helemaal uit zichzelf komt met het kernwoord "Schild" of "Schilder"
Als je die kernwoorden zelf bepaalt kan het gewoon met een formule. Zie bijlage. Je voert het gewenste kernwoord in als kolomkop en trekt de formule doorBekijk bijlage Kernwoorden.xls
 
Het is juist dat hij zelf moet komen met die kernwoorden. Er staan in de klantenlijst meer dan 100 beroepen en mogelijke varianten daarop.
 
Dat is nou juist hetgeen wat Excel volgens mij niet kan. Voor het tellen van zelf bedachte kernwoorden heb je dus geen Macro nodig (zie bijlage), dat is het makkelijke deel. Het probleem zit hem juist in het Excel zelf laten zoeken naar woorden/lettercombinaties die vaak voorkomen. Er zijn oneindig veel combinaties mogelijk en hoeveel letters moet zo'n kernwoord minimaal bevatten. Als er 100 keer Groningen staat wil je dan dat Excel terugkomt met:
Groningen 100
Groninge 100
Groning 100
Gronin 100
.
.
.
Gr 100
G 100
En dat dan voor alle mogelijke woordcombinaties die er zijn?
Ik vrees dat het niet kan, maar laat me graag verrassen door oplossingen van anderen
 
Ik kan het afbakenen tot ongv. 4 tot 6 letters. Zoals Bouwb ipv Bouwbedrijf of Schild.
 
Zitten alle beroepen aan het begin van klantnaam?
Zo ja, dan hoef je de letters niet af te bakenen.

Waar ik mij wel zorgen om maak is het feit dat je "Schilder" en "Schild" hebt.
En wellicht dan ook "Schildersbedrijf", "Schildersbedr." etc.
De telling geeft dan een vertekend beeld.

Het zou uiteraard met VBA kunnen maar wellicht is het beter om een extra kolom toe te voegen met de beroepen.

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan