UBICAR COLUMNA ??

01/03/2009 - 19:13 por Orfao | Informe spam
Hola Foristas !
Tengo un gran problemon !!!
y... cuento con vuestra valiosa ayuda para resolverlo,
se trata de lo siguiente:
Tengo

A B C D E F G H I J K L
M N O
1 0 8 1 6 1 1 0 2
1 7
1er grupo 2do grupo 3er grupo 4to grupo 5to grupo



Teniendo estos valores (unos y ceros cada tres columnas/grupos)
Como ubico las columnas (primeras de cada grupo de tres) donde tengo el
ultimo uno (1) y el penultimo uno ??

Los datos mostrados pueden estar en otra direccion cualquiera (es dedir que
no necesariamente empieze en A1 ) ,y puedo tener hasta 30 grupos de
diferentes cantidades de columnas por grupo (en el caso del ej. son 3) y por
supersto que los unos y ceros no estan siempre en la misma posicion.

La idea es obtener la suma de los valores ubicados en una misma direccion
relativa a su grupo, pero condicionado por otro valor tambien ubicados en
otras celdas con una direccion relativa a cada grupo. y finalmente lograr
algo como:
Hasta el ultimo grupo (con valor 1)
=sumaproducto(subtotales(9,desref(a1,,({2;3;5}-1)*3)+2)) = 6+1+7
y hasta el penultimo
=sumaproducto(subtotales(9,desref(a1,,({2;3}-1)*3)+2)) = 6+1

(Formulas que me hizo llegar Herctor Miguel, !muy interesantes por cierto.)

El problema esta en definir las columnas a sumar (2;3;5) y (2;3) y por
supuesto como introducirlas en las formulas

Luego de hacer varios intentos llegue a lo siguiente:
En es ejemplo mostrado, he calculado para cada columna

C1=SUMAPRODUCTO(SUBTOTALES(9;DESREF(a1;0;(FILA(INDIRECTO("1:5"))-1)*3))*2^(FILA(INDIRECTO("1:5"))-1))
esto es igual a 22
al usar C2ÞC.A.BIN(22) , esto me genera 10110 lo que me indica en orden
inverso la posicion de las columnas a sumar, liuego
C3=largo(C2) =5 (me indica el ultimo grupo), y calculo
C4Â-10^(C3-1) 0
C5=largo(C4) y defino el penultimao grupo (3)
Y para finalizar corrijo las formulas a:
=sumaproducto(subtotales(9,desref(a1,,(indirecto("1:"&C3-1)*3)+2))
=sumaproducto(subtotales(9,desref(a1,,(indirecto("1:"&C5-1)*3)+2))

Hasta aqui todo bien...pero...la funcion DEC.A.BIN solo convierte numeros
menores que 512 y es ahi justamente donde se me tranca el serrucho.
Creo que otra opcion seria concatenar los valores de todas las columnas
pero... Como lo logro estando los valores en grupos de tres columnas como en
este ejemplo ???

Con respecto a introducir el rango en la formula he utilizado Evaluar(Xn)
donde Xn es el rango que contiene por ej: "{2;3,5,}"

No habra otra forma/metodo/ de como hacerlo ?? sin tener que recurrir a
finciones de excel 4.0 o de add-ins ??

Agradezco cualquier opinion/ayuda/sugerencia/formula/solucion.
En espera de sus sabias y oportunas ideas me despido, atte.
Me alimento del conocimiento de todos
 

Leer las respuestas

#1 Pepito Delaosamayor
02/03/2009 - 02:49 | Informe spam
Vos tenes un problema que ni Bill Cosby, digo Gates, podes resolver.
De todas formas estoy rezando por vos para que los espertos
aparezcan y decifren la pregunta de vos.

"Orfao" wrote:

Hola Foristas !
Tengo un gran problemon !!!
y... cuento con vuestra valiosa ayuda para resolverlo,
se trata de lo siguiente:
Tengo

A B C D E F G H I J K L
M N O
1 0 8 1 6 1 1 0 2
1 7
1er grupo 2do grupo 3er grupo 4to grupo 5to grupo



Teniendo estos valores (unos y ceros cada tres columnas/grupos)
Como ubico las columnas (primeras de cada grupo de tres) donde tengo el
ultimo uno (1) y el penultimo uno ??

Los datos mostrados pueden estar en otra direccion cualquiera (es dedir que
no necesariamente empieze en A1 ) ,y puedo tener hasta 30 grupos de
diferentes cantidades de columnas por grupo (en el caso del ej. son 3) y por
supersto que los unos y ceros no estan siempre en la misma posicion.

La idea es obtener la suma de los valores ubicados en una misma direccion
relativa a su grupo, pero condicionado por otro valor tambien ubicados en
otras celdas con una direccion relativa a cada grupo. y finalmente lograr
algo como:
Hasta el ultimo grupo (con valor 1)
=sumaproducto(subtotales(9,desref(a1,,({2;3;5}-1)*3)+2)) = 6+1+7
y hasta el penultimo
=sumaproducto(subtotales(9,desref(a1,,({2;3}-1)*3)+2)) = 6+1

(Formulas que me hizo llegar Herctor Miguel, !muy interesantes por cierto.)

El problema esta en definir las columnas a sumar (2;3;5) y (2;3) y por
supuesto como introducirlas en las formulas

Luego de hacer varios intentos llegue a lo siguiente:
En es ejemplo mostrado, he calculado para cada columna

C1=SUMAPRODUCTO(SUBTOTALES(9;DESREF(a1;0;(FILA(INDIRECTO("1:5"))-1)*3))*2^(FILA(INDIRECTO("1:5"))-1))
esto es igual a 22
al usar C2ÞC.A.BIN(22) , esto me genera 10110 lo que me indica en orden
inverso la posicion de las columnas a sumar, liuego
C3=largo(C2) =5 (me indica el ultimo grupo), y calculo
C4Â-10^(C3-1) 0
C5=largo(C4) y defino el penultimao grupo (3)
Y para finalizar corrijo las formulas a:
=sumaproducto(subtotales(9,desref(a1,,(indirecto("1:"&C3-1)*3)+2))
=sumaproducto(subtotales(9,desref(a1,,(indirecto("1:"&C5-1)*3)+2))

Hasta aqui todo bien...pero...la funcion DEC.A.BIN solo convierte numeros
menores que 512 y es ahi justamente donde se me tranca el serrucho.
Creo que otra opcion seria concatenar los valores de todas las columnas
pero... Como lo logro estando los valores en grupos de tres columnas como en
este ejemplo ???

Con respecto a introducir el rango en la formula he utilizado Evaluar(Xn)
donde Xn es el rango que contiene por ej: "{2;3,5,}"

No habra otra forma/metodo/ de como hacerlo ?? sin tener que recurrir a
finciones de excel 4.0 o de add-ins ??

Agradezco cualquier opinion/ayuda/sugerencia/formula/solucion.
En espera de sus sabias y oportunas ideas me despido, atte.
Me alimento del conocimiento de todos

Preguntas similares