Dividir celda de Excel por el último delimitador

Dividir celda de Excel por el último delimitador

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)))

Respuesta3

Prueba esto:

=TRIM(IF(ISERROR(FIND("-",A1)),"",MID(A1,FIND(CHAR(1),SUBSTITUTE(A1,"-",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))+1,255)))

ingrese la descripción de la imagen aquí

información relacionada