jerarquia (continuacion)

07/04/2005 - 16:36 por Anonimo | Informe spam
Quiero aplicar la función jerarquia a un rango de celdas
(NO CONTIGUAS) y como parece que la función jerarquia no
admite rangos de celdas no contiguos, se me ha ocurrido
multiplicar la fila por un vector fila de 0 y 1, de tal
forma que obtengo un nuevo vector fila con sólo los valores
que me interesan.

Defino el vector fila con un Nombre (menu insertar,
nombres) y defino otro vector fila, que llamo
VectorProducto, como producto del vector anterior y del
rango de la fila de la hoja de cálculo. Hasta aquí todo
correcto, pero cuando utilizo la formula:

=jerarquia(B5;VectorProducto)

me sale error #VALOR.

Si cargo VectorProducto en celdas (o examino su valor con
pf9) tiene los datos correctos, sin embargo, en la formula
de jerarquia, vectorproducto no tiene datos (concretamente
tiene el error #VALOR.

¿Alguien puede aclarar el motivo o/y resolver el problema?
Admito otros enfoques para resolver el problema.
Gracias por adelantado.

Preguntas similare

Leer las respuestas

#1 KL
07/04/2005 - 17:52 | Informe spam
Hola anonimo,

Al parecer a la funcion JERARQUIA no le gustan las matrices sino las
referencias. Unas cuantas ideas sponiendo que trabajas con rangos/matrices
horizontales (si no, habria que modificar algunas cosas):

1) Al multiplicar tu rango, digamos $A$1:$G$1 (que contiene los valores,
digamos {2;6;8;9;11;33;4}) por una matriz tipo {1;0;0;0;1;0;1}, obtendras:
{2;0;0;0;11;0;4}. Suponiendo que fuese posible aplicarle la funcion
JERARQUIA, el ranking que obtendrias seria 2 - rank 5,11- rank 7, 4- rank 6.
El 0 se comeria los primeros 4 puestos. Creo que no es lo que buscas.

2) Dicho lo anterior you recomendaria que obtengas la matriz de la siguiente
manera:

=SI($A$1:$G$1*{1;0;0;0;1;0;1},$A$1:$G$1)

asi obtendras {2;FALSO;FALSO;FALSO;11;FALSO;4} y como FALSO no interfiere en
el ranking, solo se van a comparar los valores numericos.

3) Ahora, dado que no podemos (creo yo) usar la funcion JERARQUIA, podriamos
intentar usar la siguiente formula para sacar el ranking:

=SI(ESERROR(COINCIDIR(A1;matriz;0));"";COLUMNAS(matriz)+1-SUMAPRODUCTO(--(A1<=matriz)))

y copiamos la formula en horizontal atraves de todo el rango evaluado.

Nota: Si tuvieramos que trabajar con rangos/matrizes verticales, deberiamos
usar la funcion FILAS() no COLUMNAS().

Aqui te pongo un fichero de musetra:
http://www.telefonica.net/web/kl/Jerarquia.xls

Saludos,
KL


wrote in message
news:0beb01c53b7f$32349780$
Quiero aplicar la función jerarquia a un rango de celdas
(NO CONTIGUAS) y como parece que la función jerarquia no
admite rangos de celdas no contiguos, se me ha ocurrido
multiplicar la fila por un vector fila de 0 y 1, de tal
forma que obtengo un nuevo vector fila con sólo los valores
que me interesan.

Defino el vector fila con un Nombre (menu insertar,
nombres) y defino otro vector fila, que llamo
VectorProducto, como producto del vector anterior y del
rango de la fila de la hoja de cálculo. Hasta aquí todo
correcto, pero cuando utilizo la formula:

=jerarquia(B5;VectorProducto)

me sale error #VALOR.

Si cargo VectorProducto en celdas (o examino su valor con
pf9) tiene los datos correctos, sin embargo, en la formula
de jerarquia, vectorproducto no tiene datos (concretamente
tiene el error #VALOR.

¿Alguien puede aclarar el motivo o/y resolver el problema?
Admito otros enfoques para resolver el problema.
Gracias por adelantado.
Respuesta Responder a este mensaje
#2 Anonimo
07/04/2005 - 18:24 | Informe spam
Muchas gracias KL, tiene buena pinta, mañana lo probaré.
Realmente no había caido en el 'pequeño' detalle de que el
cero iría antes que los valores que me interesan, no
obstante, esto no sería un problema insalvable. El problema
grave es que creo (yo tambien) que no se puede utilizar la
función jerarquia con un vector con datos obtenidos en un
cálculo.



Hola anonimo,

Al parecer a la funcion JERARQUIA no le gustan las


matrices sino las
referencias. Unas cuantas ideas sponiendo que trabajas con


rangos/matrices
horizontales (si no, habria que modificar algunas cosas):

1) Al multiplicar tu rango, digamos $A$1:$G$1 (que


contiene los valores,
digamos {2;6;8;9;11;33;4}) por una matriz tipo


{1;0;0;0;1;0;1}, obtendras:
{2;0;0;0;11;0;4}. Suponiendo que fuese posible aplicarle


la funcion
JERARQUIA, el ranking que obtendrias seria 2 - rank 5,11-


rank 7, 4- rank 6.
El 0 se comeria los primeros 4 puestos. Creo que no es lo


que buscas.

2) Dicho lo anterior you recomendaria que obtengas la


matriz de la siguiente
manera:

=SI($A$1:$G$1*{1;0;0;0;1;0;1},$A$1:$G$1)

asi obtendras {2;FALSO;FALSO;FALSO;11;FALSO;4} y como


FALSO no interfiere en
el ranking, solo se van a comparar los valores numericos.

3) Ahora, dado que no podemos (creo yo) usar la funcion


JERARQUIA, podriamos
intentar usar la siguiente formula para sacar el ranking:

=SI(ESERROR(COINCIDIR(A1;matriz;0));"";COLUMNAS(matriz)+1-SUMAPRODUCTO(--(A1<=matriz)))

y copiamos la formula en horizontal atraves de todo el


rango evaluado.

Nota: Si tuvieramos que trabajar con rangos/matrizes


verticales, deberiamos
usar la funcion FILAS() no COLUMNAS().

Aqui te pongo un fichero de musetra:
http://www.telefonica.net/web/kl/Jerarquia.xls

Saludos,
KL


wrote in message
news:0beb01c53b7f$32349780$
Quiero aplicar la función jerarquia a un rango de celdas
(NO CONTIGUAS) y como parece que la función jerarquia no
admite rangos de celdas no contiguos, se me ha ocurrido
multiplicar la fila por un vector fila de 0 y 1, de tal
forma que obtengo un nuevo vector fila con sólo los valores
que me interesan.

Defino el vector fila con un Nombre (menu insertar,
nombres) y defino otro vector fila, que llamo
VectorProducto, como producto del vector anterior y del
rango de la fila de la hoja de cálculo. Hasta aquí todo
correcto, pero cuando utilizo la formula:

=jerarquia(B5;VectorProducto)

me sale error #VALOR.

Si cargo VectorProducto en celdas (o examino su valor con
pf9) tiene los datos correctos, sin embargo, en la formula
de jerarquia, vectorproducto no tiene datos (concretamente
tiene el error #VALOR.

¿Alguien puede aclarar el motivo o/y resolver el problema?
Admito otros enfoques para resolver el problema.
Gracias por adelantado.




.

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