TEMA DE LA CONSULTA: Mi problema consiste en separa una cadena de caracteres que se encuentra en una misma celda a otras dos celdas diferentes. El problema es que cada cadena de caracteres es diferente y solo se que lo que debo separar está a partir del último espacio en blanco. Por ejemplo:
RESPUESTA: Aquí te muestro una solución que es engorrosa y larga pero que la puedes sistematizar para casos análogos. Después que la entiendas te será fácil generalizarla y adaptarla a tús necesidades. Con este objetivo estoy desglosando la solución que después podras integrar a tú gusto.
Lo primero que te propongo es que dividas el problema en pequeños problemas más faciles de resolver.
- Encontrar el lugar de separación.
- Separar la parte de alante.
- Separar la parte de atras.
- Encontrar el lugar de la separación (las referencias que hacemos son con respecto a la imagen que mostramos arriba.)
- En A4 escribe la fórmula =SUSTITUIR(A1, " ", "") ------con esta fórmula cierras la cadena de caracteres de manera que puedas medirla sin espacios. (Estoesunapruebaqueestamoshaciendo12a23g56)
- Ahora en A5 mide la cadena cerrada =LARGO(A4) ----el resultado te ayudará a saber el número de espacios en blanco que tienes, el resultado de la fórmula quedaría así (41)
- Ahora en A6 voy a medir la cadena abierta (la original) =LARGO(A1) ----(48)
- En A7 voy a restar =A6-A5 ---- Esto me daría la cantidad de espacios en blanco que tengo, y por consiguiente el que ocupa la última posición. (7)
- Voy ahora a sustituir el último espacio en blanco por un caracter especial para usarlo de bandera A8 =SUSTITUIR(A1, " ", "*", A7) ----- en este caso uso el * porque no está en el ejemplo enviado, puede ser cualquiera, y agrego el valor que toma A7 para que lo haga en el septimo espacio en blanco, o sea el último. (Esto es una prueba que estamos haciendo*12a23g56)
- Por último en este subproblema ubico la posición del * A9 sería =ENCONTRAR("*",A8) ----En este caso me devuelve la posición contando desde el inicio de la cadena de caracteres. (39). Fin del primer subproblema.
- Ahora vamos a separar en A2 la primera parte de la cadena.
- En la celda A2 escribimos =IZQUIERDA(A1,A9) ---- Esto saca del texto en A1 la cantidad de caracteres 39 que aparece en A9. (Esto es una prueba que estamos haciendo)
- Por último en A3 voy a sacar el final de la cadena.
- En la celda A3 escribimos =DERECHA(A1,A6-A9) ----Ahora se extrae el texto que aparezca de derecha a izquierda contando 9 caracteres que es la diferencia entre la longitud de la cadena completa y la posición de *. (12a23g56)
Nuevamente tengo la oportunidad de ayudar a quien lo necesite.
___________________________________________________________________________SEPARAR CADENAS DE CARACTERES EN UNA CELDA por Miguel Suárez se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 3.0 Unported.
Basada en una obra en ti-consulta.blogspot.com.
buena tarde mi consulta es la siguiente:
ResponderEliminarNecesito separar y eliminar de esta lista los numeros 3000v y dejar los anteriores:
303000v
453000v
1003000v
153000v
y dejar :
30
45
100
15
estoy usando oficce 2007 gracias
Martin
Eliminarla solución es utilizar la opción de reemplazar en toda la hoja o libro o rango donde lo desees y cambiar 3000v o la cadena que desees por el vacio porque quieres eliminarlo.