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

#6 KL
24/06/2007 - 20:46 | Informe spam
Hola Orfao,

"Orfao" wrote in message news:
Hola KL.
Gracias.. en el anterior Reply expuse algo mejos (creo) la situacion.
la formula que me enviaste ve genera diferentes valores, es decir
en la original da: V19=,10% W19=,10% X19=,10% Y19=,10% Z9=,06%
En en la nueva : V19=,10% W19=1,39% X19=6,93% Y19=6,93% Z9=4,16%
algun error???



No sabia que copiabas la formula en multiples celdas. Prueba esta:

=SUMAPRODUCTO(INDICE(V:V;FILA($B20)+1):INDICE(V:V;FILA($B20)+$B20*2)*INDICE(U:U;FILA($B20)+1):INDICE(U:U;FILA($B20)+$B20*2))

si gustas te envio el archivo a tu correo para que lo veas mas claro ???



No hay problema, manda el archivo a la direccion quitando NOSPAM y PLEASE. Lo unico es que no te
puedo garantizar la rapidez y la constancia de Hector Miguel :-(

Saludos,
KL
Respuesta Responder a este mensaje
#7 Héctor Miguel
25/06/2007 - 00:13 | Informe spam
hola, moises !

1) [segun parece] el *problema* viene a raiz de que en tu archivo tienes un *impresionante* [AB]uso de celdas combinadas :-((
-> cada 2 filas para las columnas 'C:U' [1:2, 3:4... 19:20, 21:22, 23:24, etc.]
-> y a partir de la columna 'V' solo hay *necesidad* de usar las filas impares [pudiera ser a la inversa pero NUNCA AMBAS o si ?]

2) cuando comentas que para V19 [filas NO combinadas] necesitas p.e.: V21*U21+V23*U23+V25*U25
y te refieres a la siguiente V20 [filas NO combinadas] con algo como: V22*U21+V24*U23+V26*U25
-> segun se aprecia de tu archivo... no existen datos en las filas pares [V22, V24, V26, etc.] entonces porque la operacion anterior ???

3) si la combinacion [indiscrimiada] de cada dos filas es solamente para dar *presentacion* a un reporte -?-
por que no intentas a [simplemente] duplicar el alto de las filas, en lugar de andar combinando cada 2 ?
a) te ahorras la busqueda de formulas que descarten filas im/pares para su trabajo
b) reduces el tamano de tu archivo [sin mencionar que lo tienes en -posible- riesgo de corrupcion por abuso en los formatos] <= OJO
c) mejoras *drasticamente* una *navegacion mas amigable* por las celdas de tus archivos
-> trata de llegar de principio a fin en alguna columna que *se ve* como si estuviera llena de datos [p.e. la columna C]
usando las teclas *rapidas* de navegacion como {ctrl}+{flecha}
[a ver cuantos teclazos te toma llegar de la celda C500 a la Celda C19 por ejemplo] :))
-> o trata de seleccionar toda [pero SOLO] la columna 'V', por ejemplo desde V19 pulsando {ctrl}+{espacio}

quiza me estoy metiendo donde no me llaman :-(( pero creo que en ocasiones es mejor *sacrificar vista*... por *funcionalidad*
[en fin] si has encontrado alguna justificacion *de peso* para mantener tantas celdas *combinadas*
-> comentas que hacemos con la filas [pares] *vacias* a partir de la columna 'V' ? -> [V20] =V22*U21+V24*U23+V26*U25

saludos,
hector.

__ la consulta original __
a ver si me explico mejor... el la formula: v19> {=+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))))}
lo que realmente hago es una ""suma producto"" [...]
para v19 y teniendo el valor 3 en b20
V21*U21+V23*U23+V25*U25
...y en V20
V22*U21+V24*U23+V26*U25
alguna forma de hacer esto sin formulas definidas por usuario???
es decir: en la columna V tengo valores en todas las filas y en U solo en las impares
y entonces tengo que calcular las pares de V * U y en otro caso las impares de V *U.
El rango va desde la fila actual+2 tasta el numero que me indique B20 (3) de 2 en 2
luego es solo como bien dice KL "Reducir/Acortar/Simplificar" esta enredadera...
PD: el primer grupo de formulas estan en filas dejando una de por medio es decir
ej: en la V21,V23,V25 y el segundo grupo es la suma de estos valores por su correspondiente en la columna U21,U23,U25
para V19, = V21*U21+V23*U23+V25*U25
y para V20 V22*U21+V24*U23+V26*U25
Se entiende??? tal vez si les mando el archivo seria mas facil de visualizar...
Respuesta Responder a este mensaje
#8 Héctor Miguel
25/06/2007 - 06:17 | Informe spam
hola [de nuevo], moises !

a ver si me explico mejor... el la formula: v19> {=+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))))}
lo que realmente hago es una ""suma producto"" [...] ... teniendo el valor 3 en b20
para V19 V21*U21+V23*U23+V25*U25
y en V20 V22*U21+V24*U23+V26*U25
alguna forma de hacer esto sin formulas definidas por usuario???
es decir: en la columna V tengo valores en todas las filas y en U solo en las impares
y entonces tengo que calcular las pares de V * U y en otro caso las impares de V *U.
El rango va desde la fila actual+2 tasta el numero que me indique B20 (3) de 2 en 2
luego es solo como bien dice KL "Reducir/Acortar/Simplificar" esta enredadera...
PD: el primer grupo de formulas estan en filas dejando una de por medio es decir
ej: en la V21,V23,V25 y el segundo grupo es la suma de estos valores por su correspondiente en la columna U21,U23,U25
para V19, = V21*U21+V23*U23+V25*U25
y para V20 V22*U21+V24*U23+V26*U25
Se entiende??? tal vez si les mando el archivo seria mas facil de visualizar...



[aislando de momento los comentarios de mi correo anterior]...
la propuesta que te hace KL en su segundo mensaje [me parece que] es necesario modificarla +/- a lo siguiente:
[V19] =sumaproducto(indice($u:$u;fila()+2):indice($u:$u;fila()+$b20*2)*indice(v:v;fila()+2):indice(v:v;fila()+$b20*2))

otra propuesta que pudiera serte de utilidad es la siguiente:
[V19] =sumaproducto(desref($u19;2;;$b20*2;);desref($u19;2;columnas($v19:v19);$b20*2;))

ambas tienen [y solo *para variar*]... sus pros y contras
la principal ventaja es que ninguna de las formulas requiere entrada matricial [ctrl+mayus+enter]
pero... en cuanto a volatilidad en los re/calculos del modelo [p.e.]:
-> desref(...) es definitivamente volatil
-> indice(...) NO es volatil [pero] unicamente en la version xl-97

o sea que, ganar o perder velocidad en algun re/calculo del modelo, dependera de la version de excel donde se corra :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#9 Orfao
25/06/2007 - 08:07 | Informe spam
Gracias H.M.
Funciona perfectamente... definivamente eres un Genio del Excel...
Espero hayas recibido el archivo que envie anteriormente ...
Necesito ayuda para resolver lo demas...

Me alimento del conocimiento de todos


"Héctor Miguel" wrote:

hola [de nuevo], moises !

> a ver si me explico mejor... el la formula: v19> > {=+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))))}
> lo que realmente hago es una ""suma producto"" [...] ... teniendo el valor 3 en b20
> para V19 V21*U21+V23*U23+V25*U25
> y en V20 V22*U21+V24*U23+V26*U25
> alguna forma de hacer esto sin formulas definidas por usuario???
> es decir: en la columna V tengo valores en todas las filas y en U solo en las impares
> y entonces tengo que calcular las pares de V * U y en otro caso las impares de V *U.
> El rango va desde la fila actual+2 tasta el numero que me indique B20 (3) de 2 en 2
> luego es solo como bien dice KL "Reducir/Acortar/Simplificar" esta enredadera...
> PD: el primer grupo de formulas estan en filas dejando una de por medio es decir
> ej: en la V21,V23,V25 y el segundo grupo es la suma de estos valores por su correspondiente en la columna U21,U23,U25
> para V19, = V21*U21+V23*U23+V25*U25
> y para V20 V22*U21+V24*U23+V26*U25
> Se entiende??? tal vez si les mando el archivo seria mas facil de visualizar...

[aislando de momento los comentarios de mi correo anterior]...
la propuesta que te hace KL en su segundo mensaje [me parece que] es necesario modificarla +/- a lo siguiente:
[V19] =sumaproducto(indice($u:$u;fila()+2):indice($u:$u;fila()+$b20*2)*indice(v:v;fila()+2):indice(v:v;fila()+$b20*2))

otra propuesta que pudiera serte de utilidad es la siguiente:
[V19] =sumaproducto(desref($u19;2;;$b20*2;);desref($u19;2;columnas($v19:v19);$b20*2;))

ambas tienen [y solo *para variar*]... sus pros y contras
la principal ventaja es que ninguna de las formulas requiere entrada matricial [ctrl+mayus+enter]
pero... en cuanto a volatilidad en los re/calculos del modelo [p.e.]:
-> desref(...) es definitivamente volatil
-> indice(...) NO es volatil [pero] unicamente en la version xl-97

o sea que, ganar o perder velocidad en algun re/calculo del modelo, dependera de la version de excel donde se corra :))

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



Respuesta Responder a este mensaje
#10 Orfao
25/06/2007 - 08:49 | Informe spam
Hola de nuevo...
como leí 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 ... sí. 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 ???
y con respento a la primera parte del problema (lo de las fechas ) ??? algo
nuevo...
esto es 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 ???

PD: Insisto H.M. eres lo maximo en Excel


Me alimento del conocimiento de todos
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida