Tenía que transformar un número en formato AAAAMMDD a una fecha en Excel. Tenía que concatenar varias funciones y he pensado que a lo mejor a alguno de los lectores del blog podría interesarle.
Se trata de utilizar la función de Excel FECHA con RESIDUO y ENTERO pero con cierto talento. Partimos del una fecha 20140225 y realizamos la siguiente sucesión de fórmulas:
Año: ENTERO(C6/10000)
Mes: RESIDUO(ENTERO(C6/100);100)
Día: RESIDUO(C6;100)
Todo junto en una fórmula: FECHA(ENTERO(C6/10000);RESIDUO(ENTERO(C6/100);100);RESIDUO(C6;100))
Ahí tenéis un truco interesante por si os encontráis en la misma situación que yo. Saludos.
Otra opción
CONCATENAR(EXTRAE(N3;7;2);”/”;EXTRAE(N3;5;2);”/”;EXTRAE(N3;1;4)), evidentemente N3 seria la celda donde esta la fecha, el campo sigue siendo texto pero visualmente sale igual y excel sabe operar con el, al menos yo resto fechas y me saca dias de diferencia entre ambas fechas, ect.
MECANICA CONTRARIA
Para el problema inverso de fecha a número, con las las funciones DIA, MES, AÑO pasa obtener esos datos de la fecha y después CONCATENAR para unir todo y una condición SI para añadir un cero cuando el día o el mes sea menor de 10.
La fecha en A1 =2017/02/15
en B1 =AÑO(A1)
en C1 =MES(A1)
en D1 =DIA(A1)
en E1 =CONCATENAR(B1;C1;D1)
las condiciones para añadir ceros =(SI(C1<10;"0";"")
puestas en E1 =CONCATENAR(B1;(SI(C1<10;"0";""));C1;(SI(D1<10;"0";""));D1)
Y con todo junto en una sola fórmula:
la fecha en A1 =2017/02/15
en B1 =CONCATENAR((AÑO(A1));(SI((MES(A1))<10;"0";""));(MES(A1));(SI((DIA(A1))<10;"0";""));(DIA(A1)))
con el resultado 20170215
No hay comentarios:
Publicar un comentario