This is where regular expression and the match() function will come in handy.
Here is a step-by-step approach...
#1 filter your rows to only those value which begin with a capital letter
Family name > Text filter
* select regular expression
* select case sensitive
* expression = ^[A-Z].*
#2 move those names to a newly added column "newFamilyName"
Family name > Edit column > Add column based on this column... > OK
New Column Name = Family Name 2
close the text filter
#3 separate and move the FamilyName when name has an Intraposition
Family Name 2 > Edit cells > Transform...
expression = if(isNotNull(value), value, cells["Family name"].value.match(/^([a-z]\w+ )*([A-Z]\w+)/)[1])
#4 add an Intraposition column derived from Family Name
Family name > Edit column > Add column based on this column...
expression = value.match(/(([a-z]\w+\s)+)([A-Z]\w+)/)[0]
I hope this helps.
--John