Necesito dividir una celda por el primer delimitador (leyendo de derecha a izquierda) para poder poner ese valor en otra celda.
Por ejemplo, mis datos en la celda A1 podrían verse así:
"something - more something - a lot more of something - (this is the text I need)"
La celda B1 necesita el valor "(este es el texto que necesito)"
hasta ahora lo que tengo es:
=RIGHT(a1,LEN(FIND(RIGHT("-"),a1)))
pero esto parece devolver sólo el último carácter: ")".
Respuesta1
Necesitas esta fórmula:
=MID(A1,FIND("~~~~~",SUBSTITUTE(A1,"-","~~~~~",LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))+1,LEN(A1))
Descomponer:
LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))
Cuenta el número de veces que "-" ocurre dentro de la celda,
SUBSTITUTE(A1,"-","~~~~~",LEN(A1)-LEN(SUBSTITUTE(A1,"-","")))
Luego reemplaza la última aparición de "-" con "~~~~~". Si "~~~~~" tiene la posibilidad de aparecer normalmente en su entrada, use un valor diferente aquí.
FIND("~~~~~",SUBSTITUTE(A1,"-","~~~~~",LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))+1
Encuentra la posición del "~~~~~" que acabamos de crear y agrega uno para comenzar justo después. Y finalmente, la fórmula completa usa esa posición y MID()
extrae el texto deseado.
Respuesta2
Ambas opciones anteriores funcionarían, pero aquí hay algo un poco más digerible:
=TRIM(RIGHT(SUBSTITUTE(A1,"-",REPT(" ",LEN(A1))),LEN(A1)))