Avatar billede lakrije Seniormester
14. juli 2019 - 06:33 Der er 8 kommentarer og
1 løsning

Tekst til kolonner

Hej med jer, jeg sidder med et ret stort ark med 4000 linjer, hvor der indgår en del adresser. Problemet er, at adressen står i en linje, og jeg skal bruge den opdelt i adresse; postnummer; by.

De

Eksempler på adresser:
Hvidovrevej 2, 2650 Hvidovre
Hvidovrevej 3, 1. th., 2650 Hvidovre
Hvidovrevej 4, 1., -5, 2650 Hvidovre

Hvis jeg anvender tekst til kolonner, så får jeg ikke opdelt i de kolonner, jeg gerne vil, og jeg mister sal og dørnummer i den første celle.

Er der en måde at omgå dette, eller gøre det på en smartere måde.

Postnummer og by ville jeg blot bruge fast bredde på.

På forhånd tak
Lars Jensen
Avatar billede Jan Hansen Ekspert
14. juli 2019 - 08:15 #1
Hej

Adresse
=VENSTRE(A2;FIND(C2;A2)-3)

Postnr
=MIDT(A2;SAMMENLIGN(SAND;(HELTAL(MIDT(A2;RÆKKE(INDIREKTE("1:"&LÆNGDE(A2)));4)/1000))>0;0);4)

Er en matrixformel Afslut indtastning med Ctrl+Shift+Enter

By
=MIDT(A2;FIND(C2;A2)+5;LÆNGDE(A2))

Jan
Avatar billede lakrije Seniormester
14. juli 2019 - 08:34 #2
Hej Jan,

tak for dit svar, kan du prøve at uddybe formler for adresse og By, hvilken celle skal jeg stå i, og jeg forudsætter vi har adresse i A2.

Blot for forklaringens skyld, så er der andre vejnavne end hvidovrevej, det er rent for eksemplets skyld :)
Avatar billede xl-Enthusiast Ekspert
14. juli 2019 - 09:46 #3
Opgaven er særdeles kompleks, men du kan prøve at tage et kig på vedhæftede. Et af mange problemer kan du se i celle D10 hvor den ikke tager det korrekte bynavn. Der kan være en del andre kompleksiteter som formlerne heller ikke tager højde for. Selv ved hjælp af Regular Expressions (hvis du kender noget til det) er det en svær opgave.

https://www.dropbox.com/s/9nkzyaca8fjry7e/Adresser.xlsx?dl=0
Avatar billede Jan Hansen Ekspert
14. juli 2019 - 11:07 #4
Hej Lars

Adresse
Bruger det fundne postnr i C2
Finder  placeringen i strengen minus 3 og tager alt og til venstre

By
Bruger det fundne postnr i C2
Finder  placeringen i strengen +5 og tager alt herfra og til højre

Jeg bruger postnr da den altid er på 4 cifre til at finde adresse og by

Jan
Avatar billede Jan Hansen Ekspert
14. juli 2019 - 11:13 #5
Forresten der kan opstå et problem hvis der er 4 cifre efter hinanden et andet sted i strengen end post-nummeret!!
Avatar billede lakrije Seniormester
14. juli 2019 - 13:50 #6
Hej igen, begge, det giver super mening nu. Bynavn kan jeg ikke få til at virke med Jans, men det betyder ikke så meget, da man jo altid kan lave et opslag på bynavn ud fra postnummer,

Tusind tak for hjælpen. Jeg giver Jan løsningen, han var først.

I er sgu for seje herinde.
Avatar billede supertekst Ekspert
14. juli 2019 - 14:28 #7
Alternativt forslag:
Option Explicit
Const komma = ","
Dim r?k As Integer, adr As String, opdeltAdr As Variant, postNrBy As String, t As Integer
Dim adresse As String, postNr As Integer, by As String
Private Sub adskilAdresseData()
For r?k = 2 To 4
    adr = Cells(r?k, 1)
    For t = Len(adr) To 1 Step -1
        If Mid(adr, t, 1) = komma Then
            adresse = Left(adr, t - 1)
            postNrBy = Mid(adr, t + 2, Len(adr) - t)
            postNr = Left(postNrBy, 4)
            by = Mid(postNrBy, 6)
           
            Cells(r?k, 2) = adresse
            Cells(r?k, 3) = postNr
            Cells(r?k, 4) = by
            Exit For
        End If
    Next t

Next r?k
End Sub
Avatar billede Jan Hansen Ekspert
14. juli 2019 - 14:46 #8
Avatar billede Daffodil Professor
15. juli 2019 - 08:37 #9
#4 Jan
For god ordens skyld skal jeg lige bemærke at postnumre i Danmark er på 4 cifre, men for Færøerne er der kun 3 cifre. I tidernes morgen havde Grønland 3 cifre, men det er nu på 4 cifre i intervallet 3900 til 3999. Dette mere hvis der er adresser fra Færøerne.
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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