Questo è testato e funziona (basato sul post originale di Brad):
=RIGHT(A1,LEN(A1)-FIND("|",SUBSTITUTE(A1," ","|",
LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))
Se le tue stringhe originali potrebbero contenere una pipe "|" carattere, quindi sostituisci entrambi i precedenti con qualche altro personaggio che non verrà visualizzato nella tua fonte. (Sospetto che l'originale di Brad sia stato rotto perché un personaggio non stampabile è stato rimosso nella traduzione).
Bonus: come funziona (da destra a sinistra):
LEN(A1)-LEN(SUBSTITUTE(A1," ",""))
- Conteggio degli spazi nella stringa originale
SUBSTITUTE(A1," ","|", ... )
- Sostituisce solo lo spazio finale con a |
FIND("|", ... )
- Trova la posizione assoluta di quella sostituita |
(che era lo spazio finale)
Right(A1,LEN(A1) - ... ))
- Restituisce tutti i caratteri dopo|
MODIFICA: per tenere conto del caso in cui il testo di origine non contiene spazi, aggiungere quanto segue all'inizio della formula:
=IF(ISERROR(FIND(" ",A1)),A1, ... )
rendendo l'intera formula ora:
=IF(ISERROR(FIND(" ",A1)),A1, RIGHT(A1,LEN(A1) - FIND("|",
SUBSTITUTE(A1," ","|",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))))
Oppure puoi usare la =IF(COUNTIF(A1,"* *")
sintassi dell'altra versione.
Quando la stringa originale potrebbe contenere uno spazio nell'ultima posizione, aggiungere una funzione di taglio mentre si contano tutti gli spazi: Rendere la funzione la seguente:
=IF(ISERROR(FIND(" ",B2)),B2, RIGHT(B2,LEN(B2) - FIND("|",
SUBSTITUTE(B2," ","|",LEN(TRIM(B2))-LEN(SUBSTITUTE(B2," ",""))))))