Both will fall down though if Middle initials are present, eg John A Deere, or if any of the data is as per the Ops first set of examples. Following should hold good no matter what, even in many cases (As it will repeat characters) if there are not as many (Not all cases though) as 8 Characters between all the names (And at least 1 space in there somewhere):-
=RIGHT(A1,LEN(A1)-FIND("*",SUBSTITUTE(A1," ","*",LEN(A1)-LEN(SUBSTITUTE(A1," ",""

))))&LEFT(SUBSTITUTE(A1," ",""

,8-LEN(RIGHT(A1,LEN(A1)-FIND("*",SUBSTITUTE(A1," ","*",LEN(A1)-LEN(SUBSTITUTE(A1," ",""

))))))
Regards
Ken.................
----------------------------------------------------------------------------
Attitude - A little thing that makes a BIG difference
----------------------------------------------------------------------------