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

meerdere soorten tekst zoeken in 1 cel

Status
Niet open voor verdere reacties.

JoepW

Gebruiker
Lid geworden
6 jan 2020
Berichten
49
Beste Allemaal,

in een lijst met 5000 tekstregels zou ik middels een formule ( waarschijnlijk de choose of/en if ) een deel van de tekst zoeken met een getal als resultaat.

waarbij er ook verschillende spaties in de tekst zitten omdat de er handmatige invoer is geweest

voorbeeld bestand in bijlage

dank voor alle genomen moeite op voorhand !

Groet,

J
 

Bijlagen

Geen garantie dat het altijd goed gaat, maar wellicht zoiets?
Code:
[NL] =ISGETAL(VIND.SPEC("appel";C7))*ALS.FOUT(--DEEL(SUBSTITUEREN(C7;" ";"");VIND.SPEC("appel";SUBSTITUEREN(C7;" ";""))-2;1);1)
[EN] =ISNUMBER(SEARCH("appel";C7))*IFERROR(--MID(SUBSTITUTE(C7;" ";"");SEARCH("appel";SUBSTITUTE(C7;" ";""))-2;1);1)
 
dank je wel voor je snelle reactie !

wellicht heb ik het niet helemaal goed geformuleerd

maar;
3 x appels moet als resultaat 3 geven
2 x appels moet als resultaat 2 geven
en appel of bv appeltje als resultaat 1

zal er ook nog iets bij in moeten bouwen voor de verschillende schrijfwijzen bv: 2xappel / 2 x appels / 2x appels , etc met als resultaat 2.

nogmaals dank voor de moeite !
 
Weet niet wat je gedaan hebt, maar de formule hierboven doet precies wat je vraagt...
 

Bijlagen

beste AlexCEL,

ik parkeer deze voor mezelf onder de categorie "niet goed gedaan " :-)

het werkt inderdaad ! enorm dank voor je genomen moeite !

Groet,

J
 
Nog een variant voor 365

Code:
=LET(x;MID(SUBSTITUTE(C7;"appel";1);SEQUENCE(LEN(x));1)+0;MAX(FILTER(x;ISNUMBER(x))))
 
Laatst bewerkt:
Als UDF in VBA:
Code:
Function F_snb(c00)
  For j = 1 To Len(c00)
    y = Val(Mid(c00, j))
    If y > 0 Then Exit For
  Next
  If c00 <> "" Then F_snb = IIf(y = 0, 1, y)
End Function
 
Variant met Regex

Code:
Function jec(cell As String) As Long
 With CreateObject("VBScript.RegExp")
   .Global = True
   .Pattern = "\d+"
    jec = .Execute(Replace(cell, "appel", 1))(0)
 End With
End Function
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan