¿Cómo extraer en Excel todos los registros comprendidos entre dos fechas?
Al trabajar con grandes volúmenes de datos con marca de tiempo en Excel, es habitual que necesite extraer o filtrar todos los registros comprendidos entre dos fechas específicas. Por ejemplo, podría querer analizar transacciones dentro de un período de facturación, revisar asistencias durante un mes determinado o simplemente examinar entradas registradas en un intervalo personalizado de fechas. Buscar y copiar manualmente cada fila relevante resulta tedioso y propenso a errores, especialmente a medida que crece el volumen de sus datos. Extraer eficazmente todos los registros comprendidos entre dos fechas dadas no solo le ahorra tiempo y esfuerzo significativos, sino que también reduce el riesgo de omitir entradas clave o cometer errores al manipular la información.
![]() | ![]() | ![]() |
A continuación, descubra varios métodos prácticos para extraer todos los registros comprendidos entre dos fechas en Excel. Cada enfoque se adapta a distintos escenarios y ofrece ventajas únicas: desde soluciones basadas en fórmulas (sin necesidad de complementos) y el uso del filtro integrado de Excel, hasta la comodidad de Kutools para Excel y la personalización mediante código VBA, brindando opciones flexibles que se ajustan a diversas necesidades y preferencias de usuario.
Extraiga todos los registros comprendidos entre dos fechas mediante fórmulas
Extraiga todos los registros comprendidos entre dos fechas mediante Kutools para Excel![]()
Use VBA para extraer registros comprendidos entre dos fechas
Use el filtro de Excel para extraer registros comprendidos entre dos fechas
Extraiga todos los registros comprendidos entre dos fechas mediante fórmulas
Para extraer todos los registros comprendidos entre dos fechas en Excel mediante fórmulas, siga estos pasos. Esta solución es especialmente útil si busca una actualización dinámica: cada vez que cambien los datos originales o las fechas de filtro, los resultados se actualizarán automáticamente. No obstante, si no está familiarizado con las fórmulas matriciales, la configuración inicial podría resultarle algo compleja. Además, si su conjunto de datos es muy grande, este método podría ralentizar el rendimiento del cálculo.
1. Prepare una hoja de cálculo nueva, por ejemplo, Hoja2, donde especificará los límites de fecha y mostrará los registros extraídos. Introduzca la fecha de inicio y la fecha de fin deseadas en las celdas A2 y B2, respectivamente. Para mayor claridad, puede añadir encabezados en A1 y B1 (por ejemplo, «Fecha de inicio» y «Fecha de fin»).
2. En la celda C2 de la Hoja2, introduzca la siguiente fórmula para contar cuántas filas de la Hoja1 contienen fechas dentro del rango especificado:
=SUMPRODUCT((Sheet1!$A$2:$A$22>=A2)*(Sheet1!$A$2:$A$22<=B2)) Después de introducir la fórmula, pulse Intro. Así sabrá cuántas entradas coinciden con su condición de filtro y podrá anticipar fácilmente el número de resultados esperados.
Nota: En esta fórmula, Hoja1 hace referencia a su hoja de datos originales; $A$2:$A$22 es la columna de fechas de sus datos. Ajuste estas referencias según sea necesario. A2 y B2 son sus celdas de fecha de inicio y fecha de fin.
3. Para mostrar los registros coincidentes, seleccione una celda vacía donde desee que comience la lista extraída (por ejemplo, en la Hoja2, celda A5) e introduzca la siguiente fórmula matricial:
=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, pulse Ctrl + Mayús + Intro (en lugar de solo Intro) para que funcione como fórmula matricial. A continuación, use el controlador de relleno para arrastrarla hacia la derecha tantas columnas como tenga datos y, luego, hacia abajo hasta que aparezcan todas las filas coincidentes. Siga arrastrando hasta que vea celdas vacías, lo que indica que ya se han extraído todos los datos coincidentes.
Consejos:
- Si obtiene ceros, significa que ya no quedan más registros coincidentes que devolver. Simplemente deje de arrastrar.
- La parte ÍNDICE(...) 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 obtener otros campos.
- Esta fórmula se puede ampliar para trabajar con varios criterios o para extraer una fila completa (repitiendo la fórmula en cada columna).
4. Algunos resultados de fecha pueden aparecer como números de cinco dígitos (números de serie de fecha de Excel). Para convertirlos en 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. ¡Así, los datos extraídos serán más claros y útiles!
Precauciones:
- Asegúrese de que todas las entradas de fecha en sus datos originales estén realmente en formato de fecha y no almacenadas como texto; de lo contrario, la fórmula podría no funcionar como se espera.
- Ajuste los rangos de matriz si el tamaño de sus datos cambia.
- Si ve errores #¡NUM! o #N/A, compruebe si hay fechas de entrada en blanco o inconsistencias en sus datos de origen.
Extraiga todos los registros comprendidos entre dos fechas mediante Kutools para Excel
Si prefiere una solución más ágil e interactiva, la función Seleccionar celdas específicas de Kutools para Excel le permite extraer filas completas que coincidan con su rango de fechas con solo unos pocos clics, minimizando la necesidad de fórmulas o ajustes manuales. Esta opción resulta especialmente útil para usuarios que suelen manejar tareas complejas de filtrado o realizar operaciones masivas sobre grandes conjuntos de datos, ya que reduce el riesgo de errores en fórmulas y acelera su flujo de trabajo.
Tras instalar Kutools para Excel, siga los pasos que se indican a continuación:(¡Descarga gratuita de Kutools para Excel ahora!)
1. En primer lugar, seleccione el rango del conjunto de datos del que desea extraer información y analizar. A continuación, haga clic en Kutools > Seleccionar > Seleccionar celdas específicas desde la Cinta de opciones de Excel. Esto abrirá una ventana de diálogo para selección avanzada.
2. En el cuadro de diálogo Seleccionar celdas específicas:
- Marque la opción «Fila completa» para seleccionar filas completas que coincidan.
- Establezca la condición de filtro: elija Mayor que y Menor que en la lista desplegable correspondiente a su columna de fechas.
- Introduzca manualmente su fecha de inicio y su fecha de fin en el cuadro de texto (asegúrese de que el formato coincida con el de sus datos).
- Asegúrese de que esté seleccionada la lógica “Y” para que ambas condiciones se apliquen al mismo tiempo.
3. Haga clic en Aceptar. Kutools seleccionará al instante todas las filas cuya columna de fecha esté dentro del rango que haya definido. A continuación, pulse Ctrl + C para copiar las filas seleccionadas, vaya a una hoja en blanco o a una nueva ubicación y pulse Ctrl + V para pegar los resultados extraídos.
Consejos y advertencias:
- El enfoque de Kutools no requiere modificar sus datos originales ni escribir ninguna fórmula.
- Si presenta inconsistencias en el formato de fecha, revise previamente los resultados de la selección antes de copiarlos.
- Utilice esta función para tareas repetitivas o por lotes: repita rápidamente los mismos pasos para distintos rangos de fechas.
- Si su versión de Kutools no muestra una función tal como se describe, actualice a la última versión para garantizar la mejor compatibilidad.
Análisis del escenario: Este método es ideal para usuarios que gestionan listas con numerosas columnas o que necesitan extraer repetidamente registros completos según rangos de fecha variables.
Código VBA: utilice una macro para filtrar y extraer automáticamente todas las filas comprendidas entre dos Fecha específica
Si su flujo de trabajo implica con frecuencia extraer datos entre dos fechas y desea automatizar por completo el proceso, una macro de VBA puede ser una opción inteligente. Con VBA, puede pedir al usuario que seleccione la columna de fechas, introduzca las fechas de inicio y fin, y filtrar y copiar automáticamente las filas coincidentes a una hoja nueva. Este enfoque ahorra esfuerzo manual y reduce errores, aunque requiere habilitar macros y cierta familiaridad con el editor de Visual Basic.
A continuación se explica cómo configurar dicha macro:
1. Haga clic en Desarrollador > Visual Basic para abrir el editor de VBA. En la nueva ventana de Microsoft Visual Basic para Aplicaciones, haga clic en Insertar > Módulo y, a continuación, 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
(Ejecutar) o pulse F5.
A continuación, siga las indicaciones para completar los pasos:
- Seleccione la tabla de datos (incluidos los encabezados)Cuando aparezca el primer cuadro de diálogo, seleccione toda la tabla, incluida la fila de encabezados, y haga clic en Aceptar.
- Seleccione la columna de fechas (incluido el encabezado)Cuando aparezca el segundo cuadro de diálogo, seleccione únicamente la columna de fechas, incluido el encabezado, y haga clic en Aceptar.
- Introduzca la fecha de inicio y la fecha de finSe le pedirá que introduzca la fecha de inicio (formato: aaaa-mm-dd, p. ej., 2025-06-01).A continuación, introduzca la fecha de fin (p. ej., 2025-06-30).Tras cada entrada, haga clic en Aceptar.
Se creará automáticamente una hoja de cálculo llamada FilteredRecords (si aún no existe). Las filas coincidentes —aquellas cuya fecha esté comprendida entre la fecha de inicio y la fecha de fin— se copiarán en dicha hoja. Además, cada vez que ejecute la macro, las nuevas filas coincidentes se añadirán debajo de los resultados ya existentes.
Resolución de problemas:
- Si no ocurre nada tras ejecutarlo, compruebe su selección de rango: rangos no válidos o cuadros de diálogo cancelados harán que la macro finalice.
- Asegúrese de que las entradas de su columna de fechas sean fechas reales de Excel; si están almacenadas como texto, conviértalas primero para garantizar un filtrado preciso.
Análisis del escenario: Esta solución VBA resulta especialmente útil para tareas repetitivas, flujos de trabajo avanzados o cuando se comparte una solución semiautomatizada con usuarios no técnicos; basta con asignarle un botón para facilitar aún más su uso.
Otros métodos integrados de Excel: use la función Filtro integrada de Excel
Para usuarios que prefieran un enfoque sencillo e interactivo, sin necesidad de escribir fórmulas ni código, la función Filtro integrada de Excel ofrece una forma rápida de visualizar y extraer filas comprendidas entre dos fechas. Es ideal para tareas ocasionales, comprobaciones visuales o cuando se desea trabajar directamente desde la interfaz de la hoja de cálculo. No obstante, no se actualiza automáticamente si cambian los criterios de fecha o los datos; deberá repetir los pasos cada vez que realice un nuevo filtrado.
Así es como se utiliza:
- Seleccione su rango de datos, asegurándose de incluir los encabezados de columna.
- Vaya a la pestaña Datos de la Cinta de opciones y haga clic en Filtro. Aparecerán pequeñas flechas desplegables junto a cada encabezado.
- Haga clic en la flecha de su columna de fechas y elija Filtros de fecha > Entre....
- En el cuadro de diálogo, introduzca la fecha de inicio y la fecha de fin que desee. Asegúrese de que el formato coincida con el formato de fecha de sus datos.
- Haga clic en Aceptar. Solo permanecerán visibles las filas cuyas fechas estén dentro de su rango limitado.
- Seleccione todas las filas visibles, pulse Ctrl + C para copiar, vaya a un área vacía u otra hoja y pulse Ctrl + V para pegar los resultados filtrados.
Consejos y precauciones:
- Este método es ideal para inspecciones visuales rápidas o extracciones puntuales.
- Si su columna de fechas emplea formatos inconsistentes, corríjalos antes para garantizar que el filtro funcione con precisión.
- Recuerde eliminar el filtro al finalizar para que se muestre nuevamente todo el conjunto de datos.
- Las filas filtradas están ocultas, no eliminadas: sus datos originales permanecen intactos.
Análisis del escenario: El Filtro integrado de Excel es ideal para tablas de tamaño moderado y cuando necesitas previsualizar o copiar subconjuntos al instante, sin tener que guardar fórmulas ni macros.
Resolución de problemas y sugerencias resumidas:
- Asegúrese siempre de que las celdas de fecha tengan un formato coherente en toda la hoja de cálculo para garantizar el correcto funcionamiento de todas las soluciones.
- Al utilizar fórmulas o VBA, ajuste las referencias de columna y rango para que coincidan con la estructura real de su hoja y así evitar errores de índice o referencia.
- Para lograr un mejor rendimiento con conjuntos de datos muy grandes, Kutools o el filtro integrado suelen ofrecer resultados más rápidos y son menos propensos a superar los límites de memoria o cálculo que las fórmulas matriciales extensas.
- Si encuentra celdas en blanco inesperadas o registros ausentes en la salida, asegúrese de que sus condiciones de fecha, su rango de entrada y los formatos de datos estén configurados exactamente como se previó.
Demostración: extraiga todos los registros comprendidos entre dos fechas mediante Kutools para Excel
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos


