Skip to main content

Kutools para Office — Una Suite. Cinco Herramientas. Haz Más.

¿Cómo encontrar el valor máximo o mínimo en un rango de fechas específico (entre dos fechas) en Excel?

Author Siluvia Last modified

En el análisis de datos diario, especialmente al trabajar con registros transaccionales o datos de series temporales, es posible que a menudo necesites identificar el valor más alto o más bajo que ocurre dentro de un período de tiempo específico. Por ejemplo, imagina que tienes una tabla como se muestra en la captura de pantalla a continuación, y quieres determinar el valor máximo o mínimo entre dos fechas, como del 01/07/2016 al 01/12/2016. Esta es una necesidad común al generar informes sobre períodos específicos, comparar el rendimiento mensual o hacer un seguimiento de los picos y valles en los datos. Este artículo te guiará a través de varias soluciones prácticas utilizando fórmulas de Excel, código VBA y funciones integradas, ayudándote a extraer rápidamente y con precisión el valor que necesitas.

A screenshot showing an Excel table with dates and values to calculate max or min in a date range


Encuentra el valor máximo o mínimo en un rango de fechas específico con fórmulas matriciales

Un enfoque sencillo es usar fórmulas matriciales en Excel, que te permiten calcular valores basados en varios criterios, como verificar si las fechas están dentro de tu rango especificado. Este método es adecuado para datos de tamaño moderado y para usuarios cómodos ingresando fórmulas.

Supongamos que tu hoja de cálculo lista las fechas en la columna A (A5:A17) y los valores correspondientes en la columna B (B5:B17), con las fechas de inicio y fin para el rango ingresadas en las celdas B1 y D1, respectivamente.

1. Selecciona una celda en blanco donde deseas mostrar el resultado (por ejemplo, E2).

Encontrar el valor máximo entre el 01/07/2016 y el 01/12/2016:

2. Ingresa la siguiente fórmula en la celda seleccionada. Después de editar, presiona Ctrl + Shift + Enter (no solo Enter), para que Excel la reconozca como una fórmula matricial:

=MAX(IF((A5:A17<=$D$1)*(A5:A17>=$B$1),B5:B17,""))

Esta fórmula verifica qué fechas caen entre tus fechas de inicio y fin, y solo considera los valores de las filas coincidentes para calcular el máximo.

A screenshot showing the result of finding the max value within a date range using an array formula in Excel

Encontrar el valor mínimo entre el 01/07/2016 y el 01/12/2016:

3. Para encontrar el mínimo dentro del mismo rango de fechas, utiliza un enfoque similar. Ingresa la siguiente fórmula (y nuevamente, confirma con Ctrl + Shift + Enter):

=MIN(IF((A5:A17<=$D$1)*(A5:A17>=$B$1), B5:B17, ""))

Esta fórmula funciona de la misma manera, pero devuelve el valor mínimo que coincide con tus criterios de fecha.

A screenshot showing the result of finding the min value within a date range using an array formula in Excel

Notas:

  • En los ejemplos anteriores, A5:A17 es el rango que contiene tus fechas, $B$1 es la fecha de inicio, $D$1 es la fecha de fin y B5:B17 es el rango de valores que deseas evaluar. Ajusta estas referencias para que coincidan con tus datos reales.
  • Asegúrate de que los dos rangos que refieras tengan la misma longitud; de lo contrario, la fórmula podría generar errores.
  • Verifica que tus entradas de fecha estén formateadas como fechas, no como texto, o la fórmula podría no funcionar según lo previsto.

Consejos:

  • Si estás trabajando con Office 365 o Excel 2021 y versiones posteriores, puedes usar las funciones MAXIFS y MINIFS para cálculos más simples basados en criterios.
  • Si la fórmula devuelve un 0 o está en blanco inesperadamente, verifica que tu rango de fechas se superponga con las fechas disponibles en los datos y busca cualquier celda en blanco inadvertida.

Código VBA: Encuentra automáticamente el valor máximo o mínimo en un rango de fechas específico

Para los usuarios que manejan grandes conjuntos de datos, necesitan repetir esta tarea a menudo o buscan automatización en la generación de informes, una solución de macro VBA puede encontrar eficientemente el valor máximo o mínimo dentro de un rango de fechas elegido. Con VBA, puedes pedirle al usuario que seleccione los rangos relevantes y establezca las fechas cada vez, lo que lo hace ideal para aplicaciones dinámicas o integración avanzada de flujo de trabajo.

1. Ve a Desarrollador > Visual Basic. En la ventana del editor de VBA que aparece, haz clic en Insertar > Módulo, y luego copia y pega el siguiente código en el nuevo módulo:

Sub FindMaxMinInDateRange_Robust()
    Dim ws As Worksheet
    Dim dateRange As Range, valueRange As Range
    Dim startCell As Range, endCell As Range
    Dim startDate As Date, endDate As Date
    Dim i As Long
    Dim d As Date, v As Variant
    Dim hasHit As Boolean
    Dim maxV As Double, minV As Double
    Const TITLE As String = "KutoolsforExcel"
    
    On Error GoTo FailFast
    
    Set ws = ActiveSheet
    
    
    Set dateRange = Application.InputBox("Select the DATE range:", TITLE, Type:=8)
    If dateRange Is Nothing Then Exit Sub
    Set valueRange = Application.InputBox("Select the VALUE range (same rows as date range):", TITLE, Type:=8)
    If valueRange Is Nothing Then Exit Sub
    
    If dateRange.Rows.Count <> valueRange.Rows.Count Then
        MsgBox "Date range and value range must have the SAME number of rows.", vbExclamation, TITLE
        Exit Sub
    End If
    
   
    Set startCell = Application.InputBox("Select START date cell:", TITLE, Type:=8)
    If startCell Is Nothing Then Exit Sub
    Set endCell = Application.InputBox("Select END date cell:", TITLE, Type:=8)
    If endCell Is Nothing Then Exit Sub
    
    If Not IsDate(startCell.Value) Or Not IsDate(endCell.Value) Then
        MsgBox "Start/End cell must contain valid dates.", vbExclamation, TITLE
        Exit Sub
    End If
    
    startDate = CDate(startCell.Value)
    endDate = CDate(endCell.Value)
 
    If startDate > endDate Then
        Dim tmp As Date
        tmp = startDate: startDate = endDate: endDate = tmp
    End If
    

    For i = 1 To dateRange.Rows.Count
        If IsDate(dateRange.Cells(i, 1).Value) Then
            d = CDate(dateRange.Cells(i, 1).Value)
            If d >= startDate And d <= endDate Then
                v = valueRange.Cells(i, 1).Value
                If IsNumeric(v) And Not IsEmpty(v) Then
                    If Not hasHit Then
                        maxV = CDbl(v): minV = CDbl(v)
                        hasHit = True
                    Else
                        If CDbl(v) > maxV Then maxV = CDbl(v)
                        If CDbl(v) < minV Then minV = CDbl(v)
                    End If
                End If
            End If
        End If
    Next i
    
    If hasHit Then
        MsgBox "Max value in range: " & maxV & vbCrLf & _
               "Min value in range: " & minV, vbInformation, TITLE
    Else
        MsgBox "No rows matched the date range (or values were non-numeric).", vbExclamation, TITLE
    End If
    Exit Sub

FailFast:
    MsgBox "Something went wrong: " & Err.Description, vbExclamation, TITLE
End Sub

2. Para ejecutar la macro, haz clic en el Run button botón en el editor de VBA (o presiona F5). Sigue las indicaciones para seleccionar los rangos de fecha y valores, e ingresar las fechas de inicio y fin. Los valores máximos y mínimos resultantes para tu intervalo de fechas especificado se mostrarán en un cuadro de diálogo.

Consejos:

  • Asegúrate de que los rangos de fecha y valores seleccionados contengan el mismo número de filas y correspondan directamente entre sí.
  • Este enfoque es especialmente útil para procesar listas extensas o automatizar cálculos repetitivos de máximo/mínimo basados en criterios cambiantes.
  • Si se selecciona un rango vacío o no válido, o si la entrada de fecha no está formateada correctamente, el código puede no producir un resultado válido; verifica tus selecciones antes de ejecutar.

Otros métodos integrados de Excel: Usa Tabla Dinámica para filtrar y mostrar máx/mín por rango de fechas

Si prefieres no usar fórmulas o código, aprovechar la función Tabla Dinámica de Excel ofrece un método interactivo, libre de fórmulas, para filtrar datos por fecha y mostrar valores resumidos como máximo o mínimo. Esta solución es adecuada para usuarios que necesitan explorar datos, generar informes o ajustar fácilmente criterios usando una interfaz gráfica.

1. Selecciona tu tabla (incluyendo tanto las fechas como los valores), luego ve a la pestaña Insertar y haz clic en Tabla Dinámica.

2. En el cuadro de diálogo Crear Tabla Dinámica, elige dónde deseas colocar la Tabla Dinámica y haz clic en Aceptar.

3. En el panel Campos de la Tabla Dinámica, arrastra el campo Fecha al área Filas, y el campo Valores (el que deseas encontrar el máx/mín) al área Valores. Por defecto, mostrará Suma; haz clic en el campo en Valores, elige Configuración del Campo de Valor, y cambia a Máximo o Mínimo según sea necesario.

4. Para filtrar por un rango de fechas específico, haz clic en la lista desplegable en las etiquetas de fila para el campo Fecha, elige Filtros de Fecha > Entre…, luego especifica tus fechas de inicio y fin (por ejemplo, 01/07/2016 al 01/12/2016) y haz clic en Aceptar.

La Tabla Dinámica ahora mostrará el valor máximo o mínimo para cada fecha dentro de tu rango especificado. Si solo necesitas el valor más alto o más bajo en ese rango, puedes filtrar aún más o escanear visualmente el resultado resumido.

Notas:

  • Asegúrate de que todas las celdas en la columna Fecha sean fechas reales (no texto). Los formatos mixtos pueden hacer que los filtros omitan filas.
  • Si los datos de origen cambian, haz clic derecho en la Tabla Dinámica y elige Actualizar para actualizar los resultados.
  • Dependiendo de tu diseño, Excel puede agrupar fechas por mes/trimestre/año. Si es necesario, haz clic derecho en una fecha en la Tabla Dinámica y elige Desagrupar (o Agrupar… para establecer un nivel deseado).
  • Para conjuntos de datos muy grandes, colocar la Tabla Dinámica en una nueva hoja de cálculo puede mejorar la legibilidad y el rendimiento.

Consejos:

  • Agrega un Segmentador para el campo Fecha (Analizar Tabla Dinámica > Insertar Segmentador) para cambiar rangos de forma interactiva.
  • ¿Necesitas un único máx/mín en todo el rango filtrado? Después de filtrar, ordena la columna de Valores o agrega un segundo campo de Valores y cámbialo a Máximo/Mínimo.
  • Combina con un Gráfico Dinámico para obtener un resumen visual que se actualice con tus filtros.

Este método evita la entrada manual de fórmulas y permite una interacción dinámica, ideal para presentaciones o escenarios multiusuario. Para salidas altamente personalizadas o automatización por lotes en muchas hojas, considera los enfoques de fórmula o VBA.


Artículos relacionados:

Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: 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 identificar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda por varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Cree rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Alternar el estado de 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 Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Los15 principales conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | 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 más
Utiliza Kutools en tu idioma preferido: admite inglés, español, alemán, francés, chino y más de40 idiomas adicionales.

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


Office Tab incorpora la interfaz de pestañas en Office y facilita mucho tu trabajo

  • 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 lugar de hacerlo en ventanas separadas.
  • ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!

Todos los complementos de Kutools. Un solo instalador

El paquete Kutools for Office agrupa complementos para Excel, Word, Outlook y PowerPoint junto con Office Tab Pro, ideal para equipos que trabajan en varias aplicaciones de Office.

Excel Word Outlook Tabs PowerPoint
  • Suite todo en uno: complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un solo instalador, una licencia: configuración en minutos (compatible con MSI)
  • Mejor juntos: productividad optimizada en todas las aplicaciones de Office
  • Prueba completa de30 días: sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio: ahorra en comparación con la compra individual de complementos