Tabla de contenido
El tutorial explica cómo utilizar las funciones de Excel para convertir texto en fecha y número en fecha, y cómo convertir cadenas de texto en fechas de una forma no basada en fórmulas. También aprenderá a cambiar rápidamente un formato de número a fecha.
Dado que Excel no es la única aplicación con la que trabajas, a veces te encontrarás trabajando con fechas importadas en una hoja de cálculo de Excel desde un archivo .csv u otra fuente externa. Cuando esto ocurre, lo más probable es que las fechas se exporten como entradas de texto. Aunque parezcan fechas, Excel no las reconocerá como tales.
Hay muchas formas de convertir texto a fecha en Excel y este tutorial pretende cubrirlas todas, para que puedas elegir la técnica de conversión de texto a fecha más adecuada para tu formato de datos y tu preferencia por una forma con o sin fórmula.
Cómo distinguir las fechas normales de Excel de las "fechas de texto"
Al importar datos a Excel, a menudo se produce un problema con el formato de las fechas. Las entradas importadas pueden parecerle fechas normales de Excel, pero no se comportan como fechas. Microsoft Excel trata dichas entradas como texto, lo que significa que no puede ordenar su tabla por fecha correctamente, ni puede utilizar esas "fechas de texto" en fórmulas, tablas dinámicas, gráficos o cualquier otra herramienta de Excel que reconozca fechas.
Hay algunos signos que pueden ayudarle a determinar si una entrada dada es una fecha o un valor de texto.
Fechas | Valores de texto |
|
|
Cómo convertir un número en una fecha en Excel
Dado que todas las funciones de Excel que convierten texto en fecha devuelven un número como resultado, veamos primero cómo convertir números en fechas.
Como probablemente sepas, Excel almacena las fechas y horas como números de serie y es sólo el formato de una celda lo que fuerza a que un número se muestre como una fecha. Por ejemplo, 1-Ene-1900 se almacena como número 1, 2-Ene-1900 se almacena como 2, y 1-Ene-2015 se almacena como 42005. Para más información sobre cómo Excel almacena las fechas y horas, por favor consulta Formato de fecha en Excel.
Cuando se calculan fechas en Excel, el resultado devuelto por las distintas funciones de fecha suele ser un número de serie que representa una fecha. Por ejemplo, si =TODAY()+7 devuelve un número como 44286 en lugar de la fecha que es 7 días después de hoy, eso no significa que la fórmula esté mal. Simplemente, el formato de la celda está ajustado a General o Texto mientras que debería ser Fecha .
Para convertir dicho número de serie en fecha, todo lo que tiene que hacer es cambiar el formato del número de celda. Para ello, sólo tiene que seleccionar Fecha en el Formato numérico en la casilla Inicio ficha.
Para aplicar un formato distinto del predeterminado, seleccione las celdas con números de serie y pulse Ctrl+1 para abrir la pantalla Formatear celdas En el Número seleccione Fecha seleccione el formato de fecha deseado en Tipo y pulse OK.
Si desea algo más sofisticado que los formatos de fecha predefinidos de Excel, consulte cómo crear un formato de fecha personalizado en Excel.
Si algún número obstinado se niega a cambiar a una fecha, echa un vistazo a Excel formato de fecha no funciona - consejos para solucionar problemas.
Cómo convertir un número de 8 dígitos en una fecha en Excel
Es una situación muy común cuando se introduce una fecha como un número de 8 dígitos como 10032016, y necesita convertirlo en un valor de fecha que Excel pueda reconocer (10/03/2016). En este caso, simplemente cambiando el formato de la celda a Fecha no funcionará - obtendrá ########## como resultado.
Para convertir un número de este tipo en una fecha, tendrá que utilizar la función FECHA en combinación con las funciones DERECHA, IZQUIERDA e INTERMEDIA. Lamentablemente, no es posible crear una fórmula universal que funcione en todos los escenarios, ya que el número original puede introducirse en una variedad de formatos diferentes. Por ejemplo:
Número | Formato | Fecha |
10032016 | ddmmyyyy | 10-Mar-2016 |
20160310 | aaaammdd | |
20161003 | aaaaamm |
De todos modos, intentaré explicar el enfoque general para convertir dichos números en fechas y proporcionar algunos ejemplos de fórmulas.
Para empezar, recuerde el orden de los argumentos de la función Fecha de Excel:
FECHA(año, mes, día)Así pues, lo que hay que hacer es extraer un año, un mes y una fecha del número original y suministrarlos como argumentos correspondientes a la función Fecha.
Por ejemplo, veamos cómo convertir el número 10032016 (almacenado en la celda A1) en la fecha 3/10/2016.
- Extraiga el año Son los 4 últimos dígitos, así que utilizamos la función DERECHA para elegir los 4 últimos caracteres: DERECHA(A1, 4).
- Extraer el mes Son los dígitos 3 y 4, así que empleamos la función MID para obtenerlos MID(A1, 3, 2), donde 3 (segundo argumento) es el número inicial y 2 (tercer argumento) es el número de caracteres a extraer.
- Extraer el día Son los 2 primeros dígitos, así que tenemos la función IZQUIERDA para devolver los 2 primeros caracteres: IZQUIERDA(A2,2).
Por último, inserta los ingredientes anteriores en la función Fecha, y obtendrás una fórmula para convertir número en fecha en Excel:
=FECHA(DERECHA(A1,4), MEDIO(A1,3,2), IZQUIERDA(A1,2))
La siguiente captura de pantalla muestra esto y un par de fórmulas más en acción:
Por favor, preste atención a la última fórmula en la captura de pantalla anterior (fila 6). El número-fecha original (161003) contiene sólo 2 caracteres que representan un año (16). Por lo tanto, para obtener el año de 2016, concatenamos 20 y 16 utilizando la siguiente fórmula: 20&LEFT(A6,2). Si no hace esto, la función Fecha devolverá 1916 por defecto, lo cual es un poco raro como si Microsoft todavía viviera en el siglo XX :)
Nota: Las fórmulas mostradas en este ejemplo funcionan correctamente siempre que todos los números que desea convertir en fechas siga los pasos mismo patrón .
Cómo convertir texto en fecha en Excel
Cuando encuentre fechas de texto en su archivo de Excel, lo más probable es que desee convertir esas cadenas de texto en fechas normales de Excel para poder hacer referencia a ellas en sus fórmulas para realizar diversos cálculos. Y como suele ocurrir en Excel, hay algunas formas de abordar la tarea.
Función DATEVALUE de Excel - cambiar texto a fecha
En DATEVALUE en Excel convierte una fecha en formato de texto en un número de serie que Excel reconoce como fecha.
La sintaxis de DATEVALUE de Excel es muy sencilla:
DATEVALUE(texto_fecha) Así, la fórmula para convertir un valor de texto en fecha es tan sencilla como =DATEVALUE(A1)
donde A1 es una celda con una fecha almacenada como cadena de texto.
Dado que la función DATEVALUE de Excel convierte una fecha de texto en un número de serie, tendrá que hacer que ese número parezca una fecha aplicándole el formato Fecha, como hemos comentado hace un momento.
Las siguientes capturas de pantalla muestran algunas fórmulas DATEVALUE de Excel en acción:
Función DATEVALUE de Excel - cosas que hay que recordar
Cuando convierta una cadena de texto en una fecha utilizando la función DATEVALUE, tenga en cuenta que:
- La información horaria de las cadenas de texto se ignora, como puede ver en las filas 6 y 8. Para convertir valores de texto que contengan tanto fechas como horas, utilice la función VALUE.
- Si se omite el año en una fecha de texto, DATEVALUE de Excel tomará el año actual del reloj del sistema de su ordenador, como se demuestra en la fila 4 anterior.
- Dado que Microsoft Excel almacena fechas desde el 1 de enero de 1900 , el uso de la función DATEVALUE de Excel en fechas anteriores dará lugar al error #¡VALOR!
- La función DATEVALUE no puede convertir un valor numérico en fecha, ni puede procesar una cadena de texto que se parezca a un número, para eso tendrá que utilizar la función VALUE de Excel, y esto es exactamente lo que vamos a discutir a continuación.
Función VALUE de Excel - convertir una cadena de texto en fecha
En comparación con DATEVALUE, la función VALUE de Excel es más versátil. Puede convertir cualquier cadena de texto que parezca una fecha o un número en un número, que puede cambiar fácilmente al formato de fecha que desee.
La sintaxis de la función VALUE es la siguiente:
VALOR(texto) Dónde texto
es una cadena de texto o una referencia a una celda que contiene el texto que desea convertir en número.
La función VALUE de Excel puede procesar tanto fecha y hora , esta última se convierte en una parte decimal, como puede verse en la fila 6 de la siguiente captura de pantalla:
Operaciones matemáticas para convertir texto en fechas
Aparte de utilizar funciones específicas de Excel como VALUE y DATEVALUE, puede realizar una sencilla operación matemática para forzar a Excel a realizar una conversión de texto a fecha por usted. La condición requerida es que una operación no debe cambiar el valor de la fecha (número de serie). ¿Te parece un poco complicado? Los siguientes ejemplos te lo pondrán fácil.
Asumiendo que tu fecha de texto está en la celda A1, puedes usar cualquiera de las siguientes fórmulas, y luego aplicar el formato Fecha a la celda:
- Adición:
=A1 + 0
- Multiplicación:
=A1 * 1
- División:
=A1 / 1
- Doble negación:
=--A1
Como puede ver en la captura de pantalla anterior, las operaciones matemáticas pueden convertir fechas (filas 2 y 4), horas (fila 6), así como números formateados como texto (fila 8). A veces, el resultado se muestra incluso como una fecha automáticamente, y no tiene que molestarse en cambiar el formato de la celda.
Cómo convertir cadenas de texto con delimitadores personalizados en fechas
Si sus fechas de texto contienen algún delimitador que no sea una barra oblicua (/) o un guión (-), las funciones de Excel no podrán reconocerlas como fechas y devolverán el error #¡VALOR!
Para solucionarlo, puede ejecutar la función de Excel Buscar y reemplazar para sustituir el delimitador por una barra (/), todo de una vez:
- Seleccione todas las cadenas de texto que desee convertir en fechas.
- Pulse Ctrl+H para abrir el Buscar y reemplazar cuadro de diálogo.
- Introduzca su separador personalizado (un punto en este ejemplo) en el campo Encuentre lo que y una barra en el campo Sustituir por
- Haga clic en el botón Sustituir todo
Ahora, la función DATEVALUE o VALUE no debería tener ningún problema para convertir las cadenas de texto en fechas. Del mismo modo, puede fijar fechas que contengan cualquier otro delimitador, por ejemplo, un espacio o una barra diagonal inversa.
Si prefiere una solución basada en fórmulas, puede utilizar la función SUSTITUIR de Excel en lugar de Sustituir todo para cambiar los delimitadores a barras oblicuas.
Suponiendo que las cadenas de texto están en la columna A, una fórmula SUBSTITUTE puede tener el siguiente aspecto:
=SUSTITUIR(A1, ".", "/")
Donde A1 es una fecha de texto y "." es el delimitador con el que se separan las cadenas.
Ahora, vamos a incrustar esta función SUBSTITUTE en la fórmula VALUE:
=VALOR(SUBSTITUTE(A1, ".", "/"))
Y que las cadenas de texto se conviertan en fechas, todo con una sola fórmula.
Como ves, las funciones DATEVALUE y VALUE de Excel son bastante potentes, pero ambas tienen sus límites. Por ejemplo, si estás intentando convertir cadenas de texto complejas como Jueves, 01 de enero de 2015, Por suerte, existe una solución no basada en fórmulas que puede encargarse de esta tarea y en la siguiente sección se explican los pasos detallados.
Asistente de conversión de texto en columnas: método sin fórmulas para convertir texto en fechas
Si usted no es un usuario de fórmulas, existe desde hace tiempo una función de Excel llamada Texto a columnas Puede trabajar con fechas de texto sencillas, como se muestra en el ejemplo 1, así como con cadenas de texto de varias partes, como se muestra en el ejemplo 2.
Ejemplo 1. Conversión de cadenas de texto simples en fechas
Si las cadenas de texto que desea convertir en fechas se parecen a alguna de las siguientes:
- 1.1.2015
- 1.2015
- 01 01 2015
- 2015/1/1
En realidad no necesitas fórmulas, ni exportar o importar nada. Todo lo que necesitas son 5 pasos rápidos.
En este ejemplo, convertiremos cadenas de texto como 01 01 2015 (día, mes y año separados por espacios) en fechas.
- En la hoja de cálculo de Excel, seleccione una columna de entradas de texto que desee convertir en fechas.
- Cambiar a la Datos ficha, Herramientas de datos y haga clic en Texto a columnas.
En este ejemplo, estamos convirtiendo las fechas de texto con formato "01 02 2015" (mes día año), por lo que seleccionamos MDY del cuadro desplegable.
Ahora, Excel reconoce sus cadenas de texto como fechas, las convierte automáticamente a su formato de fecha predeterminado y las muestra alineadas a la derecha en las celdas. Puede cambiar el formato de fecha de la forma habitual mediante la función Formatear celdas diálogo.
Nota. Texto a columna funcione correctamente, todas las cadenas de texto deben tener el mismo formato. Por ejemplo, si algunas de las entradas tienen el formato siguiente día/mes/año formato mientras que otros son mes/día/año obtendría resultados incorrectos.
Ejemplo 2. Conversión de cadenas de texto complejas en fechas
Si sus fechas están representadas por cadenas de texto de varias partes, como:
- jueves, 01 de enero de 2015
- Enero 01, 2015 3 PM
Tendrás que esforzarte un poco más y utilizar tanto el Texto a columnas y la función FECHA de Excel.
- Seleccione todas las cadenas de texto que desee convertir en fechas.
- Haga clic en el botón Texto a columnas en el botón Datos ficha, Herramientas de datos grupo.
- En el paso 1 del Asistente para convertir texto en columnas seleccione Delimitado y haga clic en Siguiente .
- En el paso 2 del asistente, seleccione los delimitadores que contienen sus cadenas de texto.
Por ejemplo, si está convirtiendo cadenas separadas por comas y espacios, como " Jueves, 01 de enero de 2015" debe elegir ambos delimitadores: coma y espacio.
También tiene sentido seleccionar el " Tratar delimitadores consecutivos como uno " para ignorar los espacios adicionales, si sus datos tienen alguno.
Y por último, eche un vistazo al Vista previa de datos y compruebe si las cadenas de texto se dividen en columnas correctamente, después haga clic en Siguiente .
- En el paso 3 del asistente, asegúrese de que todas las columnas de la sección Vista previa de datos tienen el valor General Si no es así, haga clic en una columna y seleccione General bajo el Formato de los datos de columna opciones.
Nota: No elija la opción Fecha para cualquier columna porque cada columna contiene sólo un componente, por lo que Excel no podrá entender que se trata de una fecha.
Si no necesita alguna columna, haga clic en ella y seleccione No importar columna (omitir).
Si no desea sobrescribir los datos originales, especifique dónde deben insertarse las columnas: introduzca la dirección de la celda superior izquierda en el campo Destino campo.
Cuando haya terminado, pulse el botón Acabado botón.
Como puede ver en la captura de pantalla anterior, estamos omitiendo la primera columna con los días de la semana, dividiendo los demás datos en 3 columnas (en la columna General ) e insertando estas columnas a partir de la celda C2.
La siguiente captura de pantalla muestra el resultado, con los datos originales en la columna A y los datos divididos en las columnas C, D y E.
- La sintaxis de la función FECHA de Excel se explica por sí misma: FECHA(año, mes, día)
En nuestro caso,
año
está en la columna E ydía
está en la columna D, no hay problema con estos.No es tan fácil con
mes
Por suerte, Microsoft Excel ofrece una función especial MES que puede cambiar el nombre de un mes por un número de mes:=MONTH(número_de_serie)
Para que la función MES entienda que se trata de una fecha, lo ponemos así:
= MES(1&C2)
Donde C2 contiene el nombre del mes, Enero en nuestro caso. "1&" se añade para concatenar una fecha ( 1 enero) para que la función MES pueda convertirlo en el número de mes correspondiente.
Y ahora, vamos a incrustar la función MES en la función
mes
; argumento de nuestra fórmula DATE:=FECHA(F2,MES(1&D2),E2)
Y voilá, nuestras complejas cadenas de texto se han convertido con éxito en fechas:
Conversión rápida de fechas de texto mediante Pegado especial
Para convertir rápidamente un rango de cadenas de texto simple en fechas, puede utilizar el siguiente truco.
- Copie cualquier celda vacía (selecciónela y pulse Ctrl + C ).
- Seleccione el rango con valores de texto que desea convertir en fechas.
- Haga clic con el botón derecho en la selección y haga clic en Pegado especial y seleccione Añadir en el Pegado especial cuadro de diálogo:
Lo que acabas de hacer es decirle a Excel que añada un cero (celda vacía) a tus fechas de texto. Para poder hacer esto, Excel convierte una cadena de texto en un número, y como añadir un cero no cambia el valor, obtienes exactamente lo que querías: el número de serie de la fecha. Como de costumbre, cambias un número al formato de fecha utilizando la función Formatear celdas diálogo.
Para obtener más información sobre la función Pegado especial, consulte Cómo utilizar Pegado especial en Excel.
Fijación de fechas de texto con años de dos cifras
Las versiones modernas de Microsoft Excel son lo suficientemente inteligentes como para detectar algunos errores obvios en tus datos, o mejor dicho, lo que Excel considera un error. Cuando esto ocurre, verás un indicador de error (un pequeño triángulo verde) en la esquina superior izquierda de la celda y, al seleccionar la celda, aparece un signo de exclamación:
Al hacer clic en el signo de exclamación se mostrarán algunas opciones relevantes para sus datos. En el caso de un año de 2 dígitos, Excel le preguntará si desea convertirlo a 19XX o 20XX.
Si tiene varias entradas de este tipo, puede corregirlas todas de una sola vez: seleccione todas las celdas con errores, haga clic en el signo de exclamación y seleccione la opción adecuada.
Cómo activar la comprobación de errores en Excel
Normalmente, la Comprobación de errores está activada en Excel por defecto. Para asegurarse, haga clic en Archivo > Opciones > Fórmulas Desplácese hacia abajo hasta Comprobación de errores y compruebe si las siguientes opciones están marcadas:
- Activar la comprobación de errores en segundo plano en Comprobación de errores ;
- Celdas que contienen años representados con 2 dígitos en Reglas de comprobación de errores .
Cómo cambiar texto por fecha en Excel de forma sencilla
Como ves, convertir texto a fecha en Excel dista mucho de ser una operación trivial de un solo clic. Si estás confundido por todos los diferentes casos de uso y fórmulas, déjame mostrarte una forma rápida y directa.
Instale nuestra Ultimate Suite (puede descargar una versión de prueba gratuita aquí), cambie a la opción Herramientas Ablebits (se añadirán 2 nuevas pestañas con más de 70 herramientas increíbles a su Excel) y busque la pestaña Texto hasta la fecha botón:
Para convertir fechas de texto en fechas normales, haga lo siguiente:
- Seleccione las celdas con cadenas de texto y haga clic en el botón Texto hasta la fecha botón.
- Especifique el orden de fechas (días, meses y años) en las celdas seleccionadas.
- Elija si desea incluir o no tiempo en las fechas convertidas.
- Haga clic en Convertir .
Ya está, los resultados de la conversión aparecerán en la columna adyacente y se conservarán los datos de origen. Si algo sale mal, sólo tiene que borrar los resultados y volver a intentarlo con un orden de fechas diferente.
Sugerencia: si ha optado por convertir tanto fechas como horas, pero en los resultados faltan las unidades de tiempo, asegúrese de aplicar un formato numérico que muestre tanto los valores de fecha como de hora. Para obtener más información, consulte Cómo crear formatos personalizados de fecha y hora.
Si tiene curiosidad por saber más sobre esta maravillosa herramienta, consulte su página de inicio: Text to Date for Excel.
Así es como se convierte texto a fecha en Excel y se cambian fechas a texto. Esperemos que hayas podido encontrar una técnica de tu agrado. En el próximo artículo, abordaremos la tarea opuesta y exploraremos diferentes formas de convertir fechas de Excel a cadenas de texto. Te agradezco la lectura y espero verte la semana que viene.