Tekst Excel is sterk in rekenen, maar ook met tekst kan Excel prima overweg. In deze kwartaaltip leg ik een aantal handige tekstfuncties uit. Drie algemene opmerkingen: Bij tekstfuncties tellen de spatie en andere leestekens ook mee. Het resultaat van een tekstuele functie is soms ook weer tekst, zelfs als het resultaat uit cijfers bestaat. Tenslotte: Er leiden vele wegen naar Rome, dus mijn voorbeelden kunnen ook anders opgepakt worden. Categorieën functies De functies in Excel zijn gecategoriseerd. Deze categorieën kunnen op verschillende manieren opgeroepen worden: 1) Klik op de fx (functie invoegen) links voor de formulebalk; 2) Shift+F3 (Zie kwartaaltip 2011-4); 3) Typ het =-teken in een cel en klik op de driehoek rechts van het naamvak. Er verschijnt een lijst met functies en onderaan staat Meer functies Bij deze drie opties verschijnt het dialoogvenster Functie invoegen: Excellerend Heemraadweg 21 2741 NC Waddinxveen 06 5115 97 46 richard@excellerend.nl BTW: NL0021459225 ABN/AMRO: 53.68.25.491 KVK: 24389967 Figuur 1 Dialoogvenster: Functie invoegen Pagina 1 van 6
LINKS Stel dat je een lijst hebt met kostenplaatsen en hun omschrijving, maar je wilt een lijst met alleen de kostenplaatsnummers. Je weet dat deze kostenplaatsen altijd viercijferig zijn. De functie LINKS bestaat uit twee argumenten: De tekst en het aantal tekens dat vanaf de eerste positie wilt weergeven. De tekst moet tussen haakjes worden geplaatst, of je verwijst naar een cel met tekst. RECHTS Hetzelfde is mogelijk met de functie RECHTS, maar dan geef je vanaf het meest rechtse karakter de karakters weer: DEEL Een derde functie die hier kan helpen is DEEL. Als ik uit het eerste voorbeeld niet de kostenplaats wil hebben, maar de omschrijving kan ik niet met rechts werken omdat de omschrijving van de kostenplaats telkens een andere lengte heeft. Ik kan dus niet werken met een vast aantal karakters vanaf rechts. De functie DEEL bestaat uit drie verplichte argumenten: Pagina 2 van 6
Het eerste argument tekst moet weer tussen haakjes staan of uit een celverwijzing bestaan. Het tweede argument geeft weer vanaf welke positie de tekst moet worden weergegeven. Het laatste argument geeft aan hoeveel karakters er moeten worden meegenomen: Ik weet dat de kostenplaatsen viercijferig zijn en gevolgd worden door een spatie. De omschrijving begint dus op positie 6. Ik weet niet precies hoe lang de omschrijving is, maar door vanaf de 6 e positie 100 karakters mee te nemen, zit ik wel safe. LENGTE Het is mogelijk om de lengte van de inhoud van een cel te bepalen met functie LENGTE, welke maar één argument bevat: In Kwartaaltip 2012-2 heb ik o.a. de functie VIND.ALLES behandeld. Ik herhaal een deel van die tekst om de functie daarna te combineren: Functie VIND.ALLES Deze functie vindt in een tekenreeks de beginpositie van een andere tekenreeks. Deze functie is hoofdlettergevoelig en er mogen géén jokertekens gebruikt worden. 1 De functie bestaat uit drie argumenten waarvan de derde optioneel is: Figuur 2 Functie VIND.ALLES 1 Jokertekens zijn een? voor één teken en een * voor meerdere tekens. Pagina 3 van 6
De zoektekst moet ook hier tussen dubbele quotes gezet worden als het om tekst gaat. Wordt een getal gezocht, dan moet het niet tussen quotes worden gezet. Het argument In_tekst kan handmatig ingetikt worden, maar doorgaans wordt er verwezen naar een cel. Met het argument Begin_getal kan aangegeven worden vanaf welke positie er gezocht moet worden. Als dit argument weggelaten wordt, wordt er vanaf de eerste positie gezocht. Als de zoektekst niet gevonden wordt, resulteert dit in #WAARDE! Ook als het derde argument kleiner is dan 1 of groter is dan de totale lengte van de inhoud van de cel resulteert dit in #WAARDE! Combineren van functies De kracht van Excel zit m in het kunnen combineren van functies. Stel dat je de grootboekadministratie zowel drie-, vier- en vijfcijferige kostenplaatsen bevat. Het lukt dan niet de kostenplaats en de omschrijving los te koppelen zoals hierboven omschreven. Wat wel kan is het combineren van functies. Ik zoek eerst de positie op van de spatie omdat na de kostenplaats een spatie komt: Wanneer ik de positie van de spatie weet (en die moet tussen haakjes omdat het geen getal is), weet ik ook hoeveel cijfers de kostenplaats heeft, namelijk eentje minder. Ik kan dan weer de functie LINKS gebruiken, waarbij het tweede argument bestaat uit de functie VIND.ALLES: Pagina 4 van 6
Als ik de omschrijving wil achterhalen, kan ik ook werken met DEEL, VIND.ALLES en LENGTE: Stel dat de datadump uit het boekhoudkundig pakket bestaat uit kostenplaatsnummer, omschrijving en de budgethouder tussen haakjes. Hoe is dan de omschrijving te achterhalen? Eerst zoek ik de eerste spatie op via VIND.ALLES( ;A2). Dan zoek ik de tweede spatie op, maar ik zoek pas vanaf één positie verder dan de eerste spatie door het derde argument te vullen met de eerste functie: VIND.ALLES(" ";A2;VIND.ALLES(" ";A2)+1). Ik weet dan waar de omschrijving begint en eindigt, mits de omschrijving bestaat uit één woord zonder spaties. Als een kostenplaatsomschrijving kan bestaan uit meer dan één woord, zul je moeten zoeken naar het teken (. De functie ziet er dan zo uit: Pagina 5 van 6
Hoofdletters Wanneer je de omschrijving (alle woorden wanneer die omschrijving uit meer dan één woord bestaat) wilt laten beginnen met een hoofdletter, kan dat door de functie =BEGINLETTERS(B2) Moet de omschrijving volledig uit hoofdletters bestaan, dan kan dat via: =HOOFDLETTERS(B2) Wanneer je de kostenplaats hebt achterhaald met één van deze functies, wordt het resultaat getoond als getal, maar uitgelijnd als tekst. Dit is op te lossen door het resultaat met 1 te vermenigvuldigen waarmee je Excel dwingt het in alle gevallen als getal te behandelen: Rome Zoals gezegd leiden vele wegen naar Rome. Wanneer de datadump gesplitst moet worden èn de kostenplaatsomschrijving bestaat overal uit één woord, kun je ook prima uit de voeten via de tab Gegevens > groepering Hulpmiddelen voor gegevens > Tekst naar kolommen. Maar dat komt later wel eens aan bod. Einde kwartaaltip 2012-04 De kwartaaltip(s) zijn als PDF te downloaden via: \kwartaaltips.html Wilt u een op maat gemaakte cursus Excel voor uw organisatie regelen? Zoekt u ondersteuning in het bouwen van rekenmodellen, controles, of denkt u dat iets mogelijk is in Excel maar u weet niet hoe? Neem dan contact op met Richard Meijles: 06 5115 9746 of via e-mail: richard@excellerend.nl. Wilt u geen kwartaaltips meer ontvangen? Klik dan op: Afmelden voor kwartaaltip Hebt u een verzoek voor een kwartaaltip? Klik dan op: richard@excellerend.nl en vermeld tevens uw Excelversie. Richard Meijles Pagina 6 van 6