Bernard Liengme wrote...
It is not elegant, but seems to work
=IF(LEN(A1)-LEN(SUBSTITUTE(A1," ",""))=0,
LEFT(A1),IF(LEN(A1)-LEN(SUBSTITUTE(A1," ",""))=1,
LEFT(A1,1)&MID(A1,FIND(" ",A1)+1,1),LEFT(A1,1)&MID(A1,FIND(" ",A1)+1,1)
&MID(A1,FIND(" ",SUBSTITUTE(A1," ","",1))+2,1)))
....
Could be shortened considerably to pick off only the first 3 words.
=LEFT(TRIM(A1),1)&MID(TRIM(A1),FIND(" ",TRIM(A1)&" ")+1,1)
&MID(TRIM(A1),FIND(" ",TRIM(A1)&" ",FIND(" ",TRIM(A1)&" ")+1)+1,1)
This could be extended to pick off the first 7 words.
=LEFT(TRIM(A4),1)&MID(TRIM(A4),FIND(" ",TRIM(A4)&" ")+1,1)
&MID(TRIM(A4),FIND(" ",TRIM(A4)&" ",FIND(" ",TRIM(A4)&" ")+1)+1,1)
&MID(TRIM(A4),FIND(" ",TRIM(A4)&" ",FIND(" ",TRIM(A4)&" ",
FIND(" ",TRIM(A4)&" ")+1)+1)+1,1)&MID(TRIM(A4),FIND(" ",TRIM(A4)&" ",
FIND(" ",TRIM(A4)&" ",FIND(" ",TRIM(A4)&" ",FIND(" ",
TRIM(A4)&" ")+1)+1)+1)+1,1)&MID(TRIM(A4),FIND(" ",TRIM(A4)&" ",
FIND(" ",TRIM(A4)&" ",FIND(" ",TRIM(A4)&" ",FIND(" ",TRIM(A4)&" ",
FIND(" ",TRIM(A4)&" ")+1)+1)+1)+1)+1,1)&MID(TRIM(A4),FIND(" ",
TRIM(A4)&" ",FIND(" ",TRIM(A4)&" ",FIND(" ",TRIM(A4)&"
",FIND(" ",
TRIM(A4)&" ",FIND(" ",TRIM(A4)&" ",FIND(" ",TRIM(A4)&"
")+1)+1)+1)+1)+1)+1,1)
Beyond 7 words, it'd be best to download and install Laurent Longre's
MOREFUNC.XLL add-in, available from
http://xcell05.free.fr/english/ ,
and use it's REGEX.SUBSTITUTE function in formulas like
=REGEX.SUBSTITUTE(A1,"\B\S*\s*","")