Convert the order the first and last name is written via formula

polska2180

Active Member
Joined
Oct 1, 2004
Messages
345
Hi assuming I have

"Driver Name: Donald Williams Jr" in Cell A1 in B1 I am looking formula that will show "Williams Jr, Donald"

...not sure if that is possible so the other option is in B1 have just "Donald Williams Jr" then in C1 "Williams Jr, Donald"

thanks for the help.
 

jasonb75

Well-known Member
Joined
Dec 30, 2008
Messages
7,148
Office Version
2019
Platform
Windows
How about
=MID(B1,FIND(" ",B1)+1,LEN(B1))&", "&LEFT(B1,FIND(" ",B1)-1)

edit:- think I might have misread it, I didn't notice that the text, "Driver Name" was in the same cell.
 
Last edited:

kweaver

Well-known Member
Joined
May 8, 2018
Messages
731
Along the same lines:

<b>Excel 2010</b><table cellpadding="2.5px" rules="all" style=";background-color: rgb(255,255,255);border: 1px solid;border-collapse: collapse; border-color: rgb(187,187,187)"><colgroup><col width="25px" style="background-color: rgb(218,231,245)" /><col /><col /><col /></colgroup><thead><tr style=" background-color: rgb(218,231,245);text-align: center;color: rgb(22,17,32)"><th></th><th>A</th><th>B</th><th>C</th></tr></thead><tbody><tr ><td style="color: rgb(22,17,32);text-align: center;">1</td><td style="border-top: 1px solid black;border-right: 1px solid black;border-bottom: 1px solid black;border-left: 1px solid black;;">Driver Name: Donald Williams Jr</td><td style="border-top: 1px solid black;border-right: 1px solid black;border-bottom: 1px solid black;border-left: 1px solid black;;">Donald Williams Jr</td><td style="border-top: 1px solid black;border-right: 1px solid black;border-bottom: 1px solid black;border-left: 1px solid black;;">Williams Jr, Donald</td></tr></tbody></table><p style="width:4.8em;font-weight:bold;margin:0;padding:0.2em 0.6em 0.2em 0.5em;border: 1px solid rgb(187,187,187);border-top:none;text-align: center;background-color: rgb(218,231,245);color: rgb(22,17,32)">Sheet1</p><br /><br /><table width="85%" cellpadding="2.5px" rules="all" style=";border: 2px solid black;border-collapse:collapse;padding: 0.4em;background-color: rgb(255,255,255)" ><tr><td style="padding:6px" ><b>Worksheet Formulas</b><table cellpadding="2.5px" width="100%" rules="all" style="border: 1px solid;text-align:center;background-color: rgb(255,255,255);border-collapse: collapse; border-color: rgb(187,187,187)"><thead><tr style=" background-color: rgb(218,231,245);color: rgb(22,17,32)"><th width="10px">Cell</th><th style="text-align:left;padding-left:5px;">Formula</th></tr></thead><tbody><tr><th width="10px" style=" background-color: rgb(218,231,245);color: rgb(22,17,32)">B1</th><td style="text-align:left">=MID(<font color="Blue">A1,FIND(<font color="Red">": ",A1</font>)+2,50</font>)</td></tr><tr><th width="10px" style=" background-color: rgb(218,231,245);color: rgb(22,17,32)">C1</th><td style="text-align:left">=MID(<font color="Blue">B1,FIND(<font color="Red">" ",B1</font>)+1,50</font>)&", "&LEFT(<font color="Blue">B1,FIND(<font color="Red">" ",B1</font>)-1</font>)</td></tr></tbody></table></td></tr></table><br />
 

kweaver

Well-known Member
Joined
May 8, 2018
Messages
731
If you combine those two formulas in B1, you'd have this mess:

Code:
=MID(MID(A1,FIND(": ",A1)+2,50),FIND(" ",MID(A1,FIND(": ",A1)+2,50))+1,50)&", "&LEFT(MID(A1,FIND(": ",A1)+2,50),FIND(" ",MID(A1,FIND(": ",A1)+2,50))-1)
 

jasonb75

Well-known Member
Joined
Dec 30, 2008
Messages
7,148
Office Version
2019
Platform
Windows
Correcting my previous error, slighly shorter than the combined version above, but not by much.

=MID(A1,FIND("|",SUBSTITUTE(A1," ","|",3))+1,LEN(A1))&", "&TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",LEN(A1))),LEN(A1)*2,LEN(A1)))
 

jasonb75

Well-known Member
Joined
Dec 30, 2008
Messages
7,148
Office Version
2019
Platform
Windows
Taking a different approach to the combined formula, this one looks like it works.

=SUBSTITUTE(MID(A1&", "&A1,FIND(" ",A1,14)+1,LEN(A1)+1),"Driver Name: ","")
 

kweaver

Well-known Member
Joined
May 8, 2018
Messages
731
That's a good one, Jasonb75 !!
 

Toadstool

Active Member
Joined
Mar 5, 2018
Messages
322
Let me put in my option:

=RIGHT(A1,LEN(A1)-SEARCH(" ",A1,14))&", "&MID(A1,14,SEARCH(" ",A1,14)-14)

So I assume it always starts "Driver Name: " so I know the first name starts at position 14.

The challenge is with people who use a middle name or honorifics.

AB
1Driver Name: Donald Williams JrWilliams Jr, Donald
2Driver Name: Donald WilliamsWilliams, Donald
3Driver Name: Donny Boy WilliamsBoy Williams, Donny
4Driver Name: Mary Lou WilliamsLou Williams, Mary
5Driver Name: Mr WilliamsWilliams, Mr
6Driver Name: Donald Arthur Williams IIIArthur Williams III, Donald
7Driver Name: Sir Donald Williams, EsqDonald Williams, Esq, Sir

<tbody>
</tbody>
Sheet3

Worksheet Formulas
CellFormula
B1=RIGHT(A1,LEN(A1)-SEARCH(" ",A1,14))&", "&MID(A1,14,SEARCH(" ",A1,14)-14)

<tbody>
</tbody>

<tbody>
</tbody>
 
Last edited:

DanteAmor

Well-known Member
Joined
Dec 3, 2018
Messages
8,735
Office Version
2007
Platform
Windows
Another option

=REPLACE(A1,1,FIND(" ",A1,14),"")&", "&MID(A1,14,FIND(" ",A1,14)-14)
 

Forum statistics

Threads
1,081,543
Messages
5,359,431
Members
400,527
Latest member
pro2go

Some videos you may like

This Week's Hot Topics

  • VBA (Userform)
    Hi All, I just would like to know why my code isn't working. Here is my VBA code: [CODE=vba]Private Sub OKButton_Click() Dim i As Integer...
  • List box that changes fill color
    Hello, I have gone through so many pages trying to figure this out. I have a 2020 calendar that depending on the day needs to have a certain...
  • Remove duplicates and retain one. Cross-linked cases
    Hi all I ran out of google keywords to use and still couldn't find a reference how to achieve the results of a single count. It would be great if...
  • VBA Copy and Paste With Duplicates
    Hello All, I'm in need of some input. My VBA skills are sub-par at best. I've assembled this code from basic research and it works but is...
  • Macro
    is it possible for a macro to run if the active cell value is different to the value above it
  • IF DATE and TIME
    I currently use this to check if date has passed but i also need to set a time on it too. Is it possible? [CODE=vba]=IF(B:B>TODAY(),"Not...
Top