Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Buscar una fecha en un rango

1,007 views
Skip to first unread message

meteocupi

unread,
Jun 1, 2008, 12:23:00 PM6/1/08
to
Hola,

Estoy estancado y no consigo hacer lo que quiero.
Os cuento:

Tengo una tabla con una estructura similar a esta:

A B C D E F
G
3/5/08 (Combinadas B,C y D) 4/5/08 (Combinadas E,F y G)
Ana 200 1 23 400 5
12
Jorge 250 1 4 1000 1
1
Joaquin 140 2 3 100 1
2

Los tipos de datos a los que se refieren las columnas B,C y D se repiten
durante todos los días en sendas columnas.

Lo que pretendo hacer es que Excel me diga para cada uno de ellos (Ana,
Jorge y Joaquin) en qué día se dio el máximo de cada tipo de dato. Es decir:
¿Qué día Ana consiguió máxima puntuanción (Columnas B y E)? La función
tendría que devolverme: 4/5/08.

Estoy desesperado, no sé cómo plantear la función.

¿Me podéis ayudar?

Joan

Xavier Budet Graco

unread,
Jun 1, 2008, 3:27:05 PM6/1/08
to
Hola "meteocupi", no se acaba de ver donde están las fechas, el enviar un ejemplo con tabuladores no hace posible el ver, casi nunca, lo que se quiere.
¿Donde (en que columnas) hay que buscar? ¿Donde están las fechas? ¿Qué significan "Combinadas..."?

--
Saludos,

Xavier
j.b...@MACcgac.es
Quitar MAC para contestar. Gracias.


"meteocupi" <mete...@discussions.microsoft.com> escribió en el mensaje news:818C6DA6-021B-413A...@microsoft.com...

Héctor Miguel

unread,
Jun 2, 2008, 12:25:45 AM6/2/08
to
hola, Joan !

asumiendo que tienes fechas en la fila 1 en grupos de 3 celdas combinadas (B:D, E:G, H:J, etc.)
y suponiendo que tu rango de fechas fuera (solo para ejemplo) el rango B1:J1
y que tu primer "dato" a rescatar es en la fila 2 -?-

[alguna celda en la fila 2] =indice(b$1:j$1,entero((coincidir(max(b2:j2),b2:j2,0)-1)/3)*3+1)

saludos,
hector.

__ la consulta original __


> Estoy estancado y no consigo hacer lo que quiero. Os cuento:
> Tengo una tabla con una estructura similar a esta:
> A B C D E F G
> 3/5/08 (Combinadas B,C y D) 4/5/08 (Combinadas E,F y G)
> Ana 200 1 23 400 5 12
> Jorge 250 1 4 1000 1 1
> Joaquin 140 2 3 100 1 2
>

> Los tipos de datos a los que se refieren las columnas B,C y D se repiten durante todos los dias en sendas columnas.


> Lo que pretendo hacer es que Excel me diga para cada uno de ellos (Ana, Jorge y Joaquin)

> en que dia se dio el maximo de cada tipo de dato. Es decir:
> Que dia Ana consiguio maxima puntuancion (Columnas B y E)? La funcion tendria que devolverme: 4/5/08.
> ... no se como plantear la funcion...


meteocupi

unread,
Jun 2, 2008, 4:25:01 AM6/2/08
to
Hola Héctor Miguel:

Hola Héctor Miguel,

Muchísimas gracias,

Me ha funcionado a la perfección.

Gracias,

Joan


"Héctor Miguel" escribió:

meteocupi

unread,
Jun 2, 2008, 5:38:00 AM6/2/08
to
Ups,

Me ha surgido un problema. Al implementar la función en mi hoja de cálculo.
Ha funcionado para algunas celdas pero en otras me devuelve una cosa muy rara:

En algunas celdas me da como resultado de la fórmula: "00/01/1900" y no
entiendo qué pasa. No sé porqué en algunas celdas da el resultado correcto y
en otra no.

He usado la fórmula que me dió Héctor Miguel.

Help, plis.

Joan

"meteocupi" escribió:

Héctor Miguel

unread,
Jun 2, 2008, 8:28:15 AM6/2/08
to
hola, Joan !

> Ups, Me ha surgido un problema. Al implementar la funcion en mi hoja de calculo.


> Ha funcionado para algunas celdas pero en otras me devuelve una cosa muy rara:

> En algunas celdas me da como resultado de la formula: "00/01/1900" y no entiendo que pasa.
> No se porque en algunas celdas da el resultado correcto y en otra no...

(probablemente) sera que no en todos los "grupos" tienes celdas combinadas de 3 en 3... "seguidas" ?
revisa/comprueba/modifica/... donde encuentres alguna/s columna/s que "rompan" con esta secuencia -?-

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

>>> asumiendo que tienes fechas en la fila 1 en grupos de 3 celdas combinadas (B:D, E:G, H:J, etc.)
>>> y suponiendo que tu rango de fechas fuera (solo para ejemplo) el rango B1:J1
>>> y que tu primer "dato" a rescatar es en la fila 2 -?-
>>>
>>> [alguna celda en la fila 2] =indice(b$1:j$1,entero((coincidir(max(b2:j2),b2:j2,0)-1)/3)*3+1)
>>>

>>> __ la consulta original __

meteocupi

unread,
Jun 6, 2008, 2:20:01 PM6/6/08
to
Hola Héctor Miguel,

Ya he encontrado porqué me da ese error pero no sé cómo solventarlo.

Te cuento:

Resulta que a lo mejor en la misma fila, pero en otra columna distinta tengo
el mismo valor referido a otra cosa. Es entonces cuando se vuelve loco. Te
pongo un ejemplo:

A B C D E F G H

1 06/05/2008 (A,B,C y D) 07/05/2008 (E,F,G y H)
2 Precip Max Min Insolación Precip Max Min Insolación
3 0 21,8 16,3 9,4 0 28,7 21,4 7,4
4 0 22,5 17,7 - 0 26,4 18,8 -
5 8 29,4 13,7 11,3 0 30,9 14,3 8

Con una tabla como esta cuando le digo que me busque la fecha para la cual
se dió la máxima precipitación (Columnas A y E) me da error, ya que en el
rango de búsqueda que le defino encuentra un valor igual en la columna H
(insolación). En este caso el valor 8 (coindicen A5 y H5).

La función que uso es:

J5=INDICE(A1:H1;(COINCIDIR(MAX(A5;E5);A5:H5;0)))

Cuando no hay ningún valor que coincida con el máximo que busco en la fila
me funciona.

¿Qué puedo hacer?

Joan

"Héctor Miguel" escribió:

Héctor Miguel

unread,
Jun 6, 2008, 4:06:48 PM6/6/08
to
hola, Joan !

si desde un principio hubieras utilizado ejemplos mas "apegados" a TU situacion real... (seguramente)
te habrias ahorrado unos cuantos dias en la obtencion de una propuesta mas... "realista" -?-
(p.e.) ya ves que ana, jorge y juan de la cotona no tienen nada que ver con el arreglo real de tus datos <\°|°/>
y no se trata de "grupos" de celdas combinadas en tres... sino en cuatro (entre otros "detallitos")

suponiendo que SOLO se trata de dos fechas, prueba ahora con la siguiente formula:
[J3] =desref($a$1;;(coincidir(max(a3;e3);subtotales(9;desref(a3;;{0\4})))-1)*4)
y luego la copias/arrstras/... hasta la celda [J5]

ya se, que no te va a servir para TODAS las variantes que podrias necesitar encontrar -?-
pero... mientras te guardes "detalles en el tintero"... (como que tampoco tiene caso desgastarse en casos hipoteticos) ;)

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

__ la consulta original __
> Ya he encontrado porque me da ese error pero no se como solventarlo. Te cuento:


> Resulta que a lo mejor en la misma fila, pero en otra columna distinta tengo el mismo valor referido a otra cosa.
> Es entonces cuando se vuelve loco. Te pongo un ejemplo:
> A B C D E F G H
>
> 1 06/05/2008 (A,B,C y D) 07/05/2008 (E,F,G y H)

> 2 Precip Max Min Insolacion Precip Max Min Insolacion


> 3 0 21,8 16,3 9,4 0 28,7 21,4 7,4
> 4 0 22,5 17,7 - 0 26,4 18,8 -
> 5 8 29,4 13,7 11,3 0 30,9 14,3 8

> Con una tabla como esta cuando le digo que me busque la fecha para la cual se dio la maxima precipitacion (Columnas A y E)
> me da error, ya que en el rango de busqueda que le defino encuentra un valor igual en la columna H (insolacion).


> En este caso el valor 8 (coindicen A5 y H5).

> La funcion que uso es: J5=INDICE(A1:H1;(COINCIDIR(MAX(A5;E5);A5:H5;0)))
> Cuando no hay ningun valor que coincida con el maximo que busco en la fila me funciona.
> Que puedo hacer?

__ la consulta previa __


>>> Ups, Me ha surgido un problema. Al implementar la funcion en mi hoja de calculo.
>>> Ha funcionado para algunas celdas pero en otras me devuelve una cosa muy rara:
>>> En algunas celdas me da como resultado de la formula: "00/01/1900" y no entiendo que pasa.
>>> No se porque en algunas celdas da el resultado correcto y en otra no...
>>
>> (probablemente) sera que no en todos los "grupos" tienes celdas combinadas de 3 en 3... "seguidas" ?
>> revisa/comprueba/modifica/... donde encuentres alguna/s columna/s que "rompan" con esta secuencia -?-

__ las consultas anteriores __

meteocupi

unread,
Jun 7, 2008, 3:23:00 PM6/7/08
to
Hola Héctor Miguel,

Tienes toda la razón del mundo. Te pido mis más sinceras disculpas. Mi
desconocimiento me llevó a pensar que quizás poniendo un ejemplo más sencillo
de lo que quería hacer, me resultaría fácil adaptarlo luego a mi tabla. Y
está claro que no. Lo siento.

Mi hoja tiene 31 días que siguen la estructura que te expliqué en el post
anterior. La primera fila (la de las fechas que agrupan 4 celdas) es la D435
y los datos empiezan en la celda D437. Lo que quiero es que la fórmula me dé
como resultado el día para el que se dió el máximo de (D437, H437, L437 ...
DT437)

Mil gracias y disculpas una vez más.

Joan

"Héctor Miguel" escribió:

Héctor Miguel

unread,
Jun 7, 2008, 5:13:15 PM6/7/08
to
hola, Joan !

en esta parte, tienes razon:
> ... poniendo un ejemplo mas sencillo... me resultaria facil adaptarlo luego a mi tabla.
=> le toca a quien consulta adaptar las propuestas si la exposicion ha sido "hipotetica"

> Mi hoja tiene 31 dias que siguen la estructura... en el post anterior.


> La primera fila (la de las fechas que agrupan 4 celdas) es la D435 y los datos empiezan en la celda D437.

> Lo que quiero es que la formula me de como resultado el dia para el que se dio el maximo de (D437, H437, L437 ... DT437)

con estos detalles (ahora si) se puede (re)construir el modelo con el arreglo de datos que se ha de resolver ;)
suponiendo que tienes libres a partir de la columna DY... podrias utilizar las siguientes formulas (por lo pronto) "matriciales"
(ya sabes, de esas que al introducirlas/editarlas se confiman pulsando ctrl+shift+enter, NO con un simple enter)

para obtener el maximo de las columnas D,H,L...DT precipitacion)
[DY437] =max(subtotales(9;desref(d437;;(fila(indirecto("1:31"))-1)*4)))

para obtener la fecha (fila 435) correspondiente al maximo anterior:
[DZ437] =desref($d$435;;(coincidir(dy437;subtotales(9;desref(d437;;(fila(indirecto("1:31"))-1)*4)),0)-1)*4)

luego copias/arrstras n_filas abajo las formuas del rango [DY437:DZ437]

meteocupi

unread,
Jun 8, 2008, 1:50:01 AM6/8/08
to
Hola Héctor Miguel,

No me funciona. Me devuelve para todas las filas el resultado "31/05/08"

Joan

"Héctor Miguel" escribió:

Héctor Miguel

unread,
Jun 8, 2008, 2:09:24 AM6/8/08
to
hol, Joan !

> No me funciona. Me devuelve para todas las filas el resultado "31/05/08"

=> revisa esta parte del mensaje anterior (las "dizque" instrucciones para entrar las formulas)...

">> ... podrias utilizar las siguientes formulas (por lo pronto) "matriciales"

">> (... de esas que al introducirlas/editarlas se confiman pulsando ctrl+shift+enter, NO con un simple enter)"

si cualquier duda... comentas ?
saludos,
hector.

p.d. si quieres un ejemplo con este metodo "funcionando"...
a que direccion te lo hago llegar ?


meteocupi

unread,
Jun 9, 2008, 4:11:00 AM6/9/08
to
Hola Héctor Miguel,

Si me puedes mandar el ejemplo que funciona te lo agradeceré. Mi dirección
es: joane...@hotmail.com Muchas gracias.

Lo que me pasa es que al confirmar la fórmula (ctrl+shift+enter) me dice que
hay un error y me la cambia por esta otra fórmula:

=DESREF($D$435;;(COINCIDIR(DY437;SUBTOTALES(9;DESREF(D437;;(FILA(INDIRECTO("1:31"))-1)*4))*0)-1)*4)

Donde cambia la "," de delante del 0 por un "*".

Siento los quebraderos de cabeza y las molestias que te estoy ocasionando.
Muchas gracias por tu interés.

Joan


"Héctor Miguel" escribió:

0 new messages