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

#6 cuejorge2003
01/12/2004 - 16:23 | 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.
>> >
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida