FORMULA EXTENSA

01/06/2007 - 04:27 por Orfao | Informe spam
Hola a todos..
Tengo la siguiente formula replicada en 20 columnas y 200 filas es decir
4000 veces
lo cual hace que la introduccion y/o actualizacion de la hoja se haga
bastante lenta
alguien me puede sugerir como obtener los mismos resultados con una formula
mas corta??

=+SI(Y(AA$7>=$N17;AA$7-7<$O17);SI(DIAS.LAB($N17;AA$7;feriados)<=DIAS.LAB(AA$7-6;AA$7;feriados);SI(DIAS.LAB($N17;AA$7;feriados)<$P17;DIAS.LAB($N17;AA$7;feriados);$P17);

SI(DIAS.LAB($N17;AA$7;feriados)>=$P17;DIAS.LAB(AA$7-6;$O17;feriados);DIAS.LAB(AA$7-6;AA$7;feriados)))*1/$P17;0)
Me alimento del conocimiento de todos

Preguntas similare

Leer las respuestas

#1 Orfao
01/06/2007 - 05:07 | Informe spam
continuacion...
SORRY, no espuse los detalles...

En T7:AM7 tengo fechas en orden ascendente, en N10:N210 tengo Fecha de
inicio, en O10:O210 tengo fecha de finalizacion y en P10:P210 tengo Nro de
dias (fin-inicio), ademas tengo un rango llamado feriados con fechas no
laborables….lo que hago es generar una distribucion del trabajo
porcentualmente entre las semanas del proyecto considerando los feriados esto
me simula algo muy similar al project...si necesitan alguna otra
imformacion...Pregunten...
por ejemplo en la fila 17 desde U17 hasta AM17 pego la formula y esta me
llena esas celdas con los porcentajes semanales correspondietes a esa
actividad (que porcentaje de actividad se realizara en cada periodo de tiempo
"COLUMNA")


Me alimento del conocimiento de todos


"Orfao" wrote:

Hola a todos..
Tengo la siguiente formula replicada en 20 columnas y 200 filas es decir
4000 veces
lo cual hace que la introduccion y/o actualizacion de la hoja se haga
bastante lenta
alguien me puede sugerir como obtener los mismos resultados con una formula
mas corta??

=+SI(Y(AA$7>=$N17;AA$7-7<$O17);SI(DIAS.LAB($N17;AA$7;feriados)<=DIAS.LAB(AA$7-6;AA$7;feriados);SI(DIAS.LAB($N17;AA$7;feriados)<$P17;DIAS.LAB($N17;AA$7;feriados);$P17);

SI(DIAS.LAB($N17;AA$7;feriados)>=$P17;DIAS.LAB(AA$7-6;$O17;feriados);DIAS.LAB(AA$7-6;AA$7;feriados)))*1/$P17;0)
Me alimento del conocimiento de todos
Respuesta Responder a este mensaje
#2 Héctor Miguel
01/06/2007 - 06:37 | Informe spam
hola, moises !

Tengo la siguiente formula replicada en 20 columnas y 200 filas es decir 4000 veces
lo cual hace que la introduccion y/o actualizacion de la hoja se haga bastante lenta
alguien me puede sugerir como obtener los mismos resultados con una formula mas corta?
=+SI(Y(AA$7>=$N17;AA$7-7<$O17);SI(DIAS.LAB($N17;AA$7;feriados)<=DIAS.LAB(AA$7-6;AA$7;feriados);SI(DIAS.LAB($N17;AA$7;feriados)<$P17;DIAS.LAB($N17;AA$7;feriados);$P17);SI(DIAS.LAB($N17;AA$7;feriados)>=$P17;DIAS.LAB(AA$7-6;$O17;feriados);DIAS.LAB(AA$7-6;AA$7;feriados)))*1/$P17;0)



1) al sustraer 7 y 6 en estas secciones de tu formula: a) AA$7>=$N17;AA$7-7... y b) DIAS.LAB(AA$7-6...
estas ocasionando que la funcion dias.lab -> NO este cumplendo con su 'cometido'
[probablemente] los porcentajes que obtienes se van 'extendiendo' mas alla del limite de fechas y dias en columnas N, O y P -???-

2) basandome en tu siguiente post [donde amplias la informacion]... estoy suponiendo que los dias en la columna 'P'
los obtienes tambien por medio de la funcion dias.lab -???-

3) prueba con las siguientes formulas [como alternativas]... son 'ligeramente' mas cortas que la que expones :))
suponiendo que la primer formula la necesitas en la celda [T10] segun tu rango de fechas [T7:AM7] y de datos [O10:O210]

op1: =si(y(t$7>=$n11;t$7<=$o11);dias.lab($n11;t$7;feriados)/$p11;0)
-> el 100% podria extenderse mas alla de su 'limite'... hasta encontrar el primer dia 'habil' fuera del rango

op2: =si(y(t$7>=$n12;t$7<=$o12;dias.lab(t$7;t$7;feriados));dias.lab($n12;t$7;feriados)/$p12;0)
-> solo *verias* porcentajes donde coincida dia-laborable y no-feriado <= NO en los 'intermedios' -?-

4) aun asi, podrias aumentar 'ligeramente' el rendimiento para tus ~4000 formulas
si cambias el uso de la funcion si-condicional... por algun si-'booleano' [verdadero/falso] con la funcion =elegir +/- como sigue:
[usando la misma 'semi-estructura' de las formulas anteriores]

op1: =elegir(1+y(t$7>=$n11;t$7<=$o11);0;dias.lab($n11;t$7;feriados)/$p11)
op2: =elegir(1+y(t$7>=$n13;t$7<=$o13;dias.lab(t$7;t$7;feriados));0;dias.lab($n13;t$7;feriados)/$p13)

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

p.d. nota: todavia queda alguna alternativa/opcion/... usando p.e. la funcion sumaproducto [ya aparecera por ahi] :))

para mayor informacion, visita la pagina de Charles Williams [concretamente las siguientes secciones]:

Multi-Level and Repeated Calculations:
http://www.decisionmodels.com/optspeedi.htm

Array Formulae
http://www.decisionmodels.com/optspeedj.htm

SUM with Multiple Conditions
http://www.decisionmodels.com/optspeedk.htm
Respuesta Responder a este mensaje
#3 Héctor Miguel
01/06/2007 - 06:45 | Informe spam
hola [de nuevo], moises ! [fe de erratas] :-((

perdon, la formula expuesta/sugerida/... asume que inicia en la filas 11, 12 y 13 NO en la fila 10 [como estatica] :D

[T11]
op1: =si(y(t$7>=$n11;t$7<=$o11);dias.lab($n11;t$7;feriados)/$p11;0)
-> el 100% podria extenderse mas alla de su 'limite'... hasta encontrar el primer dia 'habil' fuera del rango

[T12]
op2: =si(y(t$7>=$n12;t$7<=$o12;dias.lab(t$7;t$7;feriados));dias.lab($n12;t$7;feriados)/$p12;0)
-> solo *verias* porcentajes donde coincida dia-laborable y no-feriado <= NO en los 'intermedios' -?-

[T11]
op1: =elegir(1+y(t$7>=$n11;t$7<=$o11);0;dias.lab($n11;t$7;feriados)/$p11)
[T13]
op2: =elegir(1+y(t$7>=$n13;t$7<=$o13;dias.lab(t$7;t$7;feriados));0;dias.lab($n13;t$7;feriados)/$p13)

saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida