Avatar billede mim007 Nybegynder
14. september 2005 - 11:49 Der er 7 kommentarer og
2 løsninger

hente tekst i en celle

Hvordan sætter man excel til at tage alt til venstre eller højre for et fir-cifret tal:
Eks.
Vanggårdsvej 2 6660 Lintrup

Jeg har 1500 adresse, hvor jeg vil have adskilt vej fra postnr og by.
Avatar billede janvogt Praktikant
14. september 2005 - 12:10 #1
Du kan prøve at eksperimentere lidt med funktionen "Tekst til kolonner" under "Data"-menuen. Her kan du bruge mellemrum som adskiller-tegn, for at få opdelt din tekststreng.
Avatar billede mim007 Nybegynder
14. september 2005 - 12:13 #2
men så sprænger den også vej og hus nr eller hvis bynavnet er i to ord.
Avatar billede silvershadow Nybegynder
14. september 2005 - 12:25 #3
Umiddelbart ville jeg læse de 1500 adresser ud i en tekst-fil og importere dem igen i excel fra samme teks-fil, som en kommasepareret fil dog med mellemrum som seperator.
Det vil være rimelig let at gennemgå de 1500 for fejl og rette demm om nødvendigt.
Avatar billede kabbak Professor
14. september 2005 - 13:26 #4
Public Sub SplitAdresse()

Dim A As Variant, Res As Variant, N As Long, KOL As String
KOL = "A" ' ret A til din kolonne med adresser
rw = Range(KOL & "65536").End(xlUp).Row

For N = 1 To rw
Res = Empty
    For I = 1 To Len(Cells(N, KOL)) - 6
        A = Mid(Cells(N, KOL), I, 6)
            If IsNumeric(A) And Val(A) > 1000 Then
                Res = Empty
                Res = Split(Cells(N, KOL), A)
                GoTo Videre
            End If
    Next
   
Videre:
        If Not IsEmpty(Res) Then
            Cells(N, KOL).Offset(0, 1) = Res(0)
            Cells(N, KOL).Offset(0, 2) = A
            Cells(N, KOL).Offset(0, 3) = Res(1)
        Else
            Cells(N, KOL).Offset(0, 1) = Cells(N, KOL)
        End If
Next
End Sub

den skriver i de 3 næste kolonner
Avatar billede janvogt Praktikant
14. september 2005 - 13:42 #5
Man vil altid have et problem, hvis man ikke kan lave faste regler uden undtagelser.

Denne formel tager de første 2 ord (eller tegn) adskilt med mellemrum.
Bruger du "Vanggårdsvej 2 6660 Lintrup"
får du returneret "Vanggårdsvej 2"

=VENSTRE(FJERN.OVERFLØDIGE.BLANKE(A11);(FIND(" ";FJERN.OVERFLØDIGE.BLANKE(A11)&"  ";FIND(" ";FJERN.OVERFLØDIGE.BLANKE(A11)&" ")+1)-1))
Avatar billede bak Forsker
14. september 2005 - 15:11 #6
Denne formel finder adressen og den næste finder postnr og by
formlerne vil fejle hvis bynavnet er to-delt
=MIDT(A2;1;FIND(",";UDSKIFT(A2;" ";",";LÆNGDE(A2)-LÆNGDE(UDSKIFT(A2;" ";""))-1)))

=MIDT(A2;FIND(",";UDSKIFT(A2;" ";",";LÆNGDE(A2)-LÆNGDE(UDSKIFT(A2;" ";""))-1))+1;99)
Avatar billede b_hansen Novice
15. september 2005 - 08:06 #7
Blot en strøtanke.... Kunne man ikke, som noget af det første, kontrollere hvor mange mellemrum der i den enkelte tekststreng? På denne måde burde det være muligt at lave en sortering, så byer bestående af flere ord kan behandles særskilt.
Avatar billede bak Forsker
15. september 2005 - 08:48 #8
Jo, ideen er da nærliggende, men selve adressen kan jo også have flere mellemrum feks. H. C. Ørstedsvej
Jeg tæller faktisk antal mellemrum og starter fra næstsidste
LÆNGDE(A2)-LÆNGDE(UDSKIFT(A2;" ";""))
Avatar billede Slettet bruger
16. september 2005 - 17:10 #9
Jeg ville kopiere kolonnen over i word og bruge søg og erstats "flere" funktioner, vilkårligt ciffer fjerner alle tallene, og vilkårligt tegn fjerner bogstaver i en kolonne. Derefter flyttes kolonnen hjem til Excel igen.
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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