[Excel] Cel splitsen op speciale tekens dmv formule

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Freddy_Fish
  • Registratie: April 2002
  • Laatst online: 24-05 20:22

Freddy_Fish

de Verdwenen Zeewierzaadjes

Topicstarter
Eigenlijk is de vraag heel simpel ik wil, ik heb 5 waardes die worden gescheiden door een /, deze wil ik gesplitst hebben middels een formule.

Als voorbeeld de waardes in cel A1 zijn "11/22/33/44/55", als uitkomst zou ik dan 5 cellen willen krijgen met 11,22,33,44 en 55. Ik heb nu getallen als voorbeeld genomen maar dit kunnen ook woorden zijn.

Nu krijg ik de buitenste waarden wel los van de rest alleen het midden wil niet echt lukken.

Voor de 11 heb ik de onderstaande formule:
=LINKS(A1; VIND.ALLES("/";A1)-1)

Voor de 55 heb ik de onderstaande formule:
=RECHTS(A1;LENGTE(A1)-VIND.ALLES("*";SUBSTITUEREN(A1;"/";"*";LENGTE(A1)-(LENGTE(SUBSTITUEREN(A1;"/";""))))))

Graag hoor ik of iemand een idee heeft.

Alle reacties


Acties:
  • 0 Henk 'm!

  • Expendable
  • Registratie: September 2013
  • Laatst online: 23-05 18:15
Even voor de zekerheid, het 'moet' via een formule of zou het ook via de Excel opties mogen?
Anders zou je eens kunnen kijken naar de split functie, zit per versie op een verschillende plek maar in 2016 zit hij onder het kopje view (of beeld bij NL) --> split, daarmee zou het moeten lukken.

Acties:
  • 0 Henk 'm!

  • Freddy_Fish
  • Registratie: April 2002
  • Laatst online: 24-05 20:22

Freddy_Fish

de Verdwenen Zeewierzaadjes

Topicstarter
Ik wil hem met een formule omdat het direct moet gebeuren als je het invult.

Acties:
  • 0 Henk 'm!

  • Boeryepes
  • Registratie: Januari 2016
  • Niet online
Kijk hier eens, het beschrijft hoe je meerdere occurences van hetzelfde character in een string aanpakt.

https://excelribbon.tips....rence_of_a_Character.html

The biggest communication problem is we do not listen to understand. We listen to reply.


Acties:
  • +1 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Freddy_Fish schreef op zondag 3 september 2017 @ 07:25:
Ik wil hem met een formule omdat het direct moet gebeuren als je het invult.
Kan ook met vba prima als UDF of als reactie op een change event. Moet het perse met de ingebakken tekstfuncties (ook wel prettig zonder code) dan krijg je iets als
code:
1
=DEEL(A1;VIND.SPEC("<";SUBSTITUEREN(A1;"/";"<";1))+1;VIND.SPEC(">";SUBSTITUEREN(A1;"/";">";2))-VIND.SPEC("<";SUBSTITUEREN(A1;"/";"<";1))-1)

Dit geeft de tekst tussen de 1e en de 2e slash, door de eerste slash te vervangen door een"vishaak open, de de 2e slash te vervangen door een vishaak sluiten en dan de tekst te retourneren tussen "<" & ">"

Mag het met een udf dan volstaat:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
Public Function StringPart(Text As String, Separator As String, Rank As Long)
    On Error GoTo nop
    Dim v As Variant
    v = Split(Text, Separator)
    StringPart = v(Rank - 1)
    Exit Function
    
nop:
    StringPart = CVErr(xlErrValue)
End Function


Die je in een cel zo aanroept:
code:
1
=StringPart($A$1;"/";1)

waarbij het laatste getal aangeeft het hoeveelste deel je wilt zien.

[ Voor 24% gewijzigd door Lustucru op 03-09-2017 15:02 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland