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

Staatnaam van huisnummer splitsen

Status
Niet open voor verdere reacties.

Plotinus

Gebruiker
Lid geworden
25 mrt 2007
Berichten
658
Ik heb een groot bestand met daarin in één kolom de straatnaam met huisnummer en soms nog een toevoeging. Ik wil dat nu gesplitst hebben in twee kolommen: alleen de straatnaam in een kolom en de rest in een andere:

koningin Julianalaan 15 a -> koningin Julianalaan / 15 a
Parklaan 14 -> Parklaan / 14

Helaas kan ik met VIND.ALLES enkel op één getal zoeken (bijvoorbeeld =DEEL(E9;1;VIND.ALLES("5";E9;1)-1)). Ik zou al een heel eind zijn als ik op alle getallen kan zoeken, bijvoorbeeld door 'ISGETAL', maar dat lukt dus niet. Iemand een idee hoe dit op te lossen?
 
Als de waarden in kolom A staan dan in cel B1 de volgende matrixformule:
Code:
=LINKS(A1;KLEINSTE(ALS(ISGETAL(DEEL(A1;RIJ(INDIRECT("1:"&LENGTE(A1)));1)*1);RIJ(INDIRECT("1:"&LENGTE(A1))));1)-1)
en in cel C1
Code:
=SUBSTITUEREN(A1;B1;"")
 
Met =ZOEKEN(9,99E+123;--LINKS(A1;RIJ(INDIRECT("1:"&LENGTE(A1))))) kan je iig het huisnummer eruit filteren. Maar hoe je vervolgens de huisnummertoevoeging mee krijgt weet ik ook niet...

Ah, zie reactie boven mij...
 
Laatst bewerkt:
Hoi Plotinus,

Splitsen van huisnummers is heel lastig voor excel. Getallen kan excel wel vinden evt met vba, maar je hebt ook bijvoorbeeld Plein 1945 of 2e Dwarsstraat, waar excel dan de mist in gaat. Zoals je bij de oplossing van Rebmog ziet. Probeer dat maar eens.

Ik heb een functie gemaakt die dit een beetje kan ondervangen. Ook hier zullen valkuilen zijn!
Hoe zet je een functie in Excel:
-Rechtermuisklik op het tabje van het werkblad (onderaan) -> Programmacode weergeven
Je komt nu in VBA
Kies Invoegen -> Module (Niet Klassemodule!) en plak de onderstaande code:
Code:
Function Huisnummer(Adres)
L = Len(Adres)
For i = L To 1 Step -1
If Mid(Adres, i, 1) <> " " Then
    Huisnummer = Mid(Adres, i, 1) & Huisnummer
Else
    If IsNumeric(Mid(Huisnummer, 1, 1)) Then Exit Function Else Huisnummer = " " & Huisnummer
End If
Next i
End Function
In Excel kun je nu eenvoudig het huisnummer krijgen door de formule:
Code:
=Huisnummer(E9)
Het adres wordt dan (met huisnummer in H9):
Code:
=DEEL(E9;1;LENGTE(E9)-LENGTE(H9)-1)

Groet,
Jeroen
 
Dank allemaal!, de methode van redmog werkt prima; straks eens precies nagaan hoe? De methode van Jeroen ga ik ook nog eens bekijken; mijn gedachten gingen aanvankelijk ook al uit naar VBA, maar als het niet per se hoeft, dan heeft een Excel-formule echt mijn voorkeur.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan