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

Tekst uithalen na het laatste getal

Status
Niet open voor verdere reacties.

fanis01

Gebruiker
Lid geworden
12 feb 2011
Berichten
104
Hallo,
Ik heb een aantal cellen met getallen en verklarende tekst. Bij voorbeeld:

Mod.1 Part-99 B1.1, B2 Mathematics
Mod.6 Part-65 B1.1 Materials and Hardware
Mod.11A Part-87 B1.1, B1.3 Turbine Aeroplane Aerodynamics, Structures and Systems
Mod.12 Part-62 B1.3 Helicopters Aerodynamics, Structures and Systems

Ik ben op zoek naar een formule om alleen de verklarende tekst na het laatste getal uit te halen. Geen VBA code, maar een formule met iets als: FIND MID MAX ISNUMBER TRIM SUBSTITUTE LEN en dergelijke.
Een soortgelijke vraag zou ook kunnen worden gesteld voor woonplaats na de postcode. Heb ook naar gezocht maar zo iets specifieks als het laatste getal heb ik niet kunnen vinden.
Bij voorbaat dank
Fanis
 
Heb je hier een excelvoorbeeldje van? Met hoe het er nu in staat en hoe het moet worden. De vergelijking met postcode en woonplaats begrijp ik niet omdat in Nl. de postcode eindigt op twee letters.
 
een zelf geschreven functie in VBA doet dit met een paar regels code. Spelen met formules is altijd leuk en uitdagend, maar ik zie niet in waarom het per se met basisformules moet als er een standaard oplossing is met een user-defined-function.

Je zou het kunnen "hacken" met beginnen bij de 3de spatie, maar er is een algemene oplossing die in principe altijd werkt zolang er maar een cijfer staat
 
een zelf geschreven functie in VBA doet dit met een paar regels code. Spelen met formules is altijd leuk en uitdagend, maar ik zie niet in waarom het per se met basisformules moet als er een standaard oplossing is met een user-defined-function.

Je zou het kunnen "hacken" met beginnen bij de 3de spatie, maar er is een algemene oplossing die in principe altijd werkt zolang er maar een cijfer staat

Ben benieuwd naar een oplossing, ook al is het VBA.
Thnx Fanis
 
Bij deze met een simpele VBA functie in kolom B:
Bekijk bijlage Extract Text-1.xls


De functie zelf:
Code:
Function GetOms(Regel As String) As String
    Dim i As Integer
    
    For i = Len(Regel) To 1 Step -1
        If IsNumeric(Mid(Regel, i, 1)) Then
            GetOms = Trim(Mid(Regel, i + 1))
            Exit For
        End If
    Next i
End Function

Maar als ik z'n reactie zo lees weet wampier vast een kortere oplossing ;)
 
Laatst bewerkt:
Naast de UDF van edmoor toch nog een aanpak met gewone werkbladfuncties:

edit: extra UDF ook toegevoegd
 

Bijlagen

Laatst bewerkt:
Bij deze met een simpele VBA functie in kolom B:
Bekijk bijlage 231593


De functie zelf:
Code:
Function GetOms(Regel As String) As String
    Dim i As Integer
    
    For i = Len(Regel) To 1 Step -1
        If IsNumeric(Mid(Regel, i, 1)) Then
            GetOms = Trim(Mid(Regel, i + 1))
            Exit For
        End If
    Next i
End Function

Maar als ik z'n reactie zo lees weet wampier vast een kortere oplossing ;)


Het werkt inderdaad. Bedankt
 
Maar als ik z'n reactie zo lees weet wampier vast een kortere oplossing ;)

Ik ben helaas op stap met de kinderen, maar als ik eraan denk zal ik vanavond de code nog eens posten. Het is niet zozeer veel korter maar algemener (dus in principe inzetbaar voor bijna al zulke problemen; dus ook het algemene "postcode voor plaatsnaam geval"), door gebruik te maken van regular expressions.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan