Ga naar inhoud
  • 0

van voornamen naar voorletters


appiedutch52

Vraag

7 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Je zou dat kunnen doen d.m.v. een Custom Function. Ik heb alvast een opzetje voor je gemaakt:

 

Function Name: Initials

Function Parameters: Names

Initials (Names) =

Let([
Data = Trim(Filter(Upper(Names); "ABCDEFGHIJKLMNOPQRSTUVWXYZ "));
Current =  LeftWords(Data; 1);
Remaining =  RightWords(Data; WordCount(Data) - 1)];
If(IsEmpty(Data) = 0; Left(Current; 1) & "." & If(IsEmpty(Remaining) = 0; Initials(Remaining))))

Expression: Initials("Joop Karel Jan Henk")

Result: J.K.J.H.

 

Wellicht heb je hier wat aan.

 

Groetjes,

Mark

Link naar reactie
  • 0

Knap gedaan Mark.

Als je een spatie zou toevoegen aan het punt, wordt het resultaat J. K. J. H.. :D

 

Ik zit echter met een bijkomende vereiste:

 

Indien er een "dubbele" voornaam is moeten de letters bij elkaar blijven.

 

Jean-Luc : JL.

Marie-Louise : ML.

 

Hoe zou je CF er dan uitzien ?

 

BVD

Link naar reactie
  • 0

@Albert: Graag gedaan.

@Bruno: Bedankt. Ik las zojuist op taaladvies.net het volgende:

Vraag

Welke initialen krijgt een dubbele voornaam? Wordt Anne-Marie verkort tot A., tot A.M. of tot A.-M.?

 

Antwoord

De voorkeur gaat uit naar één letter, in het geval van Anne-Marie dus alleen de A. Maar als de persoon zelf er prijs op stelt, kan ook gekozen worden voor A.M.

In mijn voorbeeld wordt het A.

Link naar reactie
  • 0

Bedankt Mark.

 

Alhoewel, ik lees in de klant vereisten:

 

For the initial part, double first names should return double initials without punctuation.

The punctuation should be at the end of the single initial.

Gregory-Valery : GV.

Mary-Jane : MJ.

Gregory-Valery Michail : GV. M.

Mary-Jane Paola : MJ. P.

 

Spijtig genoeg primeert de klant vereiste, vandaar mijn vraag.

Link naar reactie
  • 0

Bij nader inzien is het ook mogelijk om het op te lossen zonder tail recursion:

 

Custom Function voor Albert:

Let(Data = Substitute(Filter(Proper(Trim(Names)); "ABCDEFGHIJKLMNOPQRSTUVWXYZ- "); ["-"; "."]; [" "; ". "]); If(IsEmpty(Data) = 0; Data & "."))

Custom Function voor Bruno:

Let(Data = Substitute(Filter(Proper(Trim(Names)); "ABCDEFGHIJKLMNOPQRSTUVWXYZ- "); ["-"; ""]; [" "; ". "]); If(IsEmpty(Data) = 0; Data & "."))

Waar kan ik de factuur naar toe sturen? :D

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...