En muchas ocasiones cuando trabajamos con bases de datos externos o con información que nos vienen de otras fuentes nos podemos encontrar que las fechas no están preparadas para trabajar con ellas, para realizar ordenaciones o cálculos con ellas.
Por ejemplo hay ocasiones que los elementos que forman parte de la fecha nos lo encontramos en celdas separadas, el día en una celda, el mes en otra y el año en otra. Si el mes está en forma numérica, (enero=1, febrero=2…) y queremos tener en una celda nueva la fecha en formato DD/MM/AAAA es tan sencillo como utilizar la función FECHA(año;mes;dia).
Si por ejemplo tuviéramos en la celda A1 el día, en la B1 el mes y en la C1 el año, la función para obtener la fecha en el formato que hemos descrito anteriormente quedaría de la siguiente forma =FECHA(C1;B1;A1)
Ahora bien, el problema se puede presentar cuando el mes en lugar de en formato numérico, lo tenemos en formato texto, por ejemplo en este caso:
De tal forma que en la celda A1 tenemos el día, en la B1 el mes en formato texto y en la C3 el año.
Lo que queremos conseguir es que en la celda D1 tengamos la fecha pero en formato DD/MM/AAAA, en el caso del ejemplo sería 11/2/1973 ya que así por ejemplo podríamos calcular fácilmente la edad o la ordenación de fechas de diferentes registros o multitud de cálculos que podemos hacer con las fechas.
Para poder reemplazar el mes por un número podríamos utilizar la función SI anidada, pero eso lo veremos en otra ocasión, ahora crearemos una función más sencilla utilizando la función FECHA y MES.
Tal y como hemos visto anteriormente podemos utilizar la función fecha para unir los tres elementos que forman parte de una fecha, pero en esta ocasión si escribimos la función =FECHA(C1;B1;A1) nos dará como resultado #¡VALOR!
Este error es porque Febrero no es numérico, con lo que no es un valor válido para esta función, pero podemos utilizar otra función intermedia para solucionar este ‘problema’.
Primero deberemos convertir la fecha que tenemos en celdas separadas en una fecha del estilo 11/febrero/1973 y si de ahí utilizamos la función MES de esta forma =MES("11/febrero/1973")
nos devolverá como resultado un 2, que corresponde a febrero en formato numérico.
Para conseguir 11/febrero/1973 con los valores que tenemos en las diferentes celdas es tan sencillo como concatenar diferentes valores de la siguiente forma: =A1&"/"&B1&"/"&C1
recuerda utilizar los valores de separación /
Ahora teniendo ya esta concatenación de datos podemos extraer el mes en formato numérico insertándolo en la función MES de la siguiente forma: =MES(A1&"/"&B1&"/"&C1)
y como resultado obtendremos un 2
Ya tenemos lo que estábamos buscando, ahora simplemente hay que introducir esta fórmula en la función FECHA de esta forma =FECHA(C1;MES(A1&"/"&B1&"/"&C1);A1)
y como resultado obtendremos 11/2/1973 que ya es una fecha que podremos ordenar y operar con ella.
Comments (2)
Buenas tardes, yo he tratado de hacer los siguiente, con la funcion FRAC.AÑO he podido sacar un resultado, para un cuadro de depreciacion,
=SI((FRAC.AÑO(A2,N$1))*12>H2,H2,FRAC.AÑO(A2,N$1)*12-K2) esta formula me da la diferencia en mese, pero cuando llega a meses que no tiene los 31 dias me los muestra en decimas, asi 1.9 que en teoria es febreo, pero al tranformar una fecha y saber que mes es febrero, me sale el numero 2, y si comparo 2=1.9 logico que no y no puedo formular la respuesta porque debe ser igual o mayo a 2
Dar ayuda con esta fórmula sin conocer en detalle los valores que hay en cada una de las celdas es complejo. Se me ocurre que puedas probar con los parámetros de la función FRAC.AÑO que determinan la base con la que trabajar. Base ‘0 u omitido’ – US (NASD) 30/360, ‘1’ – Real/real, ‘2’ – Real/360, ‘3’ – Real/365, ‘4’ – Europea 30/360. Puedes encontrar más información en nuestra explicación de la función FRAC.AÑO