Valores mas altos en hojas diferentes

29/09/2008 - 22:03 por Silvia Gutierrez | Informe spam
Hola compañeros les queria lanzar la siguiente pregunta, tengo instalado
office 2007 y tengo un libro con 4 hojas (2006,2007,2008, TOTALES),y lo que
me gustaría es conseguir sacar los tres valores mas altos del rango E2:E21 de
entre todas las hojas (2006,2007,2008) y ponerlos en la celda E2 de la Hoja
TOTALES junto con su valor correspondiente de la celda D, os pongo un ejemplo
porque creo que no me explique del todo bien. Tengo las tres hojas a comparar
y de la columna E de todas ellas el valor mas alto son el 21 del la hoja 2007
el valor 14 de la 2007 y el valor 13 de la hoja 2008. De ahi que el resultado
E2, E3, E4 en la hoja de totales del ejemplo sea ese y que en la hoja totales
el valor de D2,D3 y D4 es el mismo valor que en la hoja 2007 y 2008 (E11!
en la hoja 2007 es el valor mas alto copio en la hoja de totales D2 el valor
de D11=4) ,(E7 en la hoja 2007 es el segundo valor mas alto copio en la
hoja de totales D3 el valor de D7) y (E7 en la hoja 2008 es el tercer
valor mas alto copio en la hoja de totales D4
el valor de D7=8).

Espero que con los ejemplos mi explicacion sea algo mas clara, por
adelantado muchas gracias a todos


Hoja 2006
Columna D Columna E Columna F
2 8 4 5
3 14 4 5
4 8 5 5
5 8 4 5
6 7 4 5
7 8 12 5
8 25 4 5
9 8 4 5
10 8 4 5
11 4 11 5
12 8 4 5
13 1 4 5
14 8 4 5
15 8 4 5
16 7 4 5
17 8 8 5
18 7 4 5
19 8 4 5
20 8 4 5
21 8 4 5



Hoja 2007

Columna D Columna E Columna F
2 8 4 5
3 14 4 5
4 8 5 5
5 8 4 5
6 7 4 5
7 10 14 5
8 25 4 5
9 8 4 5
10 8 4 5
11 4 21 5
12 8 4 5
13 1 4 5
14 8 4 5
15 8 4 5
16 7 4 5
17 8 8 5
18 7 4 5
19 8 4 5
20 8 4 5
21 8 4 5






Hoja 2008
Columna D Columna E Columna F
2 8 4 5
3 14 4 5
4 8 5 5
5 8 4 5
6 7 4 5
7 8 13 5
8 25 4 5
9 8 4 5
10 8 4 5
11 4 11 5
12 8 4 5
13 1 4 5
14 8 4 5
15 8 4 5
16 7 4 5
17 8 8 5
18 7 4 5
19 8 4 5
20 8 4 5
21 8 4 5




Hoja TOTALES
Columna D Columna E
2 4 21
3 10 14
4 8 13

Preguntas similare

Leer las respuestas

#1 Servando
30/09/2008 - 00:45 | Informe spam
Hola Silvia:

En la hoja de TOTALES, copia y pega lo siguiente
=K.ESIMO.MAYOR('2006:2008'!D$2:D$25,1)
=K.ESIMO.MAYOR('2006:2008'!D$2:D$25,2)
=K.ESIMO.MAYOR('2006:2008'!D$2:D$25,3)

La anterior te da los 3 numeros mas grandes de la columna D de 2006 a 2008.
Ahora, para obtener lo mismo pero para las columnas E y F, simplemente
copia/arrastra las formulas hasta la columna F.

Otro detalle, el rango de datos que yo estoy manejando es desde D2 hasta
D25, si tu rango es otro, simplemente cambialo.


Por favor, retroalimentanos y dinos si esto te fue de utilidad.

Saludos
Servando Villalon
Respuesta Responder a este mensaje
#2 Servando
30/09/2008 - 00:51 | Informe spam
Si lo que quieres el sacar el valor mas alto sin importar la columna,
entonces es asi:
=K.ESIMO.MAYOR('2006:2008'!D$2:F$25,1)
=K.ESIMO.MAYOR('2006:2008'!D$2:F$25,2)
=K.ESIMO.MAYOR('2006:2008'!D$2:F$25,3)

Esto te dara los 3 valores más altos de las hojas 2006 a 2008 y en el rango
D2:F25, como vezr, aqui no importa la columna.

Por favor, retroalimentanos y dinos si esto te fue de utilidad.

Saludos
Servando Villalon
Respuesta Responder a este mensaje
#3 Héctor Miguel
30/09/2008 - 02:14 | Informe spam
hola, chicos !

Servando escribio en el mensaje ...
Si lo que quieres el sacar el valor mas alto sin importar la columna, entonces es asi:
=K.ESIMO.MAYOR('2006:2008'!D$2:F$25,1)
=K.ESIMO.MAYOR('2006:2008'!D$2:F$25,2)
=K.ESIMO.MAYOR('2006:2008'!D$2:F$25,3)
Esto te dara los 3 valores mas altos de las hojas 2006 a 2008 y en el rango D2:F25 ...



de acuerdo con el resumen que expone Silvia: ...
Hoja TOTALES
Columna D Columna E
2 4 21
3 10 14
4 8 13



supongo que para la columna D quiso decir que necesita obtener: 25, 14 y 10
pero como el 25 esta en las 3 hojas, obtendra tres veces 25 (como k.esimo.mayor 1, 2 y 3) -???-

saludos,
hector.
Respuesta Responder a este mensaje
#4 Héctor Miguel
30/09/2008 - 06:28 | Informe spam
hola, Silvia !

... un libro con 4 hojas (2006,2007,2008, TOTALES)... conseguir... los tres valores mas altos del rango E2:E21 de entre todas las hojas
... y ponerlos en la celda E2 de la Hoja TOTALES junto con su valor correspondiente de la celda D...ejemplo (...)
... el valor mas alto son el 21 de la hoja 2007 el... 14 de la 2007 y el... 13 de la hoja 2008.
De ahi que el resultado E2, E3, E4 en la hoja de totales del ejemplo... y que en la hoja totales ... D2,D3 y D4 es
... D2 el valor de D11=4)... D3 el valor de D7) y... D4 el valor de D7=8)...



1) para obtener los 3 valores mas altos utiliza la formula propuesta por Servando...
"En la hoja de TOTALES, copia y pega lo siguiente"
[E2] "=K.ESIMO.MAYOR('2006:2008'!D$2:D$21,1)"
[E3] "=K.ESIMO.MAYOR('2006:2008'!D$2:D$21,2)"
[E4] "=K.ESIMO.MAYOR('2006:2008'!D$2:D$21,3)"

2) para obtener el valor "correspondiente" de una columna a la izquierda de los tres mas altos obtenidos...
se requiere de una formula matricial (ya sabes, de esas que al introducirlas/editarlas se confirman por ctrl + shift + enter)
el objetivo de la formula es conocer en cual de las hojas (nombre) se encuentra cada uno de esos valores
y aunque podrias hacerlo todo en una sola formula, esta seria "espantosamente kilometrica" (y mas "consume-recursos")

3) el procedimiento podria tomar ventaja si escribes los nombres de las hojas en un rango y le asignas un nombre
(p.e. en la hoja totales, escribe en el rango F2:F4 los nombres de las hojas (2006, 2007 y 2008) y lo nombras nHojas)
voy a suponer que tienes libre la columna C, y a partir de C2 obtienes la hoja donde se encuentra el valor de E2 (punto anterior)

4) esta seria la formula "matricial":
[C2] =indice(nhojas,coincidir(verdadero,contar.si(indirecto("'"&nhojas&"'!e2:e21"),e2)>0,0))

5) esta formula ya no requiere ser matricial:
[D2] =indice(indirecto("'"&c2&"'!d2:d21"),coincidir(e2,indirecto("'"&c2&"'!e2:e21"),0))

solo recuerda confirmar si "mi" separador de argumentos (coma) es el mismo en tu sistema :D

saludos,
hector.

p.d. como recomendacion general, se debe procurar que los calculos se efectuen de izquierda a derecha y de arriba a abajo
es decir, no utilices (p.e. en la columna A) formulas que hagan referencia a columnas "posteriores" (B, C, D, etc.)
esto "obliga" a que excel realice dobles/triples/... (re)calculos cuando se modifican las referencias "forward" (igual para las filas)
Respuesta Responder a este mensaje
#5 Silvia Gutierrez
30/09/2008 - 20:18 | Informe spam
Hola compañeros, muchas gracias por vuestra coloboracion me fueron de gran
ayuda.
Con respecto a vuestras dos ultimas formulas
4) esta seria la formula "matricial":
[C2] =indice(nhojas,coincidir(verdadero,contar.si(indirecto("'"&nhojas&"'!e2:e21"),e2)>0,0))

5) esta formula ya no requiere ser matricial:
[D2] =indice(indirecto("'"&c2&"'!d2:d21"),coincidir(e2,indirecto("'"&c2&"'!e2:e21"),0))


si quisiera hacer lo mismo pero utilizando una misma hoja, es decir el
rango buscar los tres valores mas altos y buscar su valor correspondiente en
la misma fila pero en en la columna D, pero en este caso solo buscare en la
hoja actual que tengo.

Por adelantado muchas gracias
"Héctor Miguel" wrote:

hola, Silvia !

> ... un libro con 4 hojas (2006,2007,2008, TOTALES)... conseguir... los tres valores mas altos del rango E2:E21 de entre todas las hojas
> ... y ponerlos en la celda E2 de la Hoja TOTALES junto con su valor correspondiente de la celda D...ejemplo (...)
> ... el valor mas alto son el 21 de la hoja 2007 el... 14 de la 2007 y el... 13 de la hoja 2008.
> De ahi que el resultado E2, E3, E4 en la hoja de totales del ejemplo... y que en la hoja totales ... D2,D3 y D4 es
> ... D2 el valor de D11=4)... D3 el valor de D7) y... D4 el valor de D7=8)...

1) para obtener los 3 valores mas altos utiliza la formula propuesta por Servando...
"En la hoja de TOTALES, copia y pega lo siguiente"
[E2] "=K.ESIMO.MAYOR('2006:2008'!D$2:D$21,1)"
[E3] "=K.ESIMO.MAYOR('2006:2008'!D$2:D$21,2)"
[E4] "=K.ESIMO.MAYOR('2006:2008'!D$2:D$21,3)"

2) para obtener el valor "correspondiente" de una columna a la izquierda de los tres mas altos obtenidos...
se requiere de una formula matricial (ya sabes, de esas que al introducirlas/editarlas se confirman por ctrl + shift + enter)
el objetivo de la formula es conocer en cual de las hojas (nombre) se encuentra cada uno de esos valores
y aunque podrias hacerlo todo en una sola formula, esta seria "espantosamente kilometrica" (y mas "consume-recursos")

3) el procedimiento podria tomar ventaja si escribes los nombres de las hojas en un rango y le asignas un nombre
(p.e. en la hoja totales, escribe en el rango F2:F4 los nombres de las hojas (2006, 2007 y 2008) y lo nombras nHojas)
voy a suponer que tienes libre la columna C, y a partir de C2 obtienes la hoja donde se encuentra el valor de E2 (punto anterior)

4) esta seria la formula "matricial":
[C2] =indice(nhojas,coincidir(verdadero,contar.si(indirecto("'"&nhojas&"'!e2:e21"),e2)>0,0))

5) esta formula ya no requiere ser matricial:
[D2] =indice(indirecto("'"&c2&"'!d2:d21"),coincidir(e2,indirecto("'"&c2&"'!e2:e21"),0))

solo recuerda confirmar si "mi" separador de argumentos (coma) es el mismo en tu sistema :D

saludos,
hector.

p.d. como recomendacion general, se debe procurar que los calculos se efectuen de izquierda a derecha y de arriba a abajo
es decir, no utilices (p.e. en la columna A) formulas que hagan referencia a columnas "posteriores" (B, C, D, etc.)
esto "obliga" a que excel realice dobles/triples/... (re)calculos cuando se modifican las referencias "forward" (igual para las filas)



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida