Skip to main content

¿Cómo extraer todos los registros entre dos fechas en Excel?

Author: Sun Last Modified: 2025-08-06

Al trabajar con grandes cantidades de datos con marcas de tiempo en Excel, a menudo es necesario extraer o filtrar todos los registros que se encuentran entre dos fechas específicas. Por ejemplo, puede que desee analizar transacciones dentro de un período de facturación, revisar la asistencia para un mes particular o simplemente examinar entradas registradas dentro de un rango de fechas personalizado. Buscar y copiar manualmente cada fila relevante puede ser tedioso y propenso a errores, especialmente cuando su conjunto de datos crece en volumen. Extraer eficientemente todos los registros entre dos fechas dadas no solo le ahorra tiempo y esfuerzo significativos, sino que también reduce la probabilidad de omitir entradas importantes o introducir errores durante el manejo de los datos.

A screenshot of data range in Excel for extracting records between two dates Arrow right A screenshot showing extracted records between two dates in Excel

A continuación, encontrará varios métodos prácticos para extraer todos los registros entre dos fechas en Excel. Cada enfoque tiene sus propios escenarios aplicables y ventajas, desde extracción basada en fórmulas (sin complementos necesarios), hasta usar Kutools para Excel para mayor comodidad, pasando por código VBA y el filtro integrado de Excel, proporcionando soluciones flexibles para diferentes necesidades y preferencias de usuario.

Extraer todos los registros entre dos fechas mediante fórmulas

Extraer todos los registros entre dos fechas mediante Kutools para Excel good idea3

Usar VBA para extraer registros entre dos fechas

Usar el filtro de Excel para extraer registros entre dos fechas


Extraer todos los registros entre dos fechas mediante fórmulas

Para extraer todos los registros entre dos fechas en Excel usando fórmulas, puede seguir estos pasos. Esta solución es especialmente útil cuando desea actualizaciones dinámicas: siempre que cambie el conjunto de datos original o las condiciones de fecha, los resultados se actualizan automáticamente. Sin embargo, si no está muy familiarizado con las fórmulas de matriz, la configuración inicial puede parecer un poco compleja. Si su conjunto de datos es muy grande, este método puede causar un rendimiento más lento en los cálculos.

1. Prepare una nueva hoja de trabajo, por ejemplo, Hoja2, donde especificará los límites de fecha y mostrará los registros extraídos. Ingrese la fecha de inicio y la fecha de fin deseadas en las celdas A2 y B2, respectivamente. Para mayor claridad, puede agregar encabezados en A1 y B1 (como "Fecha de inicio" y "Fecha de fin").
A screenshot of the start and end date input cells in Excel

2. En la celda C2 de Hoja2, ingrese la siguiente fórmula para contar cuántas filas en Hoja1 tienen fechas que caen dentro del rango especificado:

=SUMPRODUCT((Sheet1!$A$2:$A$22>=A2)*(Sheet1!$A$2:$A$22<=B2))

Después de ingresar la fórmula, presione Enter. Esto le ayuda a entender cuántas entradas coinciden con su condición de filtro, facilitando saber cuántos resultados esperar.
A screenshot of the formula used to count matching rows between two dates

Nota: En esta fórmula, Hoja1 se refiere a su hoja de datos original; $A$2:$A$22 es la columna de fecha en sus datos. Ajuste estas referencias según sea necesario para sus datos. A2 y B2 son sus celdas de fecha de inicio y fin.

3. Para mostrar los registros coincidentes, seleccione una celda en blanco donde desea que comience la lista extraída (por ejemplo, en Hoja2, celda A5). Ingrese la siguiente fórmula de matriz:

=IF(ROWS(A$5:A5)>$C$2,"",INDEX(Sheet1!A$2:A$22,SMALL(IF((Sheet1!$A$2:$A$22>=$A$2)*(Sheet1!$A$2:$A$22<=$B$2),ROW(Sheet1!A$2:A$22)-ROW(Sheet1!$A$2)+1),ROWS(A$5:A5))))

Después de escribir la fórmula, presione Ctrl + Shift + Enter (en lugar de solo Enter) para que funcione como una fórmula de matriz. Luego use el controlador de relleno para arrastrarla hacia la derecha a través de tantas columnas como tenga datos, y luego hacia abajo para que se muestren todas las filas coincidentes. Continúe arrastrando hasta que vea espacios en blanco, lo que significa que se han extraído todos los datos coincidentes.
A screenshot showing the extracted data using formulas

Consejos:

  • Si obtiene ceros, significa que no hay más registros coincidentes para devolver. Simplemente deje de arrastrar más.
  • La parte INDEX(...) de la fórmula se puede adaptar para extraer otras columnas. Cambie la columna referenciada en la parte Hoja1!A$2:A$22 si desea devolver otros campos.
  • Esta fórmula se puede expandir para trabajar con múltiples criterios o para extraer filas completas (repitiendo la fórmula en cada columna).

4. Algunos resultados de fecha pueden aparecer como números de 5 dígitos (números de fecha serial de Excel). Para convertirlos a un formato de fecha legible, seleccione las celdas correspondientes, vaya a la pestaña Inicio , abra el menú desplegable de formato y elija Fecha corta. Esto hará que los datos extraídos sean más claros y útiles.
A screenshot of formatted dates

Precauciones:

  • Asegúrese de que todas las entradas de fecha en sus datos originales estén realmente en formato de fecha, no almacenadas como texto. De lo contrario, la fórmula puede no funcionar como se espera.
  • Ajuste los rangos de matriz si cambia el tamaño de sus datos.
  • Si ve errores #¡NUM! o #N/A, verifique si hay fechas de entrada en blanco o inconsistencias en sus datos fuente.

Extraer todos los registros entre dos fechas mediante Kutools para Excel

Si prefiere una solución más simplificada e interactiva, la función Seleccionar celdas específicas en Kutools para Excel puede ayudarle a extraer filas completas que coincidan con su rango de fechas con solo unos pocos clics, minimizando la necesidad de fórmulas o configuraciones manuales. Esto es particularmente adecuado para usuarios que a menudo manejan tareas de filtrado complejas o realizan operaciones por lotes en grandes conjuntos de datos, ya que reduce la posibilidad de errores en las fórmulas y acelera el flujo de trabajo.

Kutools para Excel,equipado con inteligencia artificial 🤖, ofrece más de 300 funciones prácticas para simplificar tus tareas.

Después de instalar Kutools para Excel, siga los pasos a continuación: (¡Descarga gratuita de Kutools para Excel ahora!)

1. Primero, seleccione el rango de su conjunto de datos que desea analizar y extraer. Luego, haga clic en Kutools > Seleccionar > Seleccionar celdas específicas desde la cinta de Excel. Esto abre una ventana de diálogo para selección avanzada.
A screenshot showing Kutools Select Specific Cells feature

2. En el cuadro de diálogo Seleccionar celdas específicas:

  • Marque la opción "Fila completa" para seleccionar filas completas coincidentes.
  • Establezca la condición de filtro: elija Mayor que y Menor que en las listas desplegables para su columna de fecha.
  • Ingrese manualmente sus fechas de inicio y fin en los cuadros de texto (asegúrese de que el formato coincida con sus datos).
  • Asegúrese de elegir la lógica “Y” para que ambas condiciones se apliquen simultáneamente.
Ver captura de pantalla:
A screenshot of the Select Specific Cells dialog with greater than and less than options

3. Haga clic en Aceptar. Kutools seleccionará instantáneamente todas las filas cuya columna de fecha caiga dentro de su rango especificado. Luego, presione Ctrl + C para copiar las filas seleccionadas, vaya a una hoja en blanco o a una nueva ubicación y presione Ctrl + V para pegar los resultados extraídos.
A screenshot showing extracted rows after using Kutools to select and copy records between two dates

Consejos y precauciones:

  • El enfoque de Kutools no requiere cambiar sus datos originales ni escribir ninguna fórmula.
  • Si tiene inconsistencias en el formato de fecha, revise los resultados de la selección antes de copiar.
  • Use la función para trabajos de filtrado repetidos o por lotes—repetir rápidamente los pasos para diferentes rangos de fechas.
  • Si su versión de Kutools no muestra una característica como se describe, actualice a la última versión para obtener la mejor compatibilidad.

Análisis de escenario: Este método es ideal para usuarios que gestionan listas con muchas columnas o para aquellos que necesitan extraer repetidamente registros completos basados en límites de fecha cambiantes.


Código VBA - Use una macro para filtrar y extraer automáticamente todas las filas entre dos fechas especificadas

Si su flujo de trabajo a menudo incluye extraer datos entre dos fechas y desea automatizar completamente el proceso, usar una macro VBA puede ser una elección inteligente. Con VBA, puede solicitar a los usuarios que seleccionen la columna de fecha, ingresen fechas de inicio y fin, y filtren y copien automáticamente las filas coincidentes en una nueva hoja. Este enfoque ahorra esfuerzo manual y reduce errores, pero requiere habilitar macros y cierta familiaridad con el editor de Visual Basic.

Aquí se explica cómo configurar dicha macro:

1. Haga clic en Desarrollador > Visual Basic para abrir el editor de VBA. En la nueva ventana Microsoft Visual Basic para Aplicaciones, haga clic en Insertar > Módulo, luego copie y pegue el siguiente código en el Módulo:

Sub ExtractRowsBetweenDates_Final()
'Updated by Extendoffice
    Dim wsSrc As Worksheet
    Dim wsDest As Worksheet
    Dim rngTable As Range
    Dim colDate As Range
    Dim StartDate As Date
    Dim EndDate As Date
    Dim i As Long
    Dim destRow As Long
    Dim dateColIndex As Long
    Dim cellDate As Variant

    Set wsSrc = ActiveSheet
    Set rngTable = Application.InputBox("Select the data table (including headers):", "KutoolsforExcel", Type:=8)
    If rngTable Is Nothing Then Exit Sub

    Set colDate = Application.InputBox("Select the date column (including header):", "KutoolsforExcel", Type:=8)
    If colDate Is Nothing Then Exit Sub

    On Error GoTo DateError
    StartDate = CDate(Application.InputBox("Enter the start date (yyyy-mm-dd):", "KutoolsforExcel", "", Type:=2))
    EndDate = CDate(Application.InputBox("Enter the end date (yyyy-mm-dd):", "KutoolsforExcel", "", Type:=2))
    On Error GoTo 0

    On Error Resume Next
    Set wsDest = Worksheets("FilteredRecords")
    On Error GoTo 0
    If wsDest Is Nothing Then
        Set wsDest = Worksheets.Add
        wsDest.Name = "FilteredRecords"
        
        rngTable.Rows(1).Copy
        wsDest.Cells(1, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
        wsDest.Cells(1, 1).PasteSpecial Paste:=xlPasteFormats
    End If

    destRow = wsDest.Cells(wsDest.Rows.Count, 1).End(xlUp).Row + 1
    dateColIndex = colDate.Column - rngTable.Columns(1).Column + 1

    For i = 2 To rngTable.Rows.Count
        cellDate = rngTable.Cells(i, dateColIndex).Value
        If IsDate(cellDate) Then
            If cellDate >= StartDate And cellDate <= EndDate Then
                rngTable.Rows(i).Copy
                wsDest.Cells(destRow, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
                wsDest.Cells(destRow, 1).PasteSpecial Paste:=xlPasteFormats
                destRow = destRow + 1
            End If
        End If
    Next i

    Application.CutCopyMode = False
    wsDest.Columns.AutoFit
    MsgBox "Filtered results have been added to '" & wsDest.Name & "'.", vbInformation
    Exit Sub

DateError:
    MsgBox "Invalid date format. Please enter dates as yyyy-mm-dd.", vbExclamation
End Sub

2. Para ejecutar la macro, haga clic en el botón Run button (Ejecutar) o presione F5.

Luego siga las indicaciones para completar los pasos:

  1. Seleccione la tabla de datos (incluidos los encabezados)
    Cuando aparezca el primer cuadro de entrada, seleccione toda la tabla, incluida la fila de encabezado. Haga clic en Aceptar.
  2. Seleccione la columna de fecha (incluyendo el encabezado)
    Cuando aparezca el segundo cuadro de entrada, seleccione solo la columna de fecha, incluido el encabezado. Haga clic en Aceptar.
  3. Ingrese las fechas de inicio y fin
    Se le pedirá que ingrese la fecha de inicio (formato: aaaa-mm-dd, por ejemplo, 2025-06-01)
    Luego ingrese la fecha de finalización (por ejemplo, 2025-06-30)
    Haga clic en Aceptar después de cada una.

Una hoja de trabajo llamada RegistrosFiltrados se creará automáticamente (si aún no existe). Las filas coincidentes (donde la fecha cae entre las fechas de inicio y fin) se copiarán en esa hoja. Y cualquier nueva fila coincidente se agregará debajo de los resultados existentes cada vez que ejecute la macro.

Solución de problemas:

  • Si no ocurre nada después de ejecutar, verifique sus rangos seleccionados: rangos inválidos o diálogos cancelados harán que la macro termine.
  • Asegúrese de que las entradas en su columna de fecha sean verdaderas fechas de Excel; si están almacenadas como texto, conviértalas primero para filtrar con precisión.

Análisis de escenario: Esta solución VBA es particularmente valiosa para tareas repetitivas, flujos de trabajo avanzados o al compartir una solución semi-automatizada con usuarios no técnicos: simplemente asigne un botón para una operación aún más fácil.


Otros métodos integrados de Excel - Usar la función Filtro integrada de Excel

Para usuarios que prefieren un enfoque simple e interactivo sin escribir fórmulas o código, la función Filtro integrada de Excel ofrece una forma rápida de ver y extraer filas entre dos fechas. Esto es ideal para tareas ocasionales, verificaciones visuales o cuando necesita trabajar directamente con la interfaz de la hoja de trabajo. Sin embargo, no proporciona actualizaciones automáticas si cambian sus criterios de fecha o datos; necesita repetir los pasos para cada nueva sesión de filtro.

Aquí se explica cómo usarlo:

  • Seleccione su rango de datos, asegurándose de que los encabezados de columna estén incluidos.
  • Vaya a la pestaña Datos en la cinta, luego haga clic en Filtro. Pequeñas flechas desplegables aparecerán junto a cada encabezado.
  • Haga clic en la flecha para su columna de fecha y elija Filtros de fecha > Entre....
  • En el cuadro de diálogo, ingrese sus fechas de inicio y fin deseadas. Asegúrese de que el formato coincida con el formato de fecha de sus datos.
  • Haga clic en Aceptar. Solo las filas con fechas en su rango especificado permanecerán visibles.
  • Seleccione todas las filas visibles, presione Ctrl + C para copiar, vaya a un área en blanco u otra hoja y presione Ctrl + V para pegar los resultados filtrados.

Consejos y precauciones:

  • Este método es mejor para inspecciones rápidas y visuales o extracciones ad-hoc.
  • Si su columna de fecha usa formatos inconsistentes, corrija estos antes para asegurarse de que el filtro funcione con precisión.
  • Recuerde borrar el filtro cuando haya terminado para revelar nuevamente el conjunto completo de datos.
  • Las filas filtradas están ocultas, no eliminadas: sus datos originales permanecen intactos.

Análisis de escenario: El filtro integrado de Excel es más adecuado para tablas de tamaño moderado y cuando necesita previsualizar o copiar subconjuntos instantáneamente sin guardar fórmulas o macros.


Solución de problemas y sugerencias de resumen:

  • Confirme siempre que sus celdas de fecha estén formateadas consistentemente en toda la hoja de trabajo para que todas las soluciones funcionen correctamente.
  • Al usar fórmulas o VBA, ajuste las referencias de columna y rango para que coincidan con la estructura real de su hoja para evitar errores de índice o referencia.
  • Para el rendimiento en conjuntos de datos muy grandes, Kutools o el filtrado integrado generalmente ofrecen resultados más rápidos y es menos probable que excedan los límites de memoria/cálculo de fórmulas en comparación con extensas fórmulas de matriz.
  • Si encuentra espacios en blanco inesperados o registros faltantes en la salida, verifique nuevamente que sus condiciones de fecha, rangos de entrada y formatos de datos estén configurados según lo previsto.

Demostración: Extraer todos los registros entre dos fechas mediante Kutools para Excel

 
Kutools para Excel: ¡Más de 300 herramientas prácticas a su alcance! ¡Disfrute de funciones de IA permanentemente gratis! ¡Descárguelo ahora!

Las mejores herramientas de productividad para Office

🤖 Asistente de IA de Kutools: Revoluciona el análisis de datos basado en: Ejecución inteligente |Generar código |Crear fórmulas personalizadas |Analizar datos y generar gráficos |Invocar funciones mejoradas
Funciones populares: Buscar, resaltar o marcar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda con múltiples criterios | Búsqueda de múltiples valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea rápidamente listas desplegables | Lista desplegable dependiente | Lista desplegable con selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Cambiar la visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de libros y hojas de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Encriptar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtro negrita/cursiva/tachado...)...
Top15 conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas de combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y mucho más
Utiliza Kutools en tu idioma preferido: ¡compatible con Inglés, Español, Alemán, Francés, Chino y más de40 idiomas adicionales!

Impulsa al máximo tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para potenciar la productividad y ahorrar tiempo.Haz clic aquí para obtener la función que más necesitas...


Office Tab aporta una interfaz de pestañas a Office y hace tu trabajo mucho más sencillo

  • Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abre y crea varios documentos en nuevas pestañas de la misma ventana, en vez de en nuevas ventanas.
  • ¡Aumenta tu productividad hasta un50% y reduce cientos de clics de ratón cada día!