Si tenemos en Excel celdas con valores en la forma:
- viernes 1 de enero de 2010
- sábado 2 de enero de 2010
- domingo 3 de enero de 2010
- …
y deseamos transformarlo en fecha, podemos hacer lo siguiente:
=TEXTO(IZQUIERDA(EXTRAE(A2; ENCONTRAR(" "; A2; 1) + 1; 30); 2) & EXTRAE(EXTRAE(A2; ENCONTRAR(" "; A2; 1) + 1; 30); 6; 4) & DERECHA(EXTRAE(A2; ENCONTRAR(" "; A2; 1) + 1; 30); 4); "dd/mm/aaaa") * 1
¡Toma función! Vamos a contar paso por paso cómo funciona:
- Necesitamos
1 de enero de 2010deviernes 1 de enero de 2010; supongamos que está en la celdaA2. Eso lo conseguimos encontrando el primer espacio en blanco con la funciónENCONTRAR(" "; A2; 1); en este caso el 6, luego debemos empezar por el siguiente, por eso debemos sumar 1. ConEXTRAE(A2; ENCONTRAR(" "; A2; 1) + 1; 30)nos quedamos con1 de enero de 2010. - Ese texto tiene que pasar a otro texto con el formato
dd/mm/aaaa. El día lo cogemos conIZQUIERDA(EXTRAE(A2; ENCONTRAR(" "; A2; 1) + 1; 30); 2); el mes es más complejo porque queda entre medias:EXTRAE(EXTRAE(A2; ENCONTRAR(" "; A2; 1) + 1; 30); 6; 4), y el año se hace de forma análoga al día:DERECHA(EXTRAE(A2; ENCONTRAR(" "; A2; 1) + 1; 30); 4). Con esto hemos creado el texto1 ener2010. - Por último, empleamos la función
TEXTOpara transformar esa cadena de caracteres a otra cadena de caracteres con el formato deseadodd/mm/aaaa, y todo ello lo multiplicamos por 1 para crear el número40179, al que podemos dar el formato de fecha que queramos y con el que podemos realizar operaciones.
Espero que esta fórmula os sirva y os ayude en vuestro trabajo con Excel cuando tengáis que cambiar textos a fechas (o al contrario). También podemos emplear la función FECHANUMERO, pero esa me la guardo para otro día. Saludos.