Seguramente alguna vez has intentado concatenar una fecha a un texto solo para darte cuenta que el resultado no es lo que esperabas ya que Excel toma en cuenta el valor numérico de la fecha y terminamos con un número concatenado en el texto.
Para dejar en claro a lo que me refiero realiza la siguiente prueba. En la celda A1 coloca la fecha 12/05/2014 y en la celda B1 ingresa el texto “La fecha de hoy es”. Ahora en la celda C1 coloca la fórmula =CONCATENAR(B1, ” “, A1) y observa el resultado:
Definitivamente ese no era el resultado que esperábamos al realizar la concatenación de ambas celdas. El hecho es que todas las fechas en Excel son valores numéricos y para cualquier cálculo siempre se toma en cuenta dicho valor y no lo que vemos desplegado en pantalla. La manera de solucionar este inconveniente es convertir la fecha a texto en Excel.
Cómo convertir una fecha a texto en Excel
Para hacer la conversión de una fecha a un texto debemos utilizar la función TEXTO. Esta función tiene solo dos argumentos, el primero de ellos es el valor que vamos a convertir y el segundo es el formato que daremos a dicho valor.
=TEXTO(A1, "dd/mm/aaaa")
Si convertimos una fecha a texto en Excel con la función TEXTO e indicamos un formato de día, mes y año tal como en la fórmula anterior, entonces el resultado será diferente al momento de concatenarla. Observa lo que sucede si utilizo la fórmula anterior en lugar de ingresar directamente el valor de la celda A1 en la función CONCATENAR:
La función TEXTO nos ayuda a obtener el resultado deseado y es posible modificar la fecha concatenada con solo cambiar el formato especificado. Por ejemplo, considera la siguiente fórmula que da forma a una cadena de texto para desplegar el nombre del mes.
=CONCATENAR(TEXTO(A1, "dd"), " de ", TEXTO(A1, "mmmm"))
Si anteponemos el valor de la celda B1 de nuestro ejemplo a esta concatenación, entonces obtendremos el siguiente resultado:
Si quieres conocer otras alternativas de formato para fechas que podemos implementar con la función TEXTO consulta el artículo Extraer información de una fecha.
Aplicar formato a fechas desde VBA
Si eres un usuario de Excel que utiliza VBA, entonces tienes una función disponible que hace cosas similares a la función TEXTO y que te permitirá aplicar algún formato especial a una fecha. Me refiero a la función Format, la cual recibirá como primer argumento el valor y como segundo argumento el formato deseado.
Private Sub CommandButton1_Click() Range("B1").Value = Format(Range("A1").Value, "dddd, dd mmmm yyyy") End Sub
El código anterior aplicará un formato especial al valor de la celda A1 y lo guardará en la celda B1. El resultado de esta instrucción será el siguiente:
Los formatos para fecha que podemos utilizar en la función Format serán los mismos que se utilizan en la función TEXTO, con la única diferencia de que las abreviaturas deberán estar en inglés y por lo tanto la letra utilizada para los años será “y” (year) en lugar de “a” (año). Recuerda que para conocer dichos formatos puedes consultar el artículo Extraer información de una fecha.