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

Extraheren van E-nr(s) uit tekst

Status
Niet open voor verdere reacties.

cortex

Gebruiker
Lid geworden
2 aug 2009
Berichten
102
Beste forumleden,

Ik zou enorm geholpen zijn als uit het bijgesloten tekstbestand het E-nr of E-nrs uit de tekst geëxtraheerd kunnen worden met het resultaat weergegeven in kolom B.

Alvast bedankt voor jullie support!

In de appendix het fictief voorbeeldbestand. Adressen zijn gefantaseerd.

Groet,

Cortex
 

Bijlagen

Laatst bewerkt:
Excel 365:
Code:
=LET(x;TEKST.SPLITSEN(Tabel1[@locatie];" ");TEKST.COMBINEREN(" ";1;FILTER(x;LINKS(x;1)="E";"")))
 
Laatst bewerkt:
Met FILTERXML kun je dit robuuster maken. Nu worden alle woorden, startend met E, meegenomen.
 
Klopt, maar die waren er niet...

Maar ok, zoiets zou ook kunnen (excel 365):
Code:
=TEKST.COMBINEREN(" ";1;XML.FILTEREN("<t><s>"&SUBSTITUEREN(Tabel1[@locatie];" ";"</s><s>")&"</s></t>";"//s[translate(.,'1234567890','')!=. and .*0!=0 and starts-with(., 'E')]"))
 
Laatst bewerkt:
Excel 365:
Code:
=LET(x;TEKST.SPLITSEN(Tabel1[@locatie];" ");TEKST.COMBINEREN(" ";1;FILTER(x;LINKS(x;1)="E";"")))


Bedankt voor je reactie, ik gebruik Excel 2019; hoe breng ik deze formule ten uitvoer, als ik namelijk deze formule kopieer en plak in kolom B krijg ik geen resultaten?
 
Gebruik de tweede formule van Alex. Die formule werkt in jouw Excel versie

Met deze UDF's kan het ook

Code:
Function jec(cell As String) As String
 Dim it
 For Each it In Split(cell)
   If it Like "E#*" Then jec = jec & IIf(Len(jec), " ", "") & it
 Next
End Function

of

Code:
Function jecc(cell As String) As String
 Dim it
 With CreateObject("vbscript.regexp")
   .Global = True
   .Pattern = "E\d+(?=\s)"
   For Each it In .Execute(cell)
     jecc = jecc & IIf(Len(jecc), " ", "") & it
   Next
 End With
End Function
 
Laatst bewerkt:
@all,

Zeer bedankt voor deze creatieve oplossingen voor mijn vraagstuk.

Fijne feestdagen.

Mvg,
Cortex
 
Alleen heb ik iets te snel gereageerd, er wordt slechts één E-nummer opgehaald i.p.v. één of twee, kunnen jullie nog even een cross check doen?
 
In macromodule

Code:
Function F_snb(c00)
  F_snb = Join(Filter(Filter(Split(c00), "E"), "B", 0))
End Function
In B2:

PHP:
=F_snb(A2)
of
PHP:
=F_snb(Tabel1[@locatie])
 
Laatst bewerkt:
Excellent, zeer bedankt voor deze fraai oplossing. Zeer content mee en derhalve case closed!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan