Cómo ordenar por fecha en Excel: cronológicamente, por mes, ordenación automática

  • Compartir Este
Michael Brown

En este artículo, veremos diferentes formas de ordenar fechas en Excel. Aprenderá cómo ordenar rápidamente las fechas en orden cronológico, ordenar por mes ignorando los años, ordenar los cumpleaños por mes y día, y cómo ordenar automáticamente por fecha al introducir nuevos valores.

Las opciones de ordenación incorporadas de Excel son herramientas potentes y eficaces, pero no siempre funcionan correctamente cuando se trata de ordenar fechas. Este tutorial le enseñará algunos trucos útiles para ordenar Excel por fecha de una manera significativa sin desordenar sus datos.

    Cómo ordenar las fechas por orden cronológico

    Organizar las fechas en orden cronológico en Excel es muy fácil. Basta con utilizar el método estándar Ordenación ascendente opción:

    1. Seleccione las fechas que desea ordenar cronológicamente.
    2. En el Inicio en la pestaña Formatos grupo, haga clic en Ordenar y filtrar y seleccione Ordenar de más antiguo a más reciente También puede utilizar la función A-Z en el Datos en la pestaña Ordenar y filtrar grupo.

    Cómo ordenar por fecha en Excel

    Las opciones de ordenación de Excel también se pueden utilizar para reordenar toda la tabla, no sólo una columna. Para ordenar los registros por fecha manteniendo las filas intactas, el punto clave es ampliar la selección cuando se le pida.

    Aquí están los pasos detallados ordenar los datos en Excel por fecha sabia:

    1. En la hoja de cálculo, seleccione las fechas sin la cabecera de columna.
    2. En el Inicio haga clic en Ordenar y filtrar y elija Ordenar de más antiguo a más reciente .

    3. En Aviso de clasificación Deje los valores por defecto Ampliar la selección y haga clic en Ordenar :

    Los registros se han ordenado por fecha y todas las filas se mantienen juntas:

    Cómo ordenar por meses en Excel

    Puede haber ocasiones en las que desee ordenar fechas por mes ignorando el año, por ejemplo al agrupar las fechas de aniversario de tus compañeros o familiares. En este caso, la función de ordenación por defecto de Excel no funcionará porque siempre tiene en cuenta el año, aunque tus celdas estén formateadas para mostrar sólo el mes o el mes y el día.

    La solución es añadir una columna de ayuda, extraer el número de mes y ordenar por esa columna. Para obtener un mes a partir de la fecha, utilice la función MONTH.

    En la siguiente captura de pantalla, extraemos el número de mes de la fecha en B2 con esta fórmula:

    = MES(B2)

    Sugerencia: si el resultado se muestra como fecha en lugar de como número, configure la opción General formato a las celdas de la fórmula.

    Y ahora, ordena tu tabla por el Mes Para ello, seleccione los números de mes (C2:C8), haga clic en Ordenar y filtrar > Ordenar de menor a mayor Si todo se hace correctamente, obtendrá el siguiente resultado:

    Preste atención a que nuestros datos están ahora ordenados por meses, ignorando los años y días dentro de cada mes. Si desea ordenar por mes y día A continuación, siga las instrucciones del siguiente ejemplo.

    Si los nombres de los meses se introducen como texto y, a continuación, ordene por una lista personalizada como se explica en este ejemplo.

    Cómo ordenar los cumpleaños en Excel por mes y día

    Al ordenar las fechas para un calendario de cumpleaños, la solución óptima será ordenar las fechas por mes y día. En consecuencia, se necesita una fórmula que extraiga los meses y los días de las fechas de nacimiento.

    En este caso, la función TEXTO de Excel, que puede convertir una fecha en una cadena de texto en el formato especificado, resulta muy útil. Para nuestro propósito, el código de formato "mmdd" o "mm.dd" funcionará.

    Con la fecha de origen en B2, la fórmula adopta esta forma:

    =TEXT(B2, "mm.dd")

    A continuación, ordene los Mes y día de mayor a menor, y tendrás los datos ordenados según los días de cada mes.

    Se puede obtener el mismo resultado utilizando la fórmula DATE de la siguiente manera:

    =FECHA(2000, MES(B2),DÍA(B2))

    La fórmula genera una lista de fechas extrayendo el mes y el día de la fecha real en B2 y sustituyendo el año real por uno falso, 2000 en este ejemplo, aunque puede poner cualquiera. La idea es tener el mismo año para todas las fechas, y luego ordenar la lista de fechas en orden cronológico. Como el año es el mismo, las fechas se ordenarán por mes y día, que es exactamente lo que usted estábuscando.

    Cómo ordenar datos por año en Excel

    Cuando se trata de ordenar por años, lo más sencillo es ordenar las fechas en orden cronológico con la ordenación ascendente de Excel ( De más antiguo a más reciente ).

    Esto ordenará las fechas por año, luego por mes y después por día, como se muestra en la siguiente captura de pantalla.

    Si por alguna razón no está satisfecho con esta disposición, puede añadir una columna de ayuda con la fórmula YEAR que extrae el año de la fecha:

    =AÑO(C2)

    Después de clasificar los datos por Año observará que las fechas están ordenadas sólo por año, ignorando meses y días .

    Consejo: si desea ordenar fechas por día sin tener en cuenta los meses ni los años, extraiga el día utilizando la función DAY y, a continuación, ordene por el Día columna:

    =DAY(B2)

    Cómo ordenar por días de la semana en Excel

    Para ordenar los datos por día de la semana, también necesitará una columna auxiliar como en los ejemplos anteriores. En este caso, rellenaremos la columna auxiliar con la fórmula WEEKDAY que devuelve un número correspondiente al día de la semana y, a continuación, ordenaremos por la columna auxiliar.

    Para una semana que empieza del domingo (1) al sábado (7), ésta es la fórmula que hay que utilizar:

    =DÍA DE LA SEMANA(A2)

    Si su semana empieza de lunes (1) a domingo (7), ésta es la correcta:

    =DÍA DE LA SEMANA(A2, 2)

    Donde A2 es la celda que contiene la fecha.

    Para este ejemplo, hemos utilizado la primera fórmula y hemos obtenido este resultado:

    En caso de que los nombres de los días de la semana se introduzcan como texto , no como fechas, entonces utilice la función de Ordenación Personalizada como se explica en el siguiente ejemplo.

    Cómo ordenar datos en Excel por nombres de mes (o nombres de día de la semana)

    En caso de que tenga una lista de nombres de mes como texto , no como fechas formateadas para mostrar sólo meses, aplicar la ordenación ascendente de Excel podría ser un problema - ordenará los nombres de los meses alfabéticamente en lugar de ordenar por orden de mes de enero a diciembre. En este caso, una ordenación personalizada ayudará:

    1. Seleccione los registros que desea ordenar por nombre de mes.
    2. En el Datos en la pestaña Ordenar y filtrar grupo, haga clic en Ordenar .
    3. En el Ordenar haga lo siguiente:
      • En Columna seleccione el nombre de la columna que contiene los nombres de los meses.
      • En Ordenar en elige Valores de celda .
      • En Pida seleccione Lista personalizada .
    4. En el Listas personalizadas seleccione los nombres completos de los meses ( Enero , Febrero , Marzo ...) o nombres cortos ( Jan , Febrero , Mar ...) dependiendo de cómo estén enumerados los meses en su hoja de cálculo:

  • Pulse OK dos veces para cerrar ambos cuadros de diálogo.
  • Tus datos se han ordenado por nombre de mes en orden cronológico, no alfabético:

    Consejo: para ordenar por nombres de los días de la semana seleccione los nombres completos ( Domingo , Lunes , Martes ...) o nombres cortos ( Sol , Lun , Mar ...) en el Listas personalizadas cuadro de diálogo.

    Cómo ordenar automáticamente por fecha en Excel

    Como has visto, la función Ordenar de Excel hace frente a una gran variedad de retos. El único inconveniente es que no es dinámica, lo que significa que tendrás que volver a ordenar tus datos con cada cambio y cada vez que se añada nueva información. Quizás te estés preguntando si hay alguna forma de ordenar automáticamente cada vez que se añada una nueva fecha para que tus datos estén siempre en orden.

    La mejor forma de conseguirlo es utilizando una macro. A continuación, encontrarás un par de ejemplos de código para autoordenar los siguientes datos por fecha en orden cronológico.

    Macro 1: Ordenación automática con cada cambio en la hoja de cálculo

    Esta macro se ejecuta cada vez que se produce un cambio en cualquier parte de la hoja de cálculo.

    Se supone que sus datos están en las columnas A a C, y que las fechas por las que desea ordenar están en la columna C, comenzando en C2. También se supone que la fila 1 contiene encabezados (Encabezado:=xlSí). Si sus registros están en columnas diferentes, realice los siguientes ajustes:

    • Cambie la referencia A1 a la celda superior izquierda del rango de destino (incluidos los encabezados).
    • Cambia la referencia C2 a la celda superior que contiene una fecha.
    Private Sub Worksheet_Change( ByVal Target As Range) On Error Resume Next Range( "A1" ).Sort Key1:=Range( "C2" ), _ Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:= False , _ Orientation:=xlTopToBottom End Sub

    Macro 2: Ordenación automática cuando se realizan cambios en un rango específico

    Si está trabajando con una hoja de cálculo enorme que contiene mucha información, reordenar con absolutamente cualquier cambio en la hoja puede ser problemático. En este caso, tiene sentido limitar la activación de la macro a los cambios que se producen en un rango específico. El siguiente código VBA ordena los datos sólo cuando se produce un cambio en la columna C que contiene las fechas.

    Private Sub Worksheet_Change( ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range( "C:C" )) Is Nothing Then Range( "A1" ).Sort Key1:=Range( "C2" ), _ Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:= False , _ Orientation:=xlTopToBottom End If End Sub

    Consejo: Estas macros pueden utilizarse para ordenar automáticamente por cualquier tipo de datos Nuestros códigos de ejemplo ordenan en orden ascendente. Si desea orden descendente cambia Orden1:=xlAscendente por Orden1:=xlDescendente.

    Cómo añadir la macro a la hoja de cálculo

    Dado que ambas macros se ejecutan automáticamente al modificar una hoja de cálculo, el código debe insertarse en la hoja en la que desee ordenar los datos (Hoja1 en este ejemplo). A continuación se explica cómo:

    1. Pulse Alt + F11 para abrir el Editor VBA.
    2. En el Explorador de proyectos a la izquierda, haga doble clic en la hoja en la que desea autoclasificar.
    3. Pegue el código en la ventana Código.

    Ordenar fechas automáticamente con una fórmula

    Supongamos que tiene una lista de fechas y desea ordenarlas cronológicamente de forma automática en una columna separada, junto a la lista original. Esto se puede hacer con la siguiente fórmula de matriz:

    =IFERROR(INDEX($A$2:$A$20, MATCH(ROWS($A$2:A2), COUNTIF($A$2:$A$20, "<="&$A$2:$A$20), 0)), "")

    Donde A2:A20 son las fechas originales (sin ordenar), incluyendo algunas celdas vacías para posibles nuevas entradas.

    Introduce la fórmula en una celda en blanco junto a la columna con las fechas originales (C2 en este ejemplo) y pulsa simultáneamente las teclas Ctrl + Mayús + Intro para completarla. A continuación, arrastra la fórmula hacia abajo a las celdas restantes (C2:C20 en nuestro caso).

    Sugerencia: para que las fechas recién añadidas se ordenen automáticamente, asegúrese de incluir un número suficiente de celdas en blanco en el intervalo de referencia. Por ejemplo, nuestra lista de fechas se encuentra en el intervalo A2:A7, pero suministramos $A$2:$A$20 a la fórmula, y la rellenamos en las celdas C2 a C20. La función IFERROR evita errores en las celdas adicionales, devolviendo en su lugar una cadena vacía ("").

    Excel ordenar por fecha no funciona

    Si sus fechas no están ordenadas como deberían, lo más probable es que estén introducidas en un formato que Excel no puede entender, por lo que se perciben como cadenas de texto en lugar de fechas. El siguiente tutorial explica cómo distinguir las llamadas "fechas de texto" y convertirlas en fechas normales de Excel: Cómo convertir texto en fecha en Excel.

    Así es como se ordena por fecha en Excel. Te doy las gracias por leer y ¡espero verte en nuestro blog la semana que viene!

    Descargas disponibles

    Ejemplos de fórmulas de ordenación por fecha (archivo .xlsx)

    Macro de ordenación automática (archivo .xlsm)

    Michael Brown es un entusiasta de la tecnología dedicado y apasionado por simplificar procesos complejos utilizando herramientas de software. Con más de una década de experiencia en la industria de la tecnología, ha perfeccionado sus habilidades en Microsoft Excel y Outlook, así como en Google Sheets y Docs. El blog de Michael está dedicado a compartir su conocimiento y experiencia con otros, brindando consejos y tutoriales fáciles de seguir para mejorar la productividad y la eficiencia. Ya sea un profesional experimentado o un principiante, el blog de Michael ofrece información valiosa y consejos prácticos para aprovechar al máximo estas herramientas de software esenciales.