Avatar billede kgndksv Juniormester
29. januar 2014 - 15:11 Der er 6 kommentarer og
1 løsning

sammenligne tekst, som er stavet forskelligt

Hej

Jeg er på jagt efter en kode som kan sammenligne tekst, eksempelvis navne, stavet forskelligt eller med tastefejl, i to kolonner.

Konkret vil jeg bruge det til at undersøge om et navn+adresse i et ark fremgår i andet ark. Da jeg ikke kan være helt sikker på at det ene ark er stavet 100 % korrekt eller ikke indeholder tastefejl, tænker jeg at det kun bliver en semi automatisk funktion, hvor jeg angiver at der er X antal % sammenfald på et navn+adresse i det ene ark i forhold til det andet ark.


Er jeg ude i noget som Excel overhovedet kan klare?
Avatar billede finb Ekspert
29. januar 2014 - 15:37 #1
I vba kan du bruge
LIKE
eksempel:

Christensen
Kristensen
Kristensens
Christiansen

Skriv:

LIKE *rist*nsen*
(skriv kun de bogstaver, du er sikker på,
øvrige bogstaver skal være stjerne *
Avatar billede supertekst Ekspert
30. januar 2014 - 13:31 #2
Det er nok ikke Excel basalt er indrettet til - men med lidt VBA-hjælp kan det måske lade sig gøre - f.eks. ved at sammenligne forekomsten af de samme bogstaver.
Avatar billede kgndksv Juniormester
30. januar 2014 - 14:02 #3
@finb - Tak for input, men løsning er lidt for statisk.

@Supertekst - Jeg er helt med på, at Excel ikke lige har en indbygget kode til det :-) VBA er bare det eneste sprog jeg nogenlunde forstår og kan skrive i. Excel er også som oftes det format jeg får data ud i. :-)

Har du en ide til hvordan koden skal bygges op, altså fremgangsmåden?

Ved ikke om det vil blive for tungt, hvis:

man laver denne sammenligning:

Navn som skal søges i listen:
Karl Hansen

Listen:
Hans Jensen
Svend Jørgensen
Carl Hansen

sammenligning:
K - C 0%
Ka - Ca 50 %
Kar - Car 66,6 %
Karl - Carl 75 %
Karl  - Carl  80 %
Karl  H - Carl H 83,3 %
... osv...

Jeg tænker at der er et problem i ovenstående metode, fordi hvis karaktererne ikke står på "korrekte" plads i tekst-strengene.

Har du et forslag til en anden metode?
Avatar billede finb Ekspert
30. januar 2014 - 14:36 #4
Ad #3:
Du kan undersøge, om hvert enkelt bogstav findes på listen:

=if(and(is.number(find("SøgenavnsFØRSTEbogstav";"NavnPåListen");
find("SøgenavnsANDETbogstav";"NavnPåListen")....
Eller:
med Select Case:
Case is.number(find("SøgenavnsFØRSTEbogstav";"NavnPåListen")
osv.
End Select
Avatar billede supertekst Ekspert
30. januar 2014 - 14:57 #5
Optælle forekomsten af bogstaver - d.v.s. uafhængigt af placeringen - som det første trin. Måske skal der flere til..
Avatar billede finb Ekspert
30. januar 2014 - 16:06 #6
Så skal du jo næsten danne et katalog:
C~K
CH~K
osv.
Samt slåfejl:
Naboer til bogstav G: r, t, y, h, b, osv.
osv.
Mon ikke det allerede findes gratis ?
Avatar billede kgndksv Juniormester
20. juni 2014 - 23:26 #7
Der fandtes en excel funktion, som hedder fuzzy lookup udgivet af Microsoft relativ stor addin, men nu fungerer det :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester