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

getal uit een tekst halen

Status
Niet open voor verdere reacties.

Manuzzi

Gebruiker
Lid geworden
8 apr 2005
Berichten
64
Is er een functie die een getal uit een tekst kan halen, zonder te weten op welke positie het getal in de tekst staat?

Ik heb cellen onder elkaar waarin bijvoorbeeld dit staat:
4Y
HAVO5
T3G
TTO2

Nu heb ik wel iets gevonden voor tekst met een lengte van maximaal 5 tekens, maar die formule is zo lang: =ALS(ISGETAL(WAARDE(DEEL(E5;1;1)));WAARDE(DEEL(E5;1;1));0)+ALS(ISGETAL(WAARDE(DEEL(E5;2;1)));WAARDE(DEEL(E5;2;1));0)+ALS(ISGETAL(WAARDE(DEEL(E5;3;1)));WAARDE(DEEL(E5;3;1));0)+ALS(ISGETAL(WAARDE(DEEL(E5;4;1)));WAARDE(DEEL(E5;4;1));0)+ALS(ISGETAL(WAARDE(DEEL(E5;5;1)));WAARDE(DEEL(E5;5;1));0)

groet, Herman
 
Een functie hiervoor is mij niet direct bekend, misschien dat je iets kunt met vind.spec.
In bijlage wel een oplossing met een macro.
 

Bijlagen

Is het altijd hetzelfde getal wat je eruit wilt halen en wat wil je er dan mee doen?
 
Hallo Jan,
Die macro is inderdaad bruikbaar. Vind.spec heeft als nadeel dat, als er geen waarde gevonden wordt een foutmelding weergegeven wordt. Op de volgende manier is het voor mij bruikbaar omdat er altijd maar één cijfer tussen 1 en 6 voorkomt in mijn tekststring:

=WAARDE(DEEL($E16;ALS(ISFOUT(VIND.SPEC(1;$E16));0;VIND.SPEC(1;$E16))+ALS(ISFOUT(VIND.SPEC(2;$E16));0;VIND.SPEC(2;$E16))+ALS(ISFOUT(VIND.SPEC(3;$E16));0;VIND.SPEC(3;$E16))+ALS(ISFOUT(VIND.SPEC(4;$E16));0;VIND.SPEC(4;$E16))+ALS(ISFOUT(VIND.SPEC(5;$E16));0;VIND.SPEC(5;$E16))+ALS(ISFOUT(VIND.SPEC(6;$E16));0;VIND.SPEC(6;$E16));1))[

"vind.spec" bepaalt de positie van het getal
"deel" maakt gebruik van de in vind.spec gevonden positie
met "als(isfout())" zet ik de foutmelding om in de waarde "0"'
"waarde" maakt weer een getal van het door "vind.spec" als tekst gevonden cijfer.

QUOTE]Geplaatst door Jan van Asseldonk
Een functie hiervoor is mij niet direct bekend, misschien dat je iets kunt met vind.spec.
In bijlage wel een oplossing met een macro.
[/QUOTE]

Ik ga uitzoeken wat voor mij de handigste oplossing is. Ik denk de macro, omdat ik de gegevens maar een paar maal per jaar nodig heb.

bedankt en groet,
Herman
 
Hoi Herman,

Dit is een typisch geval voor een "Regular Expression".

Helaas kun je ze niet standaard in Excel gebruiken.

Ik heb daarom een werkbladfunctie geschreven die objecten in de "Microsoft VBScript Regular Expressions" bibliotheek gebruikt.

Als je het voorbeeldje ziet wordt het hopelijk wel duidelijk. (zie attachment)

Groeten,
-Jaco
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan