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

Komt overeen ?

Status
Niet open voor verdere reacties.

Hovawart

Gebruiker
Lid geworden
11 mei 2004
Berichten
75
Hallo,

Ik ben op zoek naar een functie/ formule om cellen die bijna gelijk zijn aan elkaar te laten vergelijken;

vb.

Cel a1 Piet Jansen
Cel a2 P. Jansen
Cel a3 Jan Jansen

dus een functie/formule die aangeeft dat

a1 is ongeveer a2, WAAR
a1 is niet ongeveer a3 ONWAAR
a2 is niet ongeveer a3 ONWAAR

Ben benieuwd of excel / jullie zo intelligent zijn om hier iets op te vinden.......

mvg
 
Dit is volgens mij niet mogelijk zo 1 2 3.
Wat je wilt, het vergelijken van 2 cellen, is "boolean" of te wel, Ja of Nee / Waar of niet waar / True of False.
Excel kent daarin geen tussenweg.

Om de vergelijking te doen die jij wilt, zal je beide strings (´Piet Jansen´ en ´P. Jansen´) door middel van functies uit elkaar moeten trekken. Dan eerst de achternamen vergelijken, vervolgens de substring (Piet en P.) letter voor letter uit elkaar trekken en daarvan dan vergelijken of de eerste letter van Piet ook overeen komt met de eerste letter van de tweede string "P."

Of dit allemaal mogelijk is in Excel, ik weet het niet, maar als het mogelijk is, dan zal je een ongelovelijk lange functie krijgen waarin verschillende Functions in elkaar gestopt zijn.

Olav
 
idd, zo zat ik ook te denken.

Maar omdat er hier veel Excel-experts zitten, en wel vaker complexe formules weet te generenen, doe ik toch een poging.

( Jeroen !! i need help again );)
 
Hoi Hovawart,

Leuk he, zo'n administratie. Ik zal je verder in de put duwen.

Sofie Jansen gaat trouwen met Joris Klaassen en neemt echtgenoot trouw de achternaam van de man aan. Dat wordt een serieus probleem voor Excel.

Ik hoop dat je in je werkblad geboortedatums hebt staan van je leden of datum begin lidmaatschap. Sorteer hierop en haal de dubbels op deze wijze er uit.

Eventueel kun je aan de kolom met de datums ook een voorwaardelijke opmaak toevoegen:
Formule is: =aantal.als($K$11:$K$99;K11)>1
Patroon rood
Waarbij het datum bereik K11:K99 is in dit geval.
De dubbele datums worden rood.

Jeroen
 
het probleem ligt eigenlijk bij de invoer van de namen, dit gebeurd nooit consequent hetzelfde en toch wil ik voor deze persoon wel bep gegevens verzamelen ( ongeachte hoe de naam aangeleverd wordt);

De ene keer is het Mevr de Rooij, dan weer A. de Rooij of Mevr. A. de Rooij, Annie de Rooij .......

Ik zoek dus iets(?) in excel zodat deze namen als gelijk worden beschouwd.....



eigenlijk ligt het probleen niet bij de invoer maar bij de mensen die het invoeren. Het is makkelijker om een werkblad aan te passen dan het gedrag van mensen aan te passen.

;)
 
Je kan natuurlijk ook het gedrag aanpassen door de excelsheet aan te passen.
Verplicht de invoerder om elk onderdeel van de naam in een apart veld te plaatsen. Dus voornaam, achternaam, tussenvoegsel, voorletters, en geslacht allemaal in een aparte cel laten invoeren.

Olav
 
tja,


personeel van tegenwoordig ...zucht

Je zou een formulier of userform kunnen maken
waar je dus de gegevens op laat invullen
en deze keer netjes dus voornaam volledig of juist niet etz..
en dan inderdaad alles in aparte kolommen
plus punten
1 overzicht
2 zoekfunctie zeer eenvoudig
3 export naar bv outlook /contact personen mogelijk
4 mailing via word
etz...etz...

nadeel ? geen idee volgens mij alleen voordelen


je kan dit dan door middel van een knop en een kleine macro versturen naar je bestaande excel blad die gewoon op blad 2 staat

maar dan zit je nog steeds met de gegevens die je nu hebt... er is wel een iets te bedenken die zoekt op spatie's in je bestaande kolom zodat je de namen die nu in 1 kolom staan uit elkaar trekt volgens mij heeft Luc zoiets ooit gemaakt ....kan het mis hebben


heb het volgens mij wel ergens...maar dan moet ik ff zoeken ..
 
Hoi Hovawart,

Je probleem is ingewikkelder dan je zou denken en daarom niet op te lossen met Excel. Het verwijderen van voorvoegsels, zoals mevr. en de heer is geen probleem, maar die tussenvoegsels en dubbele achternamen.

Hoe moet Excel weten dat de invoer wel of niet een voornaam bevat (vergelijk Annie de Rooij met van der Steen, de een moet A. de Rooij worden en de ander van der Steen).

De onderstaande functie schrapt in ieder geval de bekendere voorvoegsels en kort de eerste naam af tot een Initiaal met een punt.

Function Achternaam(Naam)
k = 0
'mogelijke voorvoegsels van groot naar klein!
If Mid(LCase(Naam), 1, 7) = "mevrouw" Or Mid(LCase(Naam), 1, 7) = "de heer" Then Naam = Mid(Naam, 8, 99)
If Mid(LCase(Naam), 1, 5) = "mevr." Then Naam = Mid(Naam, 6, 99)
If Mid(LCase(Naam), 1, 4) = "mevr" Or Mid(LCase(Naam), 1, 4) = "heer" Then Naam = Mid(Naam, 5, 99)
If Mid(LCase(Naam), 1, 3) = "mw." Or Mid(LCase(Naam), 1, 3) = "mvr" Or Mid(LCase(Naam), 1, 3) = "hr." Then Naam = Mid(Naam, 4, 99)
If Mid(LCase(Naam), 1, 2) = "mw" Or Mid(LCase(Naam), 1, 2) = "hr" Then Naam = Mid(Naam, 3, 99)
If Mid(Naam, 1, 1) = " " Then Naam = Mid(Naam, 2, 99)

Lengte = Len(Naam)
For i = 1 To Len(Naam)
Kar = Mid(Naam, i, 1)
If Kar = " " And k = 0 Then
Achternaam = Achternaam & Mid(Naam1, 1, 1) & ". ": Naam1 = "": k = 1
Else
Naam1 = Naam1 & Kar
End If
Next i
Achternaam = Achternaam & Naam1
End Function

Een functie moet niet in de VBA-editor gezet worden maar in een module (rechtermuisknop klikken op het tabje van het werkblad, programmacode weergeven kiezen, uit het menu van VBA Invoegen-> Module en de functie inkopieren)

Zet nu in A1: Mw. Annie de Rooij
en in B1: =Achternaam(A1)

En zie het resultaat.

Waar het fout gaat is bij Mw. de Rooij, hier wordt d. Rooij van gemaakt.

Jeroen

P.S. Eric,
Meer over de Hovawart:
http://www.hovawartclub.nl/
 
Tja... niet veel hoopgevende berichten voor je probleem. Helaas kan ik het ook niet oplossen... maar ik kan wel die knoeiers verplichten de zaken goed in te vullen :p

Maak een lijstje met alle mogelijke namen, en geef die lijst een naam.
Vervolgens selecteer je de kolom waar ze steeds in knoeien, en je gaat via Data naar valideren
Daar kies je voor 'Lijst', en je vult de naam in die je aan die lijst hebt gegeven.

Luc

Een goed opgebouwd bestand verminderd de fouten die gemaakt worden met 10
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan