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

het getal in een zin er uithalen

Status
Niet open voor verdere reacties.

ronsom

Gebruiker
Lid geworden
6 mrt 2012
Berichten
232
Goedemorgen,

Misschien een makkelijke vraag, maar ik kom er niet uit met de functies Deel/Links/Rechts.
Ik ben op zoek naar het getal, ongeacht de positie van het getal in de zin.
Met welke formule moet ik dan werken?
 

Bijlagen

  • cijfers zoeken.xlsx
    9 KB · Weergaven: 41
Geluk? In C3 werkt deze:
Code:
=RECHTS(B3;VIND.ALLES(" ";B3;1)-1)
Mogelijk weet je dan waar je moet zoeken.

edit:
Deze nog gevonden:
Code:
=ALS(SOM(LENGTE(B2)-LENGTE(SUBSTITUEREN(B2; {"0";"1";"2";"3";"4";"5";"6";"7";"8";"9"}; "")))>0; SOMPRODUCT(DEEL(0&B2; GROOTSTE(INDEX(ISGETAL(--DEEL(B2;RIJ(INDIRECT("$1:$"&LENGTE(B2)));1))* RIJ(INDIRECT("$1:$"&LENGTE(B2)));0); RIJ(INDIRECT("$1:$"&LENGTE(B2))))+1;1) * 10^RIJ(INDIRECT("$1:$"&LENGTE(B2)))/10);"")
 
Laatst bewerkt:
Is het getal altijd 2 cijfers? Staat het getal altijd na de eerste spatie?
Oftewel: is het voorbeeld representatief?
Die hierboven gaat niet goed voor alle gevallen in je voorbeeldje.

Welke Excel versie gebruik je? Deze werkt voor Excel 365 voor situaties waarbij een getal in een zin staat, ongeacht lengte getal en aantal spaties ervoor.
Code:
=--TEKST.COMBINEREN("";WAAR;FILTER(DEEL(B2;RIJ($1:$100);1);ISGETAL(--DEEL(B2;RIJ($1:$100);1));""))
 
Laatst bewerkt:
Hallo,

Bedankt voor jullie reacties, ja het getal is altijd 2 cijfers. Alleen de positie van het getal wijzigt.
Ik werk met de versie office 2019
 
Laatst bewerkt:
En de spaties? Altijd één ervoor? Dan kun je deze gebruiken:
Code:
=DEEL(B2;VIND.SPEC(" ";B2)+1;2)
 
Laatst bewerkt:
Hallo,

Spatie zit er soms niet voor.
dit kan ook voorkomen.

aa50 aa
 
Laatst bewerkt:
Niet geheel representatief voorbeeldje dus.

Probeer deze eens:
Code:
=DEEL(B2;MIN(VIND.ALLES({0;1;2;3;4;5;6;7;8;9};B2&"0123456789"));2)
 
@AlexCEL
Kijk nog even in post 2. Die tweede werkt wel in Excel H&S 2007.
 
Die had ik ook overwogen en werkt ook prima, maar gezien de nadere info van ronsom vond ik die formule te complex als oplossing voor dit probleem.
 
Nog een optie, matrix formule

Code:
=MAX(IFERROR(--MID(B2;SEARCH(ROW($1:$9);B2;1);2);-1))
 
Optie met UDF, invoeren als =jv(B2)
Code:
Function jv(Cell)
For i = 1 To Len(Cell)
  If InStr("0123456789", Mid(Cell, i, 1)) Then
    jv = --Mid(Cell, i, 2)
    Exit For
  End If
Next
End Function

Ik vraag me echter af of je in 1 klap kunt checken of er een match is(en op welke positie). Dus zonder loop
 
Zonder loop.
Code:
Function hsv(r)
 With CreateObject("VBscript.Regexp")
                  .Pattern = "[A-Za-z]"
                  .Global = True
            hsv = .Replace(r, "")
          End With
End Function
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan