• 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 waarden uit string halen

Status
Niet open voor verdere reacties.

paulbonnyns

Gebruiker
Lid geworden
14 mrt 2014
Berichten
11
Ik gebruik Excel om mijn lotto te controleren.
Ik laad de waarden in van een bepaalde site.
De winnende nummers bieden zich aan als volgt: 24 – 28 – 34 – 40 – 42 – 44 + 1
In één string dus.
Ik wel nood aan de 6 winnende getallen en het reservegetal apart.
Ik moet dus 7 waarden halen uit die string.
Ik heb wel een oplossing gevonden door een combinatie van functies op meerdere rijen als: vind.spec en links en rechts en lengte.
Maar ik ben op zoek naar een elegantere oplossing.
Een functie misschien?
Graag uw visie aub.
 
Zo wellicht? (met in A1 de string)
Code:
=XML.FILTEREN("<t><s>"&SUBSTITUEREN(SUBSTITUEREN(A1;"–";"+");"+";"</s><s>")&"</s></t>";"//s")
Let op: Als u een actuele versie hebt van Microsoft 365, kunt u de formule gewoon invoeren in de cel linksboven van het uitvoerbereik. Druk vervolgens op Enter om te bevestigen dat de formule een dynamische matrixformule is. Anders moet u de formule invoeren zoals een oudere matrixformule. Selecteer eerst het uitvoerbereik, voer de formule in de cel linksboven van het uitvoerbereik in en druk op Ctrl+Shift+Enter om te bevestigen. https://support.microsoft.com/nl-nl/office/xml-filteren-functie-4df72efc-11ec-4951-86f5-c1374812f5b7
 
Laatst bewerkt:
Erg bedankt.
Werkt prima.
Zo heeft deze 75 jarige vandaag weer veel bijgeleerd.:)
 
Waaarom gebruik je geen tekst naar kolommen (tabblad Data) ?
of een eenvoudige Excelfunktie ?
of een simpele UDF ?
Code:
Function F_snb(c00)
   F_snb = Split(Replace(c00, "+", Chr(150)), Chr(150))
End Function
 

Bijlagen

Laatst bewerkt:
Beste
Die weg had ik ook al bewandeld.
Toch bedankt.
De oplossing van AlexCEL is zeer elegant.

Ook erg bedankt voor alle andere bijdragers.

De ene oplossing is al creatiever dan de andere.

Ik geniet van het bijleren.

Mvg
 
Laatst bewerkt:
Ik heb mijn post nog uitgebreid.
Ik vind de 'oplossing' van AlexCel wat onze oosterburen een 'Verschlimmbesserung' noemen. Dat ligt niet aan hem , maar aan MS.
 
Laatst bewerkt:
Je kan het ook als standaard Functie gebruiken als je de laatste versie van Excel hebt (de Lambda functie is nu wel vrijgegeven voor iedereen maar kan misschien nog even duren voordat je deze kan gebruiken)
De meest robuuste manier om met een normale Excel formule tekst te splitten.

Wijs deze formule toe aan een naam (bvb: "Splitter")
Code:
=LAMBDA(string;delimiter;FILTERXML("<x><y>"&SUBSTITUTE(string;delimiter;"</y><y>")&"</y></x>";"//y"))

Daarna kun je de functie zo aanroepen: (Met in C1 je keuze voor delimiter)
Code:
=Splitter(A2;$C$1)
 
Heel vreemd dat de meeste nieuwe functies in een Nederlandse versie in het Engels zijn.

Sommige functies hebben dus wel een Nederlandse benaming gekregen en anderen niet.
 
Heb jij ze al? Misschien dat het later nog aangepast wordt naar Nederlandse benamingen. Zo wordt alles in ieder geval een stuk makkelijker gemaakt. Helpen hoeft straks niet meer.

Ik denk dat alles meer richting Power Query en Dax gaat ivm Power BI
 
Laatst bewerkt:
Mooie nieuwe functies. Veel vragen hier kun er gemakkelijk mee worden opgelost...

Ik ga thuis eens kijken of ik ze al beschikbaar heb.
 
Ik heb ze inderdaad al, alleen is de =MAP(...LAMBDA(..... nog niet beschikbaar.
 
De vraag kan nu dus ook zo worden opgelost in Excel 365:
Code:
=--TEKST.SPLITSEN(SUBSTITUEREN(A1;TEKEN(150);"+");"+")
 
Kan kloppen. Is nu nog alleen voor Office Insiders, maar komt op termijn wel beschikbaar voor iedereen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan