Macro para filtrar y encontrar datos

Tengo una serie temporal de datos con el siguiente arreglo:

A               B           C           D

Fecha      Hora      Clave    Dato

1-ene        1            AA        XXX.XX

......

1-ene       24          AA        XXX.XX

1-ene       1            AB        XXX.XX

1-ene      24           AB       XXX.XX

.....

1-ene       24        AZ         XXX.XX

2-ene          1       AA         XXX.XX

La fecha y la hora son consecutivos a lo largo de 24 hrs; desde la hora 1 hasta la hora 24, durante el día 1. Después de ello, la clave en celda C cambia y los datos siguientes continúan con el día 1 desde la hora 1 hasta la hora 24. Después que se tiene el último registro de la clave, la serie continúa con el segundo día y desde la hora 1 hasta la 24 otra vez. Requiero encontrar los datos máximos y mínimos en los intervalos entre las horas 8 y 17, entre los días 1 al 31 para cada una de las claves en col C. Lo hago con una fórmula matricial condicional =min(si(argumento)) pero con >10k registros, el uso de memoria y tiempo de respuesta es exagerado. ¿Me ayudan con un macro?

Respuesta
1

Puedes hacerlo con una Tabla Dinámica.

Lo probé con 15 mil registros, contiene más de 600 claves y las consultas son inmediatas.

Para crear la tabla dinámica, realiza los siguientes pasos:

  1. Selecciona todos tus datos desde A1 hasta D y la última fila con datos.
  2. Entra al menú Insertar, Tabla dinámica, Tabla dinámica

  3. En la ventana Crear tabla dinámica, selecciona la opción Hoja de cálculo existente; y selecciona la celda F1, por ejemplo, y presiona Aceptar

  4. En la ventana Lista de campos, arrastra el campo clave a Rótulos de fila, arrastra el campo clave a Filtro de informe, arrastra 2 veces el valor a Valores, tal como se muestra en la siguiente imagen:

  5. En el filtro de Hora, selecciona la flecha, marca la casilla "Seleccionar varos elementos", marca solamente las horas de 8 a 17, presiona Aceptar

  6. Ahora, en el área Valores, presiona la fecha del primer "Suma de valor", en las opciones selecciona "Configuración de campo de valor..."

  7. En la venta de Configuración, en Resumir por, selecciona Máx y presiona Aceptar

  8. Repite los pasos 6 y 7 con el campo "Suma de valor2"; y en resumir por selecciona Mín.
  9. Listo, ya tienes la lista por clave, del 1 al 31, de 8 a 17, el máximo y el mínimo:


Para actualizar la tabla dinámica, después de cambiar los datos en las columnas A a D, solamente presiona click derecho sobre cualquier parte de la tabla y selecciona la opción Actualizar.


'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

¡Gracias! Tenías toda la razón... y se resuelva con tanta lógica que sin tu ayuda no habría estado perdido bastante tiempo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas