FORMULA EXTENSA ???

24/06/2007 - 00:47 por Orfao | Informe spam
Hola foristas...
en un post anterir hice una pregunta al respecto pero... "no me quedo bien
clara la respuesta. Tal vez la implemente erroneamente. Sorry... y ahora se
me ha complicado un poco mas"
tal vez ahora explique mejor el caso:
tengo los siguientes datos:
en T7 tengo un valor que representa el intervalo de evaluacion es decir 7
para semanal, 14 para quincenal, etc
el planificador decide que valor colocarle.
en U7 la fecha de inicio del proyecto
en V7 la fecha del primer informe
desde W7 hasta DD7 las siguientes fechas de informes es decir W7=V7+T7 ;
X7=W7+T7 ; .. ; DD7Ü7+T7
En la columna O21 Tengo la fecha de inicio de la actividad correspondiente a
esa fila
En la columna P21 Tengo la fecha de fin de la actividad correspondiente a
esa fila
En la columna Q21==+DIAS.LAB(O21;P21;feriados) donde "feriados" es un rango
con fechas no laborables



V21=+SI(Y(V$7>=$O21;V$7-U$7<$P21);SI(DIAS.LAB($O21;V$7;feriados)<=DIAS.LAB(V$7-U$7+1;V$7;feriados);SI(DIAS.LAB($O21;V$7;feriados)<$Q21;DIAS.LAB($O21;V$7;feriados);$Q21);

SI(DIAS.LAB($O21;V$7;feriados)>=$Q21;DIAS.LAB(V$7-U$7+1;$P21;feriados);DIAS.LAB(V$7-U$7+1;V$7;feriados)))*1/$Q21;0)

W21=+SI(Y(W$7>=$O21;W$7-$T$7<$P21);SI(DIAS.LAB($O21;W$7;feriados)<=DIAS.LAB(W$7-$T$7+1;W$7;feriados);SI(DIAS.LAB($O21;W$7;feriados)<$Q21;DIAS.LAB($O21;W$7;feriados);$Q21);

SI(DIAS.LAB($O21;W$7;feriados)>=$Q21;DIAS.LAB(W$7-$T$7+1;$P21;feriados);DIAS.LAB(W$7-$T$7+1;W$7;feriados)))*1/$Q21;0)

W21 la copio y pego desde X21 hasta DD21
lo anterior se repite en dferentes filas de 2 en 2 es decir en la 23, 25,
27, etc

en V19 tendo la siguiente formula matricial:
{=+SUMA(INDIRECTO(DIRECCION(CELDA("fila";$B20)+1;CELDA("columna";V20);4)&":"&+DIRECCION(CELDA("fila";$B20)+$B20*2;CELDA("columna";V20);4))*INDIRECTO(DIRECCION(CELDA("fila";$B20)+1;CELDA("columna";$U20))&":"&+DIRECCION(CELDA("fila";$B20)+$B20*2;CELDA("columna";$U20))))}

donde en B20 tengo el numero de subpartidas a sumar (filas en las que se
repite las formulas anteriores)

todo esto me funciona a la perfeccion... PERO...
el problema es que tengo en la columna A y en cada fila donde estan las
formulas un indicador que me dice si esa fila es una detalle donde en ese
caso tendria que utilizar el segundo grupo de formulas o, es un grupo de
partidas donde tengo que usar el orimer grupo ...
y creo que quedaria algo asi como
+si(a20="Grupo";{=+SUMA(INDIRECTO(DIRECCION(CELDA("fila";$B20)+1;CELDA("columna";V20);4)&":"&+DIRECCION(CELDA("fila";$B20)+$B20*2;CELDA("columna";V20);4))*INDIRECTO(DIRECCION(CELDA("fila";$B20)+1;CELDA("columna";$U20))&":"&+DIRECCION(CELDA("fila";$B20)+$B20*2;CELDA("columna";$U20))))};
+SI(Y(V$7>=$O21;V$7-U$7<$P21);SI(DIAS.LAB($O21;V$7;feriados)<=DIAS.LAB(V$7-U$7+1;V$7;feriados);SI(DIAS.LAB($O21;V$7;feriados)<$Q21;DIAS.LAB($O21;V$7;feriados);$Q21);

SI(DIAS.LAB($O21;V$7;feriados)>=$Q21;DIAS.LAB(V$7-U$7+1;$P21;feriados);DIAS.LAB(V$7-U$7+1;V$7;feriados)))*1/$Q21;0))

Se entiende????
Alguno de Uds me ayuda por lo menos a simplificar estas formulas???
Estare sumamente agradecido

Me alimento del conocimiento de todos

Preguntas similare

Leer las respuestas

#16 Héctor Miguel
25/06/2007 - 20:57 | Informe spam
hola, KL !

... si no hay indicacion expresa de referncias circulares, y dada la cantidad de formulas
... el conjunto de formulas en la hoja haya superado el limite de 65536 areas con dependencias o bien 8000 dependencias en un area.
... ahora ya estamos de acuerdo en que INDICE() NO es intrinsecamente volatil mientras que DESREF si lo es :-D
... situaciones en las que todas las formulas/funciones se conviertan en volatiles:
http://www.decisionmodels.com/calcsecretsf.htm

[en realidad, creo que todos estos *argumentos* permiten a OP una gama mas amplia de situaciones a evaluar] ;)



De eso no me cabe ninguna duda.



dado el tipo de *dinamismo* que maneja OP en su modelo, [yo diria que]... *hay de todo* :))
[por eso digo]:
-> es bueno *tenerte de regreso* [o que no *abandones* al grupo por lapsos prolongados] :D

saludos,
hector.
Respuesta Responder a este mensaje
#17 Ivan
25/06/2007 - 22:26 | Informe spam
-> es bueno *tenerte de regreso* [o que no *abandones* al grupo por lapsos prolongados] :D



apoyo la mocion.

da gusto volver a encontrarse con estos hilos de vez en cuando

un saludo y disculpas por meterme donde no me llaman
Ivan
Respuesta Responder a este mensaje
#18 Héctor Miguel
25/06/2007 - 22:31 | Informe spam
hola, moises !

__ 1 __
... lei en tu comentario anterior sugieres que no use tanta combinacion de celdas pero
... es cuestion de presentacion visual... aunque con los consecuentes inconvenientes de relentizar todo...
el caso es que ... si. debo calcular:
para V19, = V21*U21+V23*U23+V25*U25
y para V20 V22*U21+V24*U23+V26*U25
como implementaria tu solucion a la v20 ???


__ 2 __
... con respento a la primera parte del problema (lo de las fechas ) ??? algo nuevo... parte de un gran rollo que debo desenrrollar
... luego deberia implementar alguna formula para determinar cuando es grupo, cuando es subgrupo
cuando estan consecutivas las partidas y cuando salteadas... Etc.
de forma que pueda ser reutilizado para cualquier proyecto con diferentes cantidades de partidas y grupos...
insertando o eliminando filas y columnas (partidas y grupos de partidas), ect.se entiende ???



si entiendo bien... tu intencion [parece que] es:
conseguir alguna formula que te permita mantener *flexible* el aplicar la de fechas o la de resumen_de_grupo
y decidir *al vuelo* en cuanto a la/s fila/s ya sea para *agruparlas* o hacerlas *cabeza de grupo* [agrupar y esquema] ???

si lo anterior es *acertado*... ? [ya nos podemos olvidar de las ventajas de usar formulas con funciones *no-volatiles*] :-((
[y tendre que ser considerado *terco*, pero preferire el uso de la funcion desref(...) ya que me parece mas facil de *leer*] :D

1) asumiendo que la columna 'U:U' tendra formulas/numeros/resultados/... SOLO cada dos filas [puesto que estan combinadas]...
solo necesitas desplazar una fila mas la referencia inicial en la segunda parte de la formula: desref($u19;2 <por> desref($u19;3
para V19: =sumaproducto(desref($u19;2;;$b20*2;);desref($u19;2;columnas($v19:v19);$b20*2;))
para V20: =sumaproducto(desref($u19;2;;$b20*2;);desref($u19;3;columnas($v19:v19);$b20*2;))

2) para averiguar si alguna fila es *cabeza de grupo* [o de lo contrario esta *agrupada* en niveles *inferiores*]...

a) selecciona una celda, p.e. 'B1' y ve a [menu] insertar / nombre / definir...
nombre [p.e.] EsGrupo
'se refiere a:' la siguiente formula: =indicar.celda(28+0*hoy();!a1)=1
-> devuelve verdadero para aquellas filas cuyo nivel de esquema es 1 [incluso si no tiene nivel de esquema]

b) alguna formula para *decidir/evaluar/...* si a esa fila le aplicas la formula de fechas o la de resumen_de_grupo
[p.e. si suponemos que no estas seguro de si V19 va a ser registro de avance_fecha o acumulacion del grupo]

-> [V19] = elegir(1+esgrupo;elegir(1+y($o21>=$u$7;v$7>=$o21;$p21>u$7);0;dias.lab(elegir(1+($o21>u$7);u$7+1;$o21);elegir(1+($p21>v$7);$p21;v$7);feriados)/$q21);sumaproducto(desref($u19;2;;$b20*2;);desref($u19;2;columnas($v19:v19);$b20*2;)))

-> si no es grupo [primera alternativa], aplica la formula para el arrastre de avances en cada fecha
en caso contrario [es grupo], aplica la formula correspondiente

-> tambien habria que *diferenciar* si la formula de fechas seria como la de V19... o la de V20 [por las diferencias entre filas im/pares]
es decir, se aplica: para V19, = V21*U21+V23*U23+V25*U25
o se debiera aplicar para V20, =V22*U21+V24*U23+V26*U25

[probablemente] habra o surgiran otro tipo de *imponderables* y requerimientos nuevos asi que...
si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#19 Orfao
27/06/2007 - 03:00 | Informe spam
Hola H.M y K.L
He leido y analizado vuestros comentarios anteriores y realmente me parece
muy interesante todo lo expuestpo aunque no he tenido tiempo paara pornerlos
en practica pero como bien dicen Uds. ahora tengo todo mas claro pero... no
se si se refieren a mi cuando hablan de OP ... de igual manera seria
interesante que a quien le interese el tema se involucre y exponga sus ideas
. Todas son Bienvenidas... Muchisimas Gracias y yo aqui seguire agradeciendo
cualquier comentario o sugerencia adicional.. Nunca estaran de mas...
Me alimento del conocimiento de todos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida