I think you should take a look at Salesforce's Formula Operators and Functions, and especially at the text Functions. I am not even sure it will be possible in you case but you can try it anyways:
FIND: Returns the position of a string within a string of text represented
as a number.
LEFT: Returns the specified number of characters from the beginning of a
text string.
RIGHT: Returns the specified number of characters from the beginning of a
text string.
The only formula i can imagine for your case compares the trimmed and untrimmed name string to get the number of the words in the whole string. And then search for the last blank. Unfortunately we can't create a full dynamic formula (i can't find a way to search the string from the right side), in my example this will work with up to 7 words in the name string (you can try to expand this formula):
First_Name__c & ' ' & LEFT(Last_Name__c, FIND(" ", Last_Name__c)) & ' ' &
CASE( LEN(Last_Name__c) - LEN(SUBSTITUTE(Last_Name__c,' ', '')),
1, RIGHT(Last_Name__c, LEN(Last_Name__c) - FIND(" ", Last_Name__c)),
2, RIGHT(Last_Name__c, LEN(Last_Name__c) - FIND(" ", Last_Name__c, FIND(" ", Last_Name__c)+1)),
3, RIGHT(Last_Name__c, LEN(Last_Name__c) - FIND(" ", Last_Name__c, FIND(" ", Last_Name__c, FIND(" ", Last_Name__c)+1)+1) ),
4, RIGHT(Last_Name__c, LEN(Last_Name__c) - FIND(" ", Last_Name__c, FIND(" ", Last_Name__c, FIND(" ", Last_Name__c, FIND(" ", Last_Name__c)+1)+1)+1) ),
5, RIGHT(Last_Name__c, LEN(Last_Name__c) - FIND(" ", Last_Name__c, FIND(" ", Last_Name__c, FIND(" ", Last_Name__c, FIND(" ", Last_Name__c, FIND(" ", Last_Name__c)+1)+1)+1)+1) ),
6, RIGHT(Last_Name__c, LEN(Last_Name__c) - FIND(" ", Last_Name__c, FIND(" ", Last_Name__c, FIND(" ", Last_Name__c, FIND(" ", Last_Name__c, FIND(" ", Last_Name__c, FIND(" ", Last_Name__c)+1)+1)+1)+1)+1) ),
Last_Name__c
)
This is the result:
Your formulas appear to be working fine, I added the 3 fields to my dev org and tested out your formula and it worked fine, one thing I noticed is that you have the field Summary without the "__c" but I'm guessing you just missed that when asking the question. Attached is a screenshot of the result:
Edit: I didn't look closely at the formula but I now see the problem and have a corrected formula below:
(HYPERLINK("url/"&LEFT(jjb__Summary__c,15),LEFT(jjb__Summary1__c,FIND(",", jjb__Summary1__c)-1)))&
(HYPERLINK("url/"&RIGHT(jjb__Summary__c,15),RIGHT(jjb__Summary1__c,FIND(",", jjb__Summary1__c)+1)))&
(HYPERLINK("url/"&MID(jjb__Summary__c,17,15),MID(jjb__Summary1__c, FIND(",", jjb__Summary1__c),
FIND(",", jjb__Summary1__c, FIND(",", jjb__Summary1__c)+1)- FIND(",", jjb__Summary1__c))))
The 3rd parameter of the FIND is which character to start the search at within the string so in order to get the middle I used the second comma and subtracted the location of the first comma to get the number of characters to retrieve from the middle. You previously had it hardcoded to 8 characters.
Best Answer
Try below function