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

Gedeelte cel zoeken na de 2e spatie vanaf rechts

Status
Niet open voor verdere reacties.

Bartslife

Gebruiker
Lid geworden
9 nov 2006
Berichten
22
Hallo,

Wie kan mij helpen met een formule een deel van de tekst die in de cellen van kolom C staan in kolom D en E te zetten.

Het gaat om de twee bedragen aan het einde van de tekst.

Voorbeeld:
RUTOLIN H ZELFGLANSWAS 5 lt 19,07 12,40

Dan in D: 19,07 en in E: 12,40

Ik heb het een en ander geprobeert met DEEL() en RECHTS() maar ik kom er niet uit.

Alvastbedankt voor jullie hulp.

Groeten Wilco
 

Bijlagen

Voor E, laatste waarde kan je =RECHTS(A1;LENGTE(A1)-VIND.ALLES("*";SUBSTITUEREN(A1;" ";"*";LENGTE(A1)-LENGTE(SUBSTITUEREN(A1;" ";""))))) gebruiken (er van uitgaand dat je string in cel A1 staat).
Voor uitleg: http://www.helpmij.nl/forum/showthread.php?t=386092

Voor de voorlaatste waarde kun je deze formule gebruiken;

=LINKS(RECHTS(A1;LENGTE(A1)-VIND.ALLES("*";SUBSTITUEREN(A1;" ";"*";LENGTE(A1)-1-LENGTE(SUBSTITUEREN(A1;" ";"")))));VIND.SPEC(" ";RECHTS(A1;LENGTE(A1)-VIND.ALLES("*";SUBSTITUEREN(A1;" ";"*";LENGTE(A1)-1-LENGTE(SUBSTITUEREN(A1;" ";"")))))))

Nb in jou voorbeeld staan je waarden in de C kolom en moet je deze fomules gebruiken;
D:
=LINKS(RECHTS(C1;LENGTE(C1)-VIND.ALLES("*";SUBSTITUEREN(C1;" ";"*";LENGTE(C1)-1-LENGTE(SUBSTITUEREN(C1;" ";"")))));VIND.SPEC(" ";RECHTS(C1;LENGTE(C1)-VIND.ALLES("*";SUBSTITUEREN(C1;" ";"*";LENGTE(C1)-1-LENGTE(SUBSTITUEREN(C1;" ";"")))))))

E:
=RECHTS(C1;LENGTE(C1)-VIND.ALLES("*";SUBSTITUEREN(C1;" ";"*";LENGTE(C1)-LENGTE(SUBSTITUEREN(C1;" ";"")))))
 
Laatst bewerkt:
Hallo Withaar,

Het mag ook in twee delen (dus eerst alle tekst vanaf de tweede spatie en vervolgens op dat resultaat het tweede deel.

Ik heb gisteren ook wat zitten experimenteren op de volgende waarde in A1

1111 2222222 33333 100,75 45,3

=DEEL(A1;LENGTE(A1)-(RECHTS(VIND.ALLES(" ";A1)+1)+VIND.ALLES(" ";A1)+1);LENGTE(A1)-(VIND.ALLES(" ";A1;1)-1)+(VIND.ALLES(" ";A1)-1))

Lengte om te bepalen waar de positie van de tweede spaties van rechts zich bevind.
Dan DEEL om t ebapelen dat ik het deel wil hebben van positie 2e spatie tot het einde (rechts). Ik dacht dat als ik dat deel heb ik er met een tweede formule nog een deel af kon halen. Omslachtig... maar ja.

Echter het resultaat is: 3 100,75 45,3 (en dat is dus niet goed).
 
Je was me voor...

Ik ga direct je formules uit proberen!

Tot zo!

Wilco
 
Excel tekst omdraaien, laatste woord, voorlaatste en aantal worden via VBA

Voor wie interesse heeft ook nog een VBA oplossing.

Excel openen, [Alt]+[F11], Invoegen, Module kiezen en onderstaande code in het lege blad plakken.
Op het Excel icoontje klikken.

Code:
Public Function Omdraaien(Tekst As String)
    Omdraaien = StrReverse(Tekst)
End Function

Function Woord_Nr(Tekst As String, WNr) As String
Dim Aantal_Woorden As Long
  With Application.WorksheetFunction
  Aantal_Woorden = Len(Tekst) - Len(.Substitute(Tekst, " ", "")) + 1
    If WNr <= 1 Then
      Woord_Nr = Left(Tekst, .Find(" ", Tekst) -1)
    ElseIf Aantal_Woorden <= WNr Then
      Woord_Nr = StrReverse(Left(StrReverse(Tekst), .Find(" ", StrReverse(Tekst)) - 1))
    Else
      Woord_Nr = Mid(Mid(Mid(.Substitute(Tekst, " ", "~", WNr - 1), 1, 256), .Find("~", .Substitute(Tekst, " ", "~", WNr - 1)), 256), 2, .Find(" ", Mid(Mid(.Substitute(Tekst, " ", "~", WNr - 1), 1, 256), .Find("~", .Substitute(Tekst, " ", "~", WNr - 1)), 256)) - 2)
    End If
  End With
End Function

Public Function Aantal_Woorden(Tekst As String)
    Aantal_Woorden = Len(Tekst) - Len(WorksheetFunction.Substitute(Tekst, " ", "")) + 1
End Function

Je hebt er nu 3 nieuwe functies bij gekregen;

=Omdraaien(doel_cell)
=Woord_Nr(doel_cell;nummer) waarbij nummer het n-de woord is wat je zoekt.
=Aantal_Woorden(doel_cell)

Stel in A1 staat 'Dit is een test'
Met =Omdraaien(A1) krijg je; tset nee si tiD

Met =Woord_Nr(A1;1) krijg je; Dit
Met =Woord_Nr(A1;2) krijg je; is
Met =Woord_Nr(A1;3) krijg je; een
Met =Woord_Nr(A1;4) krijg je; test
Met =Woord_Nr(A1;7) krijg je (ook); test * In dit geval bestaat er geen 7e woord en dan wordt het laatste woord getoond. Bij 0 of negatieve getallen krijg je het eerste woord.

Met =Aantal_Woorden(A1) krijg je; 4

In combinatie kan je zo ook snel een voorlaatste of 2 voorlaatste woord etc. uit een string halen.

Voorlaatste; =Woord_Nr(A1;Aantal_Woorden(A1)-1) geeft; een
2 voorlaatste =Woord_Nr(A1;Aantal_Woorden(A1)-2) geeft; is

*** Let op in de functions gebruik ik ~ (tilde teken) als dit teken in je tekst staat weken de functions niet goed.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan