Fórmula, No empieza con...

30/11/2004 - 02:35 por cuejorge2003 | Informe spam
KL, Héctor Miguel,

Esta última fórmula que me pasaron la coloco en un código y es demasiado
lenta a comparación de la anterior

Tienen algo que funcione mas rápido en un codigo?

De antemano muchas gracias.
Un saludo.
Jorge.

Preguntas similare

Leer las respuestas

#1 KL
30/11/2004 - 09:27 | Informe spam
Jorge,

Ayudaria mucho si pusieras aqui el codigo para q se vea como utilizas la
formula y si realment el problema esta en ella.

Saludos,
KL

""
wrote in message news:
KL, Hector Miguel,

Esta ultima formula que me pasaron la coloco en un codigo y es demasiado
lenta a comparacion de la anterior

Tienen algo que funcione mas rapido en un codigo?

De antemano muchas gracias.
Un saludo.
Jorge.

Respuesta Responder a este mensaje
#2 cuejorge2003
30/11/2004 - 16:29 | Informe spam
KL,
La fórmula de NOT(ISERR... trabaja muy rápido pero esta no. Te paso el
código de un solo producto. Son mas de 20 productos. Tomé el tiempo y trabaja
un poquito mas rápido con el número de letras que con LEN:

Sub Actualizarr()
Dim ALAM,ALAM23
ALAM =
"=SUMPRODUCT((DATOS!$G$2:$G$10000A6500)*(LEFT(DATOS!$X$2:$X$10000,7)=""ALAMBRE"")*(DATOS!$S$2:$S$10000))/1000"
ALAM23 = Evaluate(ALAM)

End sub

Muchas gracias.
Un saludo.
Jorge

"KL" wrote:

Jorge,

Ayudaria mucho si pusieras aqui el codigo para q se vea como utilizas la
formula y si realment el problema esta en ella.

Saludos,
KL

""
wrote in message news:
> KL, Hector Miguel,
>
> Esta ultima formula que me pasaron la coloco en un codigo y es demasiado
> lenta a comparacion de la anterior
>
> Tienen algo que funcione mas rapido en un codigo?
>
> De antemano muchas gracias.
> Un saludo.
> Jorge.
>



Respuesta Responder a este mensaje
#3 KL
30/11/2004 - 18:13 | Informe spam
Jorge,

Creo q estas utilizando la formula de una forma poco productiva. No me
extrana q sea lento el macro - solo piensa q esta formula esta trabajando
con 30,000 valores a la vez y ademas esta disenada para la hoja de calculo
no para VBA.

Te lo explico.
Esta formula se compone de varias mas simples:

ÚTOS!$G$2:$G$10000A6500
devuelve {FALSE, FALSE, TRUE, FALSE, TRUE,..., TRUE} y asi 10,000 veces para
todas las celdas del rango

=LEFT(DATOS!$X$2:$X$10000,7)="ALAMBRE"
devuelve {FALSE, FALSE, TRUE, FALSE, TRUE,..., TRUE} y asi 10,000 veces para
todas las celdas del rango

ÚTOS!$S$2:$S$10000
devuelve {0, 10000, 350, 0, 1300,..., 42000} y asi 10,000 valores para todas
las celdas del rango

luego lo q haces es esto:
{FALSE, FALSE, TRUE, FALSE, TRUE,..., TRUE}*{FALSE, FALSE, TRUE, FALSE,
TRUE,..., TRUE}*{0, 10000, 350, 0, 1300,..., 42000}
o sea multiplicas entre si 30,000 valores, y esto te devuelve 10,000
valores:

{0, 0, 350, 0, 1300,..., 42000} los cuales luego sumas entre si.

Finalmente divides el resultado por 1000 pero esto ya es lo de menos. Y
ahora imaginate todo esto hecho 20 veces q es el numero de productos q
tienes.

Si explicas lo q quieres conseguir quizas te podamos ofrecer una
alternativa.

Saludos,
KL

""
wrote in message news:
KL,
La formula de NOT(ISERR... trabaja muy rapido pero esta no. Te paso el
codigo de un solo producto. Son mas de 20 productos. Tome el tiempo y
trabaja
un poquito mas rapido con el numero de letras que con LEN:

Sub Actualizarr()
Dim ALAM,ALAM23
ALAM > "=SUMPRODUCT((DATOS!$G$2:$G$10000A6500)*(LEFT(DATOS!$X$2:$X$10000,7)=""ALAMBRE"")*(DATOS!$S$2:$S$10000))/1000"
ALAM23 = Evaluate(ALAM)

End sub

Muchas gracias.
Un saludo.
Jorge

"KL" wrote:

Jorge,

Ayudaria mucho si pusieras aqui el codigo para q se vea como utilizas la
formula y si realment el problema esta en ella.

Saludos,
KL

""
wrote in message
news:
> KL, Hector Miguel,
>
> Esta ultima formula que me pasaron la coloco en un codigo y es
> demasiado
> lenta a comparacion de la anterior
>
> Tienen algo que funcione mas rapido en un codigo?
>
> De antemano muchas gracias.
> Un saludo.
> Jorge.
>



Respuesta Responder a este mensaje
#4 cuejorge2003
01/12/2004 - 02:05 | Informe spam
KL,

entonces voy a utilizar la fórmula
=SUMPRODUCT((INTERF!G2:G20000A6500)*(NOT(ISERROR(FIND("ALAMBRE",INTERF!X2:X20000))))*INTERF!S2:S20000)

Tranaré de encontrar la forma que en cada dato que requiera no se repita en
un producto diferente, de hecho así lo tenía y era muchísimo mas rápido.

Muchas gracias por tu apoyo.
Un saludo.
Jorge.

"KL" wrote:

Jorge,

Creo q estas utilizando la formula de una forma poco productiva. No me
extrana q sea lento el macro - solo piensa q esta formula esta trabajando
con 30,000 valores a la vez y ademas esta disenada para la hoja de calculo
no para VBA.

Te lo explico.
Esta formula se compone de varias mas simples:

ÚTOS!$G$2:$G$10000A6500
devuelve {FALSE, FALSE, TRUE, FALSE, TRUE,..., TRUE} y asi 10,000 veces para
todas las celdas del rango

=LEFT(DATOS!$X$2:$X$10000,7)="ALAMBRE"
devuelve {FALSE, FALSE, TRUE, FALSE, TRUE,..., TRUE} y asi 10,000 veces para
todas las celdas del rango

ÚTOS!$S$2:$S$10000
devuelve {0, 10000, 350, 0, 1300,..., 42000} y asi 10,000 valores para todas
las celdas del rango

luego lo q haces es esto:
{FALSE, FALSE, TRUE, FALSE, TRUE,..., TRUE}*{FALSE, FALSE, TRUE, FALSE,
TRUE,..., TRUE}*{0, 10000, 350, 0, 1300,..., 42000}
o sea multiplicas entre si 30,000 valores, y esto te devuelve 10,000
valores:

{0, 0, 350, 0, 1300,..., 42000} los cuales luego sumas entre si.

Finalmente divides el resultado por 1000 pero esto ya es lo de menos. Y
ahora imaginate todo esto hecho 20 veces q es el numero de productos q
tienes.

Si explicas lo q quieres conseguir quizas te podamos ofrecer una
alternativa.

Saludos,
KL

""
wrote in message news:
> KL,
> La formula de NOT(ISERR... trabaja muy rapido pero esta no. Te paso el
> codigo de un solo producto. Son mas de 20 productos. Tome el tiempo y
> trabaja
> un poquito mas rapido con el numero de letras que con LEN:
>
> Sub Actualizarr()
> Dim ALAM,ALAM23
> ALAM > > "=SUMPRODUCT((DATOS!$G$2:$G$10000A6500)*(LEFT(DATOS!$X$2:$X$10000,7)=""ALAMBRE"")*(DATOS!$S$2:$S$10000))/1000"
> ALAM23 = Evaluate(ALAM)
>
> End sub
>
> Muchas gracias.
> Un saludo.
> Jorge
>
> "KL" wrote:
>
>> Jorge,
>>
>> Ayudaria mucho si pusieras aqui el codigo para q se vea como utilizas la
>> formula y si realment el problema esta en ella.
>>
>> Saludos,
>> KL
>>
>> ""
>> wrote in message
>> news:
>> > KL, Hector Miguel,
>> >
>> > Esta ultima formula que me pasaron la coloco en un codigo y es
>> > demasiado
>> > lenta a comparacion de la anterior
>> >
>> > Tienen algo que funcione mas rapido en un codigo?
>> >
>> > De antemano muchas gracias.
>> > Un saludo.
>> > Jorge.
>> >
>>
>>
>>



Respuesta Responder a este mensaje
#5 cuejorge2003
01/12/2004 - 03:21 | 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

"KL" wrote:

Jorge,

Creo q estas utilizando la formula de una forma poco productiva. No me
extrana q sea lento el macro - solo piensa q esta formula esta trabajando
con 30,000 valores a la vez y ademas esta disenada para la hoja de calculo
no para VBA.

Te lo explico.
Esta formula se compone de varias mas simples:

ÚTOS!$G$2:$G$10000A6500
devuelve {FALSE, FALSE, TRUE, FALSE, TRUE,..., TRUE} y asi 10,000 veces para
todas las celdas del rango

=LEFT(DATOS!$X$2:$X$10000,7)="ALAMBRE"
devuelve {FALSE, FALSE, TRUE, FALSE, TRUE,..., TRUE} y asi 10,000 veces para
todas las celdas del rango

ÚTOS!$S$2:$S$10000
devuelve {0, 10000, 350, 0, 1300,..., 42000} y asi 10,000 valores para todas
las celdas del rango

luego lo q haces es esto:
{FALSE, FALSE, TRUE, FALSE, TRUE,..., TRUE}*{FALSE, FALSE, TRUE, FALSE,
TRUE,..., TRUE}*{0, 10000, 350, 0, 1300,..., 42000}
o sea multiplicas entre si 30,000 valores, y esto te devuelve 10,000
valores:

{0, 0, 350, 0, 1300,..., 42000} los cuales luego sumas entre si.

Finalmente divides el resultado por 1000 pero esto ya es lo de menos. Y
ahora imaginate todo esto hecho 20 veces q es el numero de productos q
tienes.

Si explicas lo q quieres conseguir quizas te podamos ofrecer una
alternativa.

Saludos,
KL

""
wrote in message news:
> KL,
> La formula de NOT(ISERR... trabaja muy rapido pero esta no. Te paso el
> codigo de un solo producto. Son mas de 20 productos. Tome el tiempo y
> trabaja
> un poquito mas rapido con el numero de letras que con LEN:
>
> Sub Actualizarr()
> Dim ALAM,ALAM23
> ALAM > > "=SUMPRODUCT((DATOS!$G$2:$G$10000A6500)*(LEFT(DATOS!$X$2:$X$10000,7)=""ALAMBRE"")*(DATOS!$S$2:$S$10000))/1000"
> ALAM23 = Evaluate(ALAM)
>
> End sub
>
> Muchas gracias.
> Un saludo.
> Jorge
>
> "KL" wrote:
>
>> Jorge,
>>
>> Ayudaria mucho si pusieras aqui el codigo para q se vea como utilizas la
>> formula y si realment el problema esta en ella.
>>
>> Saludos,
>> KL
>>
>> ""
>> wrote in message
>> news:
>> > KL, Hector Miguel,
>> >
>> > Esta ultima formula que me pasaron la coloco en un codigo y es
>> > demasiado
>> > lenta a comparacion de la anterior
>> >
>> > Tienen algo que funcione mas rapido en un codigo?
>> >
>> > De antemano muchas gracias.
>> > Un saludo.
>> > Jorge.
>> >
>>
>>
>>



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