Tekstmanupulaties in Excel
5 december 2021 - 12:23   
geplaatst door: JanSr
Vergeten hoe het moet:

In een Excel sheet staan de namen onhandig om te sorteren:
Bijvoorbeeld:
De heer M. de Groot.

Ik wil graag een kolom maken met alleen "Groot".

ooit, 30 jr geleden of zo, iets bedacht zoals:
"Zoek de eerste spatie van rechts, en kies de gegevens rechts van die spatie"

Ik krijg het echter niet meer in de juiste syntax.

Wie weet de list?
Tekstmanupulaties in Excel
5 december 2021 - 12:38    reactie #1
geplaatst door: nnsa
Wie weet de list?

Staat de hele naam in één veld of in meerdere ?, dan is er misschien een eenvoudigere oplossing dan met tekstfuncties te gaan werken.

Schermafbeelding 2021-12-05 om 12.35.26.pngTekstmanupulaties in Excel


https://informaticalessen.be/spreadsheet-rekenblad/tekstfuncties/
Tekstmanupulaties in Excel
5 december 2021 - 12:40    reactie #2
geplaatst door: JanSr
Dit is wat er staat:

Schermafbeelding 2021-12-05 om 12.39.52.pngTekstmanupulaties in Excel


Ik wil dus alleen "Groot" in de kolom ernaast
Tekstmanupulaties in Excel
5 december 2021 - 13:10    reactie #4
geplaatst door: Sypie
De functie "Tekst naar kolommen" een idee? De scheiding kun je dan maken op een spatie zodat je verschillende kolommen krijgt. Deze functie staat in het tabje "Gegevens" in het lint.

Schermafbeelding 2021-12-05 om 13.07.15.pngTekstmanupulaties in Excel


Enige nadeel bij deze actie, zoals je ook in de afbeelding kunt zien: zodra je een lijst met namen hebt met tussenvoegsels dan krijg je niet alle achternamen in dezelfde kolom. Met een hierboven geplaatste oplossing kan dat ook een probleem zijn wanneer je dubbele achternamen hebt.
Tekstmanupulaties in Excel
5 december 2021 - 13:11    reactie #5
geplaatst door: JanSr
"het enige nadeel" is de spelbreker. Ik kan hier helaas niets mee.
Tekstmanupulaties in Excel
5 december 2021 - 13:13    reactie #6
geplaatst door: JanSr
Ik ben nu even bezig met die suggesties.

Hiermee krijg ik al direct een foutmelding, nog geen idee wat er mis is.

=TRIM(RIGHT(SUBSTITUTE(text," ",REPT(" ",100)),100))

Bij "text" staat dan die cel met die naam.

Met name het deel met REPT zegt mij nog niets
Tekstmanupulaties in Excel
5 december 2021 - 13:48    reactie #7
geplaatst door: JanSr
Ik begin er te komen, maar ik ben er nog niet:

Schermafbeelding 2021-12-05 om 13.47.28.pngTekstmanupulaties in Excel


Als ik die spatie zoek, krijg ik 3. Dat is de linker spatie, terwijl ik RECHTS vraag.
Als ik LINKS vraag, krijg ik ook 3
Dat begrijp ik niet. Als ik RECHTS vraag zou ik 6 verwachten
Tekstmanupulaties in Excel
5 december 2021 - 13:53    reactie #8
geplaatst door: okkehel
Hier staat volgens mij de oplossing:

https://stackoverflow.com/questions/350264/how-can-i-perform-a-reverse-string-search-in-excel-without-using-vba

Op een slimme manier wordt de laatste spatie gezocht en vervangen door een ander teken. Vervolgens wordt de tekst vanaf dat teken naar rechts geselecteerd.

Tekstmanupulaties in Excel
5 december 2021 - 14:06    reactie #9
geplaatst door: mcmt
=TRIM(RIGHT(SUBSTITUTE(text," ",REPT(" ",100)),100))
Die formule vervangt ("substitute") elke spatie door 100 spaties ("rept"), neemt dan de laatste 100 characters ("right") en verwijdert dan begin / eind / dubbele spaties ("trim").

De "vind" functie start links en geeft het eerste voorkomen van de gezochte tekst te tellen vanaf een zekere positie. Probleem is dat je een vind functie wenst die het laatste voorkomen van een spatie teruggeeft. Verschillende oplossingen met of zonder een VBA functie werken daar rond (tenzij zo'n functie intussen bestaat in Excel).
Tekstmanupulaties in Excel
5 december 2021 - 14:10    reactie #10
geplaatst door: JanSr
Ik snap de redenering. Geeft bij mij een foutmelding. Van alles geprobeerd.

Wat ik niet begrijp is de gele regel:

Schermafbeelding 2021-12-05 om 14.05.44.pngTekstmanupulaties in Excel
Tekstmanupulaties in Excel
5 december 2021 - 14:14    reactie #11
geplaatst door: JanSr
Kijk, nou doet het het wel, als ik de spatie vervang door een \.

Schermafbeelding 2021-12-05 om 14.13.27.pngTekstmanupulaties in Excel


Zou niet moeten.
Tekstmanupulaties in Excel
5 december 2021 - 14:16    reactie #12
geplaatst door: JanSr
En met twee \\ doet hij het weer fout!

Schermafbeelding 2021-12-05 om 14.15.34.pngTekstmanupulaties in Excel
Tekstmanupulaties in Excel
5 december 2021 - 14:40    reactie #13
geplaatst door: puk1980
/off-topic

Topictitel deed mij hier aan denken. :smile:
Tekstmanupulaties in Excel
5 december 2021 - 14:42    reactie #14
geplaatst door: puk1980
Met name het deel met REPT zegt mij nog niets

Je dient eea nog in het Nederlands om te zetten.

REPT is HERHALING

https://support.microsoft.com/nl-nl/office/herhaling-functie-04c4d778-e712-43b4-9c15-d656582bb061

SUBSTITUTE is SUBSTITUEREN

https://support.microsoft.com/nl-nl/office/substitueren-functie-6434944e-a904-4336-a9b0-1e58df3bc332

TRIM is SPATIES.WISSEN

https://support.microsoft.com/nl-nl/office/spaties-wissen-functie-410388fa-c5df-49c6-b16c-9e5630b479f9

RIGHT is RECHTS

https://support.microsoft.com/nl-nl/office/rechts-rechtsb-functie-240267ee-9afa-4639-a02b-f19e1786cf2f



Dus
=TRIM(RIGHT(SUBSTITUTE(text," ",REPT(" ",100)),100))

wordt:
=SPATIES.WISSEN(RECHTS(SUBSTITUEREN(text," ",HERHALING(" ",100)),100))
Tekstmanupulaties in Excel
5 december 2021 - 14:44    reactie #15
geplaatst door: JanSr
Schermafbeelding 2021-12-05 om 14.40.19.pngTekstmanupulaties in Excel


Dus: Zoek de string vanaf rechts, met de lengte van de tekst in de cel, minus de positie van de eerste spatie vanaf rechts
Lijkt mij geen speld tussen te krijgen.
Alleen: Hij retourneert niet de eerste spatie van rechts, maar van links.
Foutje in Excel? Zou het waar zijn?
Tekstmanupulaties in Excel
5 december 2021 - 14:54    reactie #17
geplaatst door: JanSr
Met SPATIES.WISSEN blijkt hij de spaties niet te wissen!

Dat kan hier door komen:
Belangrijk: De functie SPATIES.WISSEN is ontworpen om het 7-bits ASCII-spatieteken (waarde 32) uit tekst te verwijderen. De Unicode-tekenset bevat nog een andere spatie, de zogenaamde vaste spatie, met de decimale waarde 160. Dit teken wordt als de HTML-entiteit   vaak in webpagina's gebruikt. Met de TRIM-functie wordt dit vaste-spatieteken niet verwijderd. Zie Top tien manieren om uw gegevens op te schonenvoor een voorbeeld van het bijsnijden van beide spatietekens uit tekst.

Nu dus ff uitvinden hoe ik die vaste spaties kan vervangen door ASCII32
Tekstmanupulaties in Excel
5 december 2021 - 15:10    reactie #18
geplaatst door: JanSr
=SPATIES.WISSEN(RECHTS(SUBSTITUEREN(text," ",HERHALING(" ",100)),100))

blijft hardnekkig een foutmelding geven. ipv 'text" staat daar de cel van de tekststring. Wat het lastig maakt is, dat foutmelding niets onthult.
Tekstmanupulaties in Excel
5 december 2021 - 15:28    reactie #19
geplaatst door: nnsa
=SPATIES.WISSEN(RECHTS(SUBSTITUEREN(text," ",HERHALING(" ",100)),100))

blijft hardnekkig een foutmelding geven.

Dan zijn de haakjes meestal L+R niet in balans. Even experimenteren…
Tekstmanupulaties in Excel
5 december 2021 - 15:40    reactie #20
geplaatst door: Sypie
Als de hele formule in het Nederlands staat moet "text" dan niet "tekst" zijn?
Tekstmanupulaties in Excel
5 december 2021 - 15:48    reactie #21
geplaatst door: mcmt
Als de hele formule in het Nederlands staat moet "text" dan niet "tekst" zijn?
Daar moet normaal de referentie naar de cel komen.

Ik merk wel dat in

=SPATIES.WISSEN(RECHTS(SUBSTITUEREN(text," ",HERHALING(" ",100)),100))

een komma gebruikt wordt om functieparameters te scheiden i.p.v. een kommapunt zoals in de voorbeelden van JanSr (ik heb hier zelf geen Excel staan, dus weet niet direct of dat zomaar mag of afhankelijk is van een instelling).
Tekstmanupulaties in Excel
5 december 2021 - 15:51    reactie #22
geplaatst door: Sypie
Juist. En met het vervangen van de komma's door puntkomma's krijg ik een netjes resultaat (even snel getest).
Tekstmanupulaties in Excel
5 december 2021 - 16:12    reactie #23
geplaatst door: JanSr
Hulde! die komma's!

Lullig dat de foutmelder van Excel dat niet laat zien.
Tekstmanupulaties in Excel
5 december 2021 - 16:42    reactie #24
geplaatst door: puk1980
Misschien is deze ook nog handig:

Excel Functions Translator

https://www.microsoft.com/en-us/garage/blog/2018/03/new-garage-project-enables-excel-users-to-work-seamlessly-with-functions-and-formulas-across-all-translated-versions-of-excel/

https://www.microsoft.com/en-us/garage/profiles/functions-translator/

Citaat
Functions Translator helps people use a localized version of Excel by helping translate from the US Excel function names, or research how to create a solution on the web with predominately English content.

Easily find the equivalent localized functions and formulas in any of the supported 15 languages. Functions Translator will automatically configure the language settings to US and the Localized version, and people can provide feedback on the translation of functions if it is not what they expected.

The solution support Excel Online, Excel 2013 and Excel 2016 for Desktop, and the latest version of Excel for Mac and iPad.