Buscar max y min fecha en un rango supeditado a otras condiciones

29/04/2008 - 21:45 por Hugo Miguel Angel | Informe spam
Hola, gracias por las respuestas que pudieran surgir. Créanme que he estado
varios días enteros intentando hacer lo que necesito, y me he buscado por
todas partes algo parecido pero no lo encuentro aún. Aquí vamos.

Tengo una tabla con varias columnas

A B C D ...
FECHA ELEMENTO REALIZADO HORAS
1 01-01-08 Sensor SI 8
2 04-02-08 Sensor SI 4
3 05-02-08 Transmisor SI 5
4 06-03-08 Sensor NO 0
5 17-04-08 Transmisor NO 0
6 22-04-08 Sensor SI 6
7 23-04-08 Sensor NO 0
8 24-04-08 Transmisor SI 5
9 25-04-08 Transmisor SI 4
10 26-04-08 Sensor SI 3
... etc.

La idea es calcular el tiempo medio entre intervenciones para Sensor y
Transmisor

Ha saber, las fechas para Sensor con Realizada = "SI" serían.
01-01-08 (Minima Fecha)
04-02-08
22-04-08
26-04-08 (Maxima Fecha)

Tiempo transcurrido = 116 días / 4 intervenciones = 29 días promedio.

Para Transmisor serían con Realizada = "SI" serían.
05-02-08 (Minima Fecha)
24-04-08
25-04-08 (Maxima Fecha)

Tiempo transcurrido = 80 días / 3 intervenciones = 26,7 días promedio.

La lista es bastante larga, serán unos 1000 registros y son varias más cosas
que Sensores y Transmisores (unos 14 elementos).

Lo intenté con sumaproducto, que porcierto, la he usado bastante, pero no se
me ocurre (sin usar VB) como lograr este cálculo.

Si a alguien se le ocurre (aunque sea una Function en VB) estaré muy
agradecido.

Por cierto he leido la página:
http://www.xldynamic.com/source/xld...ODUCT.html
Ya la he consultado y no tengo problemas con el idioma, lo cierto es que no
hayé algo parecido y lo que no entendí, no lo pude asociar a mi caso, pero si
alguien ve una semejanza estoy todo oídos (u ojos en este caso).

Es excelente este foro, he aprendido un cerro de cosas, asi que aprovecho de
agradecer a todos y cada uno que se dan tiempo de aportar.

Saludos,
Muchisimas Gracias,
Visitame en:
www.mensajerosdeluz.com

Preguntas similare

Leer las respuestas

#1 Xavier Budet Graco
29/04/2008 - 22:57 | Informe spam
Hola Hugo, tal como tienes la tabla es fácil implementar las fórmulas de Base de Datos.
Con ½MAX consigues la fecha más alta y con ½MIN la más baja. Si las restas te dará el numero de días y si las divides por las coincidencias el número que buscas.

Las coincidencias pueden encontrarse con:
=SUMAPRODUCTO(--(B2:B11=H2);--(C2:C11=I2))

En H2 he situado la referencia para "Elemento" y en I2 la de "Realizado". Yo utilizo el ";" como separador.

Saludos,

Xavier

Quitar MAC para contestar. Gracias.



"Hugo Miguel Angel" escribió en el mensaje news:
Hola, gracias por las respuestas que pudieran surgir. Créanme que he estado
varios días enteros intentando hacer lo que necesito, y me he buscado por
todas partes algo parecido pero no lo encuentro aún. Aquí vamos.

Tengo una tabla con varias columnas

A B C D ...
FECHA ELEMENTO REALIZADO HORAS
1 01-01-08 Sensor SI 8
2 04-02-08 Sensor SI 4
3 05-02-08 Transmisor SI 5
4 06-03-08 Sensor NO 0
5 17-04-08 Transmisor NO 0
6 22-04-08 Sensor SI 6
7 23-04-08 Sensor NO 0
8 24-04-08 Transmisor SI 5
9 25-04-08 Transmisor SI 4
10 26-04-08 Sensor SI 3
... etc.

La idea es calcular el tiempo medio entre intervenciones para Sensor y
Transmisor

Ha saber, las fechas para Sensor con Realizada = "SI" serían.
01-01-08 (Minima Fecha)
04-02-08
22-04-08
26-04-08 (Maxima Fecha)

Tiempo transcurrido = 116 días / 4 intervenciones = 29 días promedio.

Para Transmisor serían con Realizada = "SI" serían.
05-02-08 (Minima Fecha)
24-04-08
25-04-08 (Maxima Fecha)

Tiempo transcurrido = 80 días / 3 intervenciones = 26,7 días promedio.

La lista es bastante larga, serán unos 1000 registros y son varias más cosas
que Sensores y Transmisores (unos 14 elementos).

Lo intenté con sumaproducto, que porcierto, la he usado bastante, pero no se
me ocurre (sin usar VB) como lograr este cálculo.

Si a alguien se le ocurre (aunque sea una Function en VB) estaré muy
agradecido.

Por cierto he leido la página:
http://www.xldynamic.com/source/xld...ODUCT.html
Ya la he consultado y no tengo problemas con el idioma, lo cierto es que no
hayé algo parecido y lo que no entendí, no lo pude asociar a mi caso, pero si
alguien ve una semejanza estoy todo oídos (u ojos en este caso).

Es excelente este foro, he aprendido un cerro de cosas, asi que aprovecho de
agradecer a todos y cada uno que se dan tiempo de aportar.

Saludos,
Muchisimas Gracias,
Visitame en:
www.mensajerosdeluz.com
Respuesta Responder a este mensaje
#2 Héctor Miguel
30/04/2008 - 02:52 | Informe spam
hola, Hugo !

suponiendo que los datos de la "tabla" que usas como ejemplo tiene los titulos en la fila 1
y que los datos (importantes) fecha, elemento y realizado en las columnas A:D en el rango B2:C11

y asumiendo que dispones de las columnas F en adelante, distribuye una tabla de resultados +/- como sigue:
[F1:J1] para los titulos (Elemento, Max, Min, Veces, Promedio)
[F2:F_n] para los elementos (sensor, transmisor, etc.)

inicia con las siguientes formulas para el rango G2:J2
[G2] =sumaproducto(max(($b$2:$b$11ò)*($c$2:$c$11="si")*a$2:$a$11))
[H2] =min(si($b$2:$b$11ò,si($c$2:$c$11="si",$a$2:$a$11)))
[I2] =sumaproducto(--($b$2:$b$11ò),--($c$2:$c$11="si"))
[J2] =(g2-h2)/i2

despues copias/arrastras las formulas del rango G2:J2 hasta n_filas/elementos mas abajo

OJO: la formula en H2 es matricial y al introducirla/editarla deber confirmar con ctrl+shift+enter, NO por solo enter
y... mi sistema usa como separador de argumentos a la coma ',' NO al punto y coma ';' :D

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ la consulta original __
Tengo una tabla con varias columnas
A B C D ...
FECHA ELEMENTO REALIZADO HORAS
1 01-01-08 Sensor SI 8
2 04-02-08 Sensor SI 4
3 05-02-08 Transmisor SI 5
4 06-03-08 Sensor NO 0
5 17-04-08 Transmisor NO 0
6 22-04-08 Sensor SI 6
7 23-04-08 Sensor NO 0
8 24-04-08 Transmisor SI 5
9 25-04-08 Transmisor SI 4
10 26-04-08 Sensor SI 3
... etc.
La idea es calcular el tiempo medio entre intervenciones para Sensor y Transmisor
Ha saber, las fechas para Sensor con Realizada = "SI" serian.
01-01-08 (Minima Fecha)
04-02-08
22-04-08
26-04-08 (Maxima Fecha)
Tiempo transcurrido = 116 dias / 4 intervenciones = 29 dias promedio.
Para Transmisor serian con Realizada = "SI" serian.
05-02-08 (Minima Fecha)
24-04-08
25-04-08 (Maxima Fecha)
Tiempo transcurrido = 80 dias / 3 intervenciones = 26,7 dias promedio.

La lista es bastante larga, seran unos 1000 registros y son varias mas cosas que Sensores y Transmisores (unos 14 elementos)...
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida