Fórmula empieza con...KL

01/12/2004 - 16:23 por cuejorge2003 | Informe spam
KL,

Quiero sumar de una base de datos con 27 columnas y mas de 10,000 renglones
con las condiciones:
que en G2:G10000 = 416500
que en H2:H10000 = 1
que en x2:x10000 empiece con ALAMBRE
y que sume S2:S10000

De antemano gracias.
Un saludo.
Jorge

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
01/12/2004 - 23:36 | Informe spam
hola, Jorge !

... sumar de una base de datos con 27 columnas y mas de 10,000 renglones con las condiciones:
... en G2:G10000 = 416500
... en H2:H10000 = 1
... en x2:x10000 empiece con ALAMBRE
... sume S2:S10000



disculpa si te parece que me estoy 'metiendo donde no debo' :( [y... en tanto aparecen mas propuestas]
hasta donde he podido ver, 'el problema' [me parece que] ES...
-> NO porque no se encuentre o proponga alguna formula/funcion
[ya han sugerido sumaproducto(), funciones de base de datos como bdsuma(), etc.]
-> SI porque NO estas 'ofreciendo' un 'panorama' [mas completo] de la situacion que necesitas resolver
- que si unas funciones 'se toman' mas tiempo que otras [¿cual es la diferencia/importancia 'relativa'?]
- que estas usando las funciones ->en codigo<- ¿porque no 'las dejas' en las celdas con calculo manual?]
-> [ademas] se requiere comparar ->matrices<- lo que ya... [por si 'solo'] 'se toma' su tiempo :((
es probable que [aun por codigo] se requiera calculo manual al iniciar el codigo y al finalizar... automatico
+/- 40,000 registros [por articulo] × +/- 20 articulos = +/- 800,000 registros 'a comparar/sumar !!!
[o, lo que es +/- 'lo mismo'... +/- 20 'operaciones' para +/- 40,000 registros]
-> ¿te 'valdria la pena' [al menos considerar] el uso de tablas dinamicas?
-> podria considerarse el uso de [trucos con] autofiltros o filtros avanzados

podria haber mas 'consideraciones a considerar', pero [al parecer]...
no has encontrado la forma de 'dar en el clavo' con el planteamiento del problema ;)

¿comentas datos adicionales?
saludos,
hector.
Respuesta Responder a este mensaje
#2 cuejorge2003
02/12/2004 - 00:35 | Informe spam
Héctor Miguel,

Ya encontré la solución y es esta
=SUMPRODUCT((INTERF!$G$2:$G$10000A6500)*(NOT(ISERROR(FIND(""ALAMBRE"",INTERF!X2:X10000))))*INTERF!$S$2:$S$10000)

Solo me comentó Fernando Arroyo que esto tomará en cuenta lo que enncuentre
en la columna X que tenga ALAMBRE, para lo que encontré la manera de anotar
algo que sea diferente de cualquier otro dato.
Si esta fórmula se anota en una hoja de Excel me tarda mucho en calcularla
en automático por lo que la metí en un código y es muy rápida.
Te comento que esta fórmula está escrita mas de 50 veces y qudó de la
siguiente manera:

Dim ALAM
ALAM =
"=SUMPRODUCT((INTERF!$G$2:$G$10000A6500)*(NOT(ISERROR(FIND(""ALAMBRE"",INTERF!X2:X10000))))*INTERF!$S$2:$S$10000)"

ALAM2 = Evaluate(ALAM)

De esta manera lo hago con mas de 50 productos.
Un saludo.
Jorge
Respuesta Responder a este mensaje
#3 Héctor Miguel
02/12/2004 - 01:24 | Informe spam
hola, Jorge !

... encontre la solucion y es [...]
... que ... tomara en cuenta lo que encuentre en la columna X que tenga ALAMBRE
... encontre la manera de anotar algo que sea diferente de cualquier otro dato.
... si esta formula se anota en una hoja de Excel me tarda mucho en calcularla en automatico
... la meti en un codigo y es muy rapida.
... esta formula está escrita mas de 50 veces y quedo de la siguiente manera [...]



-> 'enterado' <- :))
solo 'me quedan' algunas dudas/inquietudes que espero me puedas 'confirmar'... [por mencionar una]...
-> si 'la formula' NO esta 'quedando escrita' [precisamente como formula] en las celdas de la hoja de calculo
sino que por codigo se 'deposita' [lo que 'hubiera sido'] ->el valor final<- [si se hubiera 'aplicado' la formula]...
y si consideramos que [en la 'base de datos'] algunos 'registros' pudieran 'dejar de cumplir' las condiciones
... los 'valores' [que ha depositado el codigo]... ¿son actualizados 'automaticamente'?
[quizas no sea 'relevante' y baste con correr el codigo cada vez que se modifique/actualice/corrija la BD]

supongo que ya 'mediste riesgos' y 'proveiste medidas de seguridad/prevencion/correccion' para posibles errores.
saludos,
hector.
Respuesta Responder a este mensaje
#4 cuejorge2003
02/12/2004 - 01:57 | Informe spam
Héctor Miguel,

Tabajé por mas de 5 años com DSUM, los archivos estaban muy cargados. Al
tenerlo en código queda guardado como texto y no como fórmula la cual solo al
ejecutar la Macro tomará el tiempo necesario. Ahora prefiero hacerlo con
códigos y con SUMPRODUCT ya que con esta segunda fórmula no tienes que anotar
las condiciones de la suma en otro lugar que no sea la misma fórmula.

Un saludo.
Jorge.
"Héctor Miguel" wrote:

hola, Jorge !

> ... encontre la solucion y es [...]
> ... que ... tomara en cuenta lo que encuentre en la columna X que tenga ALAMBRE
> ... encontre la manera de anotar algo que sea diferente de cualquier otro dato.
> ... si esta formula se anota en una hoja de Excel me tarda mucho en calcularla en automatico
> ... la meti en un codigo y es muy rapida.
> ... esta formula está escrita mas de 50 veces y quedo de la siguiente manera [...]

-> 'enterado' <- :))
solo 'me quedan' algunas dudas/inquietudes que espero me puedas 'confirmar'... [por mencionar una]...
-> si 'la formula' NO esta 'quedando escrita' [precisamente como formula] en las celdas de la hoja de calculo
sino que por codigo se 'deposita' [lo que 'hubiera sido'] ->el valor final<- [si se hubiera 'aplicado' la formula]...
y si consideramos que [en la 'base de datos'] algunos 'registros' pudieran 'dejar de cumplir' las condiciones
... los 'valores' [que ha depositado el codigo]... ¿son actualizados 'automaticamente'?
[quizas no sea 'relevante' y baste con correr el codigo cada vez que se modifique/actualice/corrija la BD]

supongo que ya 'mediste riesgos' y 'proveiste medidas de seguridad/prevencion/correccion' para posibles errores.
saludos,
hector.



Respuesta Responder a este mensaje
#5 Héctor Miguel
02/12/2004 - 02:19 | Informe spam
hola, Jorge !

Tabaje por mas de 5 años com DSUM, los archivos estaban muy cargados.
Al tenerlo en codigo queda guardado como texto y no como formula la cual
solo al ejecutar la Macro tomara el tiempo necesario [...]



es [precisamente] lo que 'me suponia'... :))
el mensaje anterior era [solo] para... 'recordarte'... que NO 'se te olvide'...
-> 'asegurarte' que la informacion ES 'confiable/actualizada' ANTES DE...

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