FUNCION SGLOBAL HELP-ME

09/03/2007 - 01:23 por Orfao | Informe spam
La formula que me dio Hector Miguel no funciona con mis datos
cual es mi error ????

=+SUMA(H122:H136*SUBTOTALES(9;DESREF(M!H21;SI(ESNUMERO(COINCIDIR(G122:G136;M!$C$22:$C$860;0));COINCIDIR(G122:G136;M!$C$22:$C$860;0));)))
lo introduzco como matriz y nada. Por que?


H22:H136 lo debo cambiar por "H"&(A10-1)*15+2&":H"&A10*15+1
igualmente tengo que hacer cambios en G122:G136
y en M!$C$22:$C$860

GRACIAS POR LA AYUDA EN EL ENTERIOR POST TENGO ALGUNA EXPLICACION

Me alimento del conocimiento de todos

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
09/03/2007 - 04:32 | Informe spam
hola, moises ???

La formula... no funciona con mis datos, cual es mi error ????
=+SUMA(H122:H136*SUBTOTALES(9;DESREF(M!H21;SI(ESNUMERO(COINCIDIR(G122:G136;M!$C$22:$C$860;0));COINCIDIR(G122:G136;M!$C$22:$C$860;0));)))
lo introduzco como matriz y nada. Por que?
H22:H136 lo debo cambiar por "H"&(A10-1)*15+2&":H"&A10*15+1
igualmente tengo que hacer cambios en G122:G136
y en M!$C$22:$C$860



1) para poder usar referencias 'indirectas' utiizando caracteres en lugar de los 'rangos en si'...
es necesario incluirlos -precisamente- en una funcion indirecto("h"&(a10*15+2&":h"& etc. etc. etc.

2) segun se desprende de los datos en tus anteriores consultas, tus tablas estan +/- ordenadas a cada 15 filas -?-
la primera desde la fila 2 a la 16, la segunda desde la fila 17 a la 31, la tercera desde la fila 32 a la 46 [y asi sucesivamente]
por lo que el rango H122:H136 es 'derivado' de que en la celda 'A10' tienes el valor de 9 [o sea, se buscara en la novena tabla] -?-

3) si lo anterior es acertado... prueba con otra funcion desref(...) donde vayan tus referencias 'cambiantes' +/- como sigue:
a) para el caso de H122:H136... cambia en la formula:
de: -> SUMA(H122:H136
a: -> suma(desref($h$1;a10*15-14;;15)
b) para los casos de G122:G136... usa el mismo procedimiento/criterio/... y cambia en la formula:
de: -> COINCIDIR(G122:G136
a: -> coincidir(desref($g$1;a10*15-14;;15)
c) para el caso de M!$C$22:$C$860...
->aqui no has comentado cuales serian los parametros -???-

4) la formula seguira siendo de entrada matricial [ya sabes ctrl+mayus+enter] :D

5) tu 'otra' funcion personalizada [sglobal3]... -como que- hay que darle una estudiadita mas a fondo :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Orfao
12/03/2007 - 03:16 | Informe spam
gracias miguel funciona bien inclusive la funcion sglobal3 solo le cambie en
subtotales el 9 (suma) por el 6 (producto)
pero ahora se pone mucho mas pesado que con las funciones macro y se tarda
mas el recalculo
habra otra forma de acelerar esto?

Me alimento del conocimiento de todos


"Héctor Miguel" wrote:

hola, moises ???

> La formula... no funciona con mis datos, cual es mi error ????
> =+SUMA(H122:H136*SUBTOTALES(9;DESREF(M!H21;SI(ESNUMERO(COINCIDIR(G122:G136;M!$C$22:$C$860;0));COINCIDIR(G122:G136;M!$C$22:$C$860;0));)))
> lo introduzco como matriz y nada. Por que?
> H22:H136 lo debo cambiar por "H"&(A10-1)*15+2&":H"&A10*15+1
> igualmente tengo que hacer cambios en G122:G136
> y en M!$C$22:$C$860

1) para poder usar referencias 'indirectas' utiizando caracteres en lugar de los 'rangos en si'...
es necesario incluirlos -precisamente- en una funcion indirecto("h"&(a10*15+2&":h"& etc. etc. etc.

2) segun se desprende de los datos en tus anteriores consultas, tus tablas estan +/- ordenadas a cada 15 filas -?-
la primera desde la fila 2 a la 16, la segunda desde la fila 17 a la 31, la tercera desde la fila 32 a la 46 [y asi sucesivamente]
por lo que el rango H122:H136 es 'derivado' de que en la celda 'A10' tienes el valor de 9 [o sea, se buscara en la novena tabla] -?-

3) si lo anterior es acertado... prueba con otra funcion desref(...) donde vayan tus referencias 'cambiantes' +/- como sigue:
a) para el caso de H122:H136... cambia en la formula:
de: -> SUMA(H122:H136
a: -> suma(desref($h$1;a10*15-14;;15)
b) para los casos de G122:G136... usa el mismo procedimiento/criterio/... y cambia en la formula:
de: -> COINCIDIR(G122:G136
a: -> coincidir(desref($g$1;a10*15-14;;15)
c) para el caso de M!$C$22:$C$860...
->aqui no has comentado cuales serian los parametros -???-

4) la formula seguira siendo de entrada matricial [ya sabes ctrl+mayus+enter] :D

5) tu 'otra' funcion personalizada [sglobal3]... -como que- hay que darle una estudiadita mas a fondo :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Respuesta Responder a este mensaje
#3 Héctor Miguel
12/03/2007 - 04:33 | Informe spam
hola, moises ?

... funciona bien inclusive la funcion sglobal3 solo le cambie en subtotales el 9 (suma) por el 6 (producto)
pero ahora se pone mucho mas pesado que con las funciones macro y se tarda mas el recalculo
habra otra forma de acelerar esto?



[supongo que si... pero...]
1) considera que para encontrar una solucion que depende de varios calculos/pasos/...
le estas 'exigiendo' al excel... que haga un 'avance acelerado'... y...
en lugar de 'subir una escalera' escalon-por-escalon... quieres que 'salte' desde la base hasta 'la cima'...
lo cual requiere de un 'esfuerzo adicional' con el consecuente 'desgaste' de sus recursos 'naturales' :))

2) [probablemente] convendria 'dividir' los pasos/calculos/... en un 'ascenso' menos.. 'vertiginoso/desgastante/...'
y depositar los calculos 'intermedios' en celdas 'auxiliares', de las cuales podras tomar [solo] 'lo que corresponda' ;)
sobre todo, si este 'tipo' de formulaciones es necesario repetirlo en muchas/demasiadas/... celdas mas en tu modelo -?-
[claro... la 'desventaja' es que tendrias que 'echar a perder' las unas cuantas celdas 'auxiliares'] :-((

segun Charles Williams [http://www.decisionmodels.com/optspeedb.htm] en la mitad de este articulo "dice":
a) "no es el numero de formulas lo que consume el tiempo de re/calculo...
es el numero de referencias a celdas en las operaciones del re/calculo" :D
b) "mueve calculos repetitivos 'fuera', a celdas auxiliares...
evita el uso de 'megaformulas' complejas...
mantenlo simple y usa mas formulas, son mas rapidas de calcular -generalmente-" :))
-> hay mucho mas 'material' acerca de los 'cuellos de botella' en los re/calculos de modelos en excel ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida