Dividir un texto según un patrón en Excel es posible y es súper fácil
- La función MID. La función MID es una de las primeras funciones de Excel, pero su capacidad aumenta si la usa con una matriz.
- Escribe tu patrón en una matriz. Si su patrón es siempre el mismo, puede especificarlo y Excel dividirá su texto de acuerdo con él.
- Trucos! Escribe la salida en cualquier posición 😀La belleza de este truco es que puedes escribir la subcadena en cualquier lugar de tu salida.
Técnica antigua (la que todos usaban 😉)
Digamos que tiene una fecha en el formato AAAAMMDD. Puedes usar esta tecnica para convertirlo en una fecha o escribir la siguiente fórmula.
=DERECHA([@[Fecha AAAAMMJJ]],2)&"/"&MEDIO([@[Fecha AAAAMMJJ]],5,2)&"/"&IZQUIERDA([@[Fecha AAAAMMJJ]],4)

Elaborar una fórmula de este tipo no es fácil para muchas personas y podría ser fuente de confusión. Sin embargo, ahora existe una mejor manera de hacer el mismo trabajo. 😀👍
Dividir texto según un patrón fijo
Comencemos con esta situación. Tienes una lista de códigos de colores hexadecimales en la columna A. Quieres dividir el código en grupos de 2 dígitos: rojo, verde y azul.
La sección Función MID extrae una subcadena de una cadena de acuerdo con
- El texto
- Posición de salida
- Número de caracteres a extraer
=MEDIO(texto,posición inicial, longitud)
Pero podemos reemplazar el Posición de salida y de largo con una matriz. Una matriz es fácil de crear en Excel. Escribes los valores que quieras entre llaves; {valor1,valor2,valor3,....}.
Entonces, en esta situación, queremos extraer una subcadena de 2 dígitos comenzando desde las posiciones 1, 3 y 5. Y así, con una sola fórmula, hemos dividido la cadena según un patrón.
Extraer diferentes longitudes
En este otro ejemplo, tenemos VIN (VIN = Número Internacional de Vehículo). Un VIN tiene la siguiente información.
- El identificador mundial de fabricante (WMI) son los primeros 3 dígitos
- La Sección Descriptor del Vehículo (VDS), entre los dígitos 4 y 9
- Identificación del vehículo (VIS), los últimos 8 dígitos
En este caso debemos escribir dos matrices
- La primera matriz es la posición inicial de las 3 subcadenas: 1, 4, 10
- La segunda matriz de la longitud de cada subcadena: 3, 6, 8
Devolver el resultado en otro orden
En la última situación, su salida también se puede escribir en un orden diferente al del texto original. El mejor ejemplo es una fecha con el formato AAAAMMDD
- La matriz de longitud es la misma para ambas fórmulas {2,2,4}
- La matriz de posición inicial debe reflejar nuestra salida.
- Para el formato de fecha DD/MM/AAAA, el patrón para dividir la fecha es {7,5,1}
- Para el formato de fecha MM/DD/AAAA, el patrón es {5,7,1}

19/02/2025 a las 06:54
La nueva función REGEX es un método alternativo
=REGEXREPLACE(A1,
"(\d{4})(\d{2})(\d{2})", "$3$2$1")
19/02/2025 a las 09:17
Sí, es cierto. Pero mis trucos son más accesibles para cualquiera 😉
Gracias por compartir.
04/01/2025 a las 01:47
Para "fechas" presentadas así...
20240713
Podrías producir las fechas de texto que mostraste antes de esta manera...
=TEXTO(Tabla1[Fecha AAAAMMJJ],"0000\/00\/00")
Si querías citas reales de ellos, simplemente antepón el 0+ así...
=0+TEXT(Table1[Date YYYYMMJJ],"0000\/00\/00")
04/01/2025 a las 02:11
Verdadero 👍 O "--" también funciona
04/01/2025 a las 02:53
No me gusta el signo doble negativo porque creo que no se destaca lo suficiente... el 0+ es mucho más fácil de ver, así que tiendo a usarlo.
21/11/2024 a las 04:56
Me gusta este truco. Genial.
21/10/2024 a las 18:19
¡Buen material!