Avatar billede kualle Juniormester
04. februar 2013 - 11:53 Der er 7 kommentarer og
1 løsning

Omformattering af data

Hej!

Jeg har et problem med et temmelig stort datasæt, som desværre er blevet formatteret ret uhensigtsmæssigt.

Den aktuelle kolonne indeholder adresser, der ser ud på følgende måde:

Slåenhaven 153
P.M. Madsens Vej 12
Hermelinløkken 3B
Bredagerløkken 57
Lærkeparken 134E
Dyrupgårds Allé 102
Vestervangen 3
Vermundsvej 50
Heltzensgade 6
Oehlenschlægersvej 60
Hollufgård Vænget 17
Mariehønevænget 16
Karen Brahes Vej 10
Sandkæret 56
Druemunken 25
Nymarken 50
Njalsvej 111
Lindeparken 10
Christiansgade 21
Hermelinløkken 1A
Nedergade 29C
Ranunkelvænget 38

Jeg skal samkøre disse adresser med andre data i SAS EG (databaseprogram/statistikprogram). For at kunne gøre dette, er det nødvendigt, at der er mellemrum mellem husnumrene og bogstaverne. Således at det fx hedder:
Hermelinløkken 1 A.

Kan man gøre dette i excel, og hvordan?
Avatar billede Slettet bruger
04. februar 2013 - 12:55 #1
Måske kan du bruge følgende matrixformel:

Bogstav efter husnummer:
=MIDT(A1;MAKS(ER.TAL(MIDT(A1;KOLONNE(1:1);1)*1)*KOLONNE(1:1))+1;99)
Avatar billede kualle Juniormester
04. februar 2013 - 14:09 #2
Tak for dit svar!

Dit forslag giver kun den samme tekst, som i kolonnen.

Jeg vil gerne have, hvis der kommer et mellemrum mellem sidste og næstsidste tegn, hvis det sidste tegn er et bogstav.

Kand et ikke skrives smart?
Avatar billede Slettet bruger
04. februar 2013 - 14:40 #3
Du indtaster åbenbart ikke formlen som matriksformel. Som jeg skrev udtrækker formlen bogstavet efter husnummeret.

Når du blot ønsker et mellemrum mellem sidste og næstsidste tegn er det let:

=HVIS(ER.TAL(--(MIDT(A1;LÆNGDE(A1);1)));A1;(MIDT(A1;1;LÆNGDE(A1)-1))&" "&HØJRE(A1;1))
Avatar billede kualle Juniormester
04. februar 2013 - 14:57 #4
Tak for dine ihærdige forsøg, desværre løser ingen af forslagene rigtig mit problem. Jeg er ikke bare interesseret i at få et mellemrum mellem sidste og næstsidste tegn.

Jeg er interesseret i at få et mellemrum mellem sidste og næstsidste tegn, hvis og kun hvis det sidste tegn er et bogstav.

Jeg kan ikke som sådan bruge det bagerste tegn til noget - jeg er nødt til at have det i en sammenhæng med de øvrige oplysninger i tekststrengen.

I ovenstående eksempel forsøger jeg altså at opnå

Slåenhaven 153
P.M. Madsens Vej 12
Hermelinløkken 3 B
Bredagerløkken 57
Lærkeparken 134 E
Dyrupgårds Allé 102
Vestervangen 3
Vermundsvej 50
Heltzensgade 6
Oehlenschlægersvej 60
Hollufgård Vænget 17
Mariehønevænget 16
Karen Brahes Vej 10
Sandkæret 56
Druemunken 25
Nymarken 50
Njalsvej 111
Lindeparken 10
Christiansgade 21
Hermelinløkken 1 A
Nedergade 29 C
Ranunkelvænget 38

Hvor der altså kun er mellemrum mellem de de to bagerste tegn, hvis det bagerste tegn er et bogstav.

Mit problem er, at jeg har godt 150000 tekststrenge, så det er af afgørende betydning, at jeg ikke skal gøre særlig meget manuelt :-).
Avatar billede Slettet bruger
04. februar 2013 - 15:09 #5
Jammen det er præcist hvad min sidste formel gør.

Hans
Avatar billede panebb Novice
04. februar 2013 - 15:12 #6
dkhaknu's formel i #3 giver det resultat du ønsker, når jeg prøver her
Avatar billede kualle Juniormester
04. februar 2013 - 15:18 #7
Jamen,d et er det jo også. Jeg havde lavet en indtastningsfejl. Beklager!

Mange tak for hjælpen. Det er virkelig værdsat! Kan du poste et svar, så jeg kan tildele point
Avatar billede Slettet bruger
04. februar 2013 - 15:24 #8
OK.
Hans
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

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



IT-JOB

Cognizant Technology Solutions Denmark ApS

Senior Test Engineer

Cognizant Technology Solutions Denmark ApS

Senior Delivery Manager