Este está probado y funciona (según la publicación original de Brad):
=RIGHT(A1,LEN(A1)-FIND("|",SUBSTITUTE(A1," ","|",
LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))
Si sus cadenas originales pudieran contener una tubería "|" carácter, luego reemplace ambos en lo anterior con algún otro carácter que no aparecerá en su fuente. (Sospecho que el original de Brad estaba roto porque se eliminó un carácter no imprimible en la traducción).
Bonificación: cómo funciona (de derecha a izquierda):
LEN(A1)-LEN(SUBSTITUTE(A1," ",""))
- Conteo de espacios en la cadena original
SUBSTITUTE(A1," ","|", ... )
- Reemplaza solo el espacio final con un |
FIND("|", ... )
- Encuentra la posición absoluta de ese reemplazado |
(ese fue el espacio final)
Right(A1,LEN(A1) - ... ))
- Devuelve todos los caracteres después de eso|
EDITAR: para tener en cuenta el caso en el que el texto de origen no contiene espacios, agregue lo siguiente al comienzo de la fórmula:
=IF(ISERROR(FIND(" ",A1)),A1, ... )
haciendo toda la fórmula ahora:
=IF(ISERROR(FIND(" ",A1)),A1, RIGHT(A1,LEN(A1) - FIND("|",
SUBSTITUTE(A1," ","|",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))))
O puede usar la =IF(COUNTIF(A1,"* *")
sintaxis de la otra versión.
Cuando la cadena original puede contener un espacio en la última posición, agregue una función de recorte mientras cuenta todos los espacios: Haga que la función sea la siguiente:
=IF(ISERROR(FIND(" ",B2)),B2, RIGHT(B2,LEN(B2) - FIND("|",
SUBSTITUTE(B2," ","|",LEN(TRIM(B2))-LEN(SUBSTITUTE(B2," ",""))))))