Hoofdstuk 15: Tekstfuncties 15.0 Inleiding Tekstfuncties helpen bij het bewerken van tekstuele gegevens zoals je het wilt hebben. Bijvoorbeeld: je kunt er onafgewerkte gegevens die typefouten of ongewenste tekens bevatten mee ‘opschonen’. Je kunt bepaalde tekens of bepaalde tekenreeksen vinden, het aantal tekens in een cel tellen, tekens uit het linker, middelste of rechter deel van een cel kopiëren of verwijderen, het gebruik van hoofdletters en kleine letters wijzigen, ongewenste tekens verwijderen en de inhoud van verschillende cellen samenvoegen. Deze functies werken vaak goed samen en dat is de reden waarom nu in één oefening verschillende belangrijke tekstfuncties gecombineerd worden om op die manier hun effectiviteit te laten zien. Deze oefening behelst een tabel van de grootste dieren in de wereld die van het internet werd overgenomen en geplakt werd in Excel:
15.1 VINDEN.ALLES De VINDEN.ALLES functie vindt een bepaald teken in een cel en duidt de positie aan van dat teken in die bepaalde cel. Dus stel dat je wilt weten in elke cel in bovenstaande kolom B, het linker haakje “(“ voorkomt, dan type je in cel G2:
© 2010 Excel with Business
1
Hoofdstuk 15: Tekstfuncties
=
=VINDEN.ALLES(
"(" ; B2 ; 1
is het begin van de functie
identificeert wat je probeert te vinden1 scheidt het eerste van het tweede argument is de cel die de tekst bevat waarnaar we aan het zoeken zijn scheidt het tweede van het derde argument verwijst naar de tekenpositie van waaruit je wilt beginnen met zoeken.
Vervolgens zal je dit krijgen:
15 geeft aan dat de “(“ het 15de teken is in cel B2. Merk op dat als er TWEE gelijke tekens aanwezig geweest zijn in cel B2, dat Excel dan de positie zou geven van de EERSTE teken vanaf de linkerzijde, in de te onderzoeken tekst. Net zoals in dit voorbeeld wordt de bruikbaarheid van deze functie meestal duidelijk in combinatie met andere functies. Apart kan deze functie gebruikt worden om te checken of een bepaald teken of een tekenreeks aanwezig is in een lijst van cellen. Wanneer je bijvoorbeeld mailadressen probeert te identificeren in een lange lijst, dan kun je deze formule gebruiken: =VINDEN.ALLES("@";B2;1)
1
Wanneer je tekst opneemt in een Excel formule, dan moet je deze omringen met dubbele aanhalingstekens zodat Excel weet dat het tekst is en dus geen deel uitmaakt van een celverwijzing of een functienaam.
© 2010 Excel with Business
2
Hoofdstuk 15: Tekstfuncties
Let op dat Excel onderscheid maakt tussen hoofd- en kleine letters in de functie VINDEN.ALLES. De functie VIND.SPEC kan op dezelfde manier gebruikt worden, maar maakt dat onderscheid niet.
15.2 LENGTE De LENGTE functie berekent de lengte van de tekenreeks in een cel, d.w.z. het aantal tekens en daarbij worden spaties meegerekend. Om het aantal tekens in cel B2 te tellen, typ je in cel H2: =LENGTE(B2)
en dan krijg je het volgende:
wat aangeeft dat de tekst in cel B2 30 tekens bevat.
15.3 LINKS, DEEL, RECHTS De LINKS, DEEL en RECHTS functies selecteren een tekenreeks uit het linkerdeel, een gespecificeerd deel of het rechterdeel van een tekst. Je beslist zelf hoe lang deze tekenreeks moet zijn. Dus, van “krokodil” zou je “kro”, “ko” en “dil” kunnen afleiden met behulp van de volgende drie functies.
LINKS Stel nu dat je alleen de eerste zes tekens wilt hebben van de cel B2. Dan typ je: =LINKS(B2;6)
© 2010 Excel with Business
3
Hoofdstuk 15: Tekstfuncties
wat het woord “blauwe” zal opleveren :
waarbij:
=LINKS( B2 ; 6 )
het begin van de functie is de cel is waarin we tekens uitkiezen het eerste van het tweede argument scheidt het aantal letters dat we willen laten zien de functie afsluit
RECHTS De functie RECHTS werkt met dezelfde syntaxis. Wanneer je deze functie in dit voorbeeld zou gebruiken, dan geeft het de tekens aan op het einde van cel B2, in dit geval enkele vierkante blokjes en spaties.
DEEL De MIDDENDEELfunctie lijkt een beetje op de LINKS functie en daarnaast kan je specificeren (zoals je dat kan met VINDEN.ALLES) waar Excel de tekenreeks begint. Stel dat je in het bovenstaande voorbeeld wilt dat Excel zeven tekens vanaf het achtste teken laat zien (d.w.z. het begin van “vinvis”), dan voer je in: =MIDDEN(B2;8;7)
wat het resultaat “vinvis” zal opleveren.
© 2010 Excel with Business
4
Hoofdstuk 15: Tekstfuncties
LINKS, VINDEN.ALLES combinatie Deze functies kunnen nuttig zijn wanneer ze samen gebruikt worden met bijvoorbeeld VINDEN.ALLES en LENGTE. Stel dat je de tekst tussen haakjes achter elk dier wil verwijderen en dat je honderden of zelfs duizenden rijen gegevens hebt in plaats van alleen een top 10. Dan zou het een groot probleem zijn als je dit handmatig moet uitvoeren. De combinatie VINDEN.ALLES en LINKS biedt uitkomst. VINDEN.ALLES laat zien waar het eerste linker haakje staat en LINKS alles aan de linkerkant van het linker haakje. Omdat de positie van het linker haakje verschilt van cel tot cel in kolom B moet de lengte van de LINKSE reeks die geselecteerd wordt, geregeld worden door gebruik te maken van de VINDEN.ALLES functie in cel G2. Voer in: =LINKS(B2;G2-2)
waar cel G2 de formule =VINDEN.ALLES(“(“,B2) bevat
Om dit te bereiken:
waarbij:
LINKS( B2 G2
-2
)
het begin van de functie is de cel is waar we informatie uithalen de positie is waar "(" verschijnt ( van onze VINDEN.ALLES functie—zie hierboven) er ons van verzekerd dat we alleen de tekenreeks tot en met 2 tekens voor de "(" krijgen de functie compleet maakt
Door de VINDEN.ALLES en LINKS functies naar beneden uitbreiden (door G2:I2 te markeren en door de hoek onderaan rechts naar beneden te slepen), verschijnt er een lijst van de dieren waarin alle overbodige details aan hun rechterzijde verwijderd zijn:
© 2010 Excel with Business
5
Hoofdstuk 15: Tekstfuncties
Een combinatie van RECHTS, VINDEN.ALLES en LENGTE De aanpak om op een slimme manier alle tekst aan de rechterkant van de cel te selecteren vraagt nog één extra stap omdat het aantal tekens dat je nodig hebt, het verschil is tussen de totale lengte van de inhoud van de cel en de positie waar “(“ verschijnt. Stel dat je alles aan de rechterkant van het linker haakje (inclusief) nodig hebt, voer dan in: =RECHTS(B2;H2-G2+1)
om dit te bereiken:
Wanneer je nog niet echt zeker bent hoeveel tekens je moet verwijderen (de laatste stap), dan zal een beetje oefenen daarmee je zeker duidelijkheid brengen.
© 2010 Excel with Business
6
Hoofdstuk 15: Tekstfuncties
15.4 HOOFDLETTERS, kleine letters, Beginletters Deze eenvoudige functies veranderen de hoofdletters en kleine letters in een tekst. Door in cel K2 dit te typen: =HOOFDLETT(I2) krijg je het volgende:
Door de formule naar beneden te slepen, krijg je:
Het gewenste resultaat komt steeds dichterbij. Vervolgens wil je de vierkantjes verwijderen…
15.5 WISSEN.CONTROL, SPATIES.WISSEN De WISSEN.CONTROL functie verwijdert tekens uit de tekst die niet kunnen worden uitgeprint. SPATIES.WISSEN verwijdert overbodige spaties. Dus wanneer in de volgende kolom wordt getypt: =WISSEN.CONTROL (J2) en je de formule naar beneden sleept, dan krijg je:
© 2010 Excel with Business
7
Hoofdstuk 15: Tekstfuncties
Het is onwaarschijnlijk dat je deze niet-om-uit-te printen tekens zelf hebt ingevoerd. Meestal verschijnen ze wanneer je iets overneemt van het internet of door een terugloop in een andere applicatie etc. SPATIES.WISSEN voert een soortgelijke bewerking uit, maar verwijdert eveneens spaties aan het begin en aan het einde van een reeks. Dus:
wordt:
Dit soort spaties zie je vaak op het einde van onbewerkte gegevens (en zijn daardoor moeilijk op te sporen). Bij formules die gevoelig zijn voor spaties heeft dat als gevolg dat deze vervolgens niet goed werken.
15.6 En-teken, TEKST.SAMENVOEGEN En-teken (Ampersand) - & Stel dat je als eindresultaat wilt dat er in de kolom te lezen staat: “BLAUWE VINVIS: 190000kg” Hier kun je het en-teken voor gebruiken. Typ in de volgende kolom: =K2&": "&C2&"kg" en sleep de formule naar beneden om het volgende resultaat te krijgen:
© 2010 Excel with Business
8
Hoofdstuk 15: Tekstfuncties
waarbij:
=K2
& “: “
& C2 & “kg”
het dier er uitpikt dat je bewerkt wilt hebben met SCHOON om de reeks te starten de delen van de formule aan elkaar ‘plakt’ het volgende deel is dat moet worden toegevoegd. Noteer een spatie achter het dubbele punt het/de vorige element(en) ‘lijmt’ aan het/de volgende element(en) het nummer toevoegt het/de vorige element(en) ‘lijmt’ aan het/de volgende element(en) de eenheid in kilogram toevoegt op het einde
Een veelvoorkomend gebruik van deze functie is het samenvoegen van drie kolommen met “aanhef”, “voornaam” en “achternaam” in één enkele kolom om er bijvoorbeeld “Geachte Barack Obama” van te maken.
TEKST.SAMENVOEGEN TEKST.SAMENVOEGEN doet hetzelfde als &, maar dan voor maximaal 255 cellen. Voer in: =TEKST.SAMENVOEGEN(A2;B2;C2) om de opeenvolgende inhoud van deze drie cellen in één enkele cel te verkrijgen. Let er wel op dat, als je scheidingstekens wilt hebben zoals spaties, puntkomma’s etc. dat je dan een kolom toevoegt met deze tekens er in en dat je deze ook moet SAMENVOEGEN. Of dat je deze spaties in de functie moet zetten – denk eraan dat een spatie eigenlijk ‘tekst’ is en dat het dus omringd moet worden door aanhalingstekens: =TEKST.SAMENVOEGEN(A2;” “;B2;” “;C2)
© 2010 Excel with Business
9
Hoofdstuk 15: Tekstfuncties
15.7 Resultaat Wanneer je dit allemaal samenvoegt, kun je de waarden van kolom L plakken in de volgende verkorte, opgeschoonde en samenvattende tabel:
15.8 Gebruik van ' (aanhalingsteken) Excel zal vaak automatisch gegevens opmaken in een cel al naargelang het gegevenstype (een nummer, datum, tekst etc.). Meestal win je hiermee tijd, maar soms wil je dat de opmaak anders is dan wat Excel voorstelt. Eén van de manieren om te forceren dat Excel de tekst op exact dezelfde manier weergeeft zoals je wilt, is gebruik te maken van een aanhalingsteken: '. Bijvoorbeeld: je opent een nieuw werkblad en typt een mobiel nummer in zoals 0678712345, dan zal het in de cel verschijnen zonder de voorafgaande 0. Echter, als je '0678712345 intikt, dan zal je wel 0678712345 verkrijgen (het ' zie je niet). Dit truckje is bv ook nuttig als je datums op snelle en esthetische wijze wilt opmaken wanneer Excel dat ongewenst automatisch doet (zolang je de datum in ieder geval niet wil gebruiken in een berekening).
© 2010 Excel with Business
10
Hoofdstuk 15: Tekstfuncties