Direccionamiento indirectos

22/11/2005 - 09:57 por Findeo | Informe spam
Buenos días.
Tengo un problema que voy a ver si puedo explicarlo.

En una hoja tengo definidos una serie de nombres que hacen referencia a
rangos.
Así, por ejemplo, el nombre Result, se refiere al rango

=Hoja1!$B$2:$Q$2;Hoja1!$B$2:$B$17

así hasta 16 nombres con rangos diferentes, pero todos con la misma
estructura.

El caso es que puedo usar el nombre en una fórmula del tipo de

=CONTARA(Result)
o también
=HALLAR("-";Result)

y funcionan correctamente.

Por otro lado, en la columna A (desde A2 hasta A17) tengo los nombres de los
rangos definidos (A2 contiene el texto Result y así sucesivamente) y a este
rango con nombres lo he denominado Factores (que se refiere al rango
=Hoja1!$A$2:$A$17)

Si ahora utilizo la fórmula =INDICE(Factores;1) me devuelve el nombre del
primer campo (en este caso Result)

Lo que ahora quisiera, para facilitar la introducción de los diferentes
nombres en varias fórmulas, es poder utilizar el direccionamiento indirecto
(o algo así), de tal modo que pueda leer el nombre de la celda A2 y trabajar
con él.

Es decir, quisiera hacer algo como

=CONTARA(INDICE(Factores;1)), de tal modo que tradujera como

=CONTARA(Result)

sin embargo, si utilizo esa fórmula la traduce como

=CONTARA($A$2), ya que el primer valor de la Factores está en A2, y el
resultado es 1.

No sé si he sido suficientemente claro o queda alguna duda sobre mi problema
(de ser así, por favor, hacédmelo saber), pero quisiera saber si se puede
hacer algo como lo que deseo (sin utilizar VBA).

A la espera de sugerencias, un saludo.


Findeo

Preguntas similare

Leer las respuestas

#1 Juan
22/11/2005 - 10:55 | Informe spam
Hola

prueba con la funcion INDIRECTO

=CONTARA(INDIRECTO(INDICE(Factores;1)))

un saludo
juan
Respuesta Responder a este mensaje
#2 Findeo
22/11/2005 - 15:03 | Informe spam
El problema es que, al usar la expresión que comentas, el resultado de
=INDIRECTO(INDICE(Factores;1))
es
=INDIRECTO("Result")

Es decir, excel lee el valor de INDICE(Result;1) y le agrega unas comillas,
con lo cual, no lo reconoce como un nombre definido y devuelve #REF

Muchas gracias por la sugerencia, pero no creo que funcione (al menos a mí
no me funciona).

Un saludo,
Findeo


"Juan" escribió:

Hola

prueba con la funcion INDIRECTO

=CONTARA(INDIRECTO(INDICE(Factores;1)))

un saludo
juan



Respuesta Responder a este mensaje
#3 Juan
22/11/2005 - 15:44 | Informe spam
Hola

Despues de hacer alguna prueba mas, no me ha dado errores la formula excepto
cuando solo pongo la formula que comentas

=indirecto(indice(Factores;1))


sin embargo si la utilizo en formulas como contar, suma, o como formula
matricial para sacar los valores de la matriz no me da ningun error y los
resultados son los esperados

=contar(indirecto(indice(Factores;1))
con esta formula me cuenta los valores que tengo en rango creado como reslut

un saludo
juan

"Findeo" escribió en el mensaje
news:
El problema es que, al usar la expresión que comentas, el resultado de
=INDIRECTO(INDICE(Factores;1))
es
=INDIRECTO("Result")

Es decir, excel lee el valor de INDICE(Result;1) y le agrega unas
comillas,
con lo cual, no lo reconoce como un nombre definido y devuelve #REF

Muchas gracias por la sugerencia, pero no creo que funcione (al menos a mí
no me funciona).

Un saludo,
Findeo


"Juan" escribió:

Hola

prueba con la funcion INDIRECTO

=CONTARA(INDIRECTO(INDICE(Factores;1)))

un saludo
juan



Respuesta Responder a este mensaje
#4 Findeo
22/11/2005 - 16:26 | Informe spam
Buenas tardes, Juan.
A mí me sigue dando errores.

Cuando trato de contar loas celdas no vacías del rango Result, mediante la
fórmula que indicabas de =contara(indirecto(indice(Factores;1))), y voy
ejecutando paso a paso la fórmula mediante la utilidad de "Evaluar Formula",
la función intermedia, que pone es INDIRECTO("Result"), con comillas, cuyo
resultado es #REF.

Al aplicar la función de CONTARA, devuelve el resultado de 1, pero realmente
hay 6 valores en el rango (que es el valor que obtengo si pongo directamente
la fórmula
=CONTARA(Result) )

Un saludo,



Findeo


"Juan" escribió:

Hola

Despues de hacer alguna prueba mas, no me ha dado errores la formula excepto
cuando solo pongo la formula que comentas

=indirecto(indice(Factores;1))


sin embargo si la utilizo en formulas como contar, suma, o como formula
matricial para sacar los valores de la matriz no me da ningun error y los
resultados son los esperados

=contar(indirecto(indice(Factores;1))
con esta formula me cuenta los valores que tengo en rango creado como reslut

un saludo
juan

"Findeo" escribió en el mensaje
news:
> El problema es que, al usar la expresión que comentas, el resultado de
> =INDIRECTO(INDICE(Factores;1))
> es
> =INDIRECTO("Result")
>
> Es decir, excel lee el valor de INDICE(Result;1) y le agrega unas
> comillas,
> con lo cual, no lo reconoce como un nombre definido y devuelve #REF
>
> Muchas gracias por la sugerencia, pero no creo que funcione (al menos a mí
> no me funciona).
>
> Un saludo,
> Findeo
>
>
> "Juan" escribió:
>
>> Hola
>>
>> prueba con la funcion INDIRECTO
>>
>> =CONTARA(INDIRECTO(INDICE(Factores;1)))
>>
>> un saludo
>> juan
>>
>>
>>



Respuesta Responder a este mensaje
#5 Juan
22/11/2005 - 17:47 | Informe spam
Hola

Lo que hace la funcion indirecto es devolver la referencia especificada por
una cadena de texto que es lo que le estoy enviando por medio de la funcion
indice.

Lo unico que se me ocurre es que no coincidan los nombres que tienes
definidos y los de la columna donde has definido factores que es cuando
salta el error #REF.

Me puedes mandar una copia de tu archivo, por favor? (Quita el nospam) o si
lo prefieres te envio una copia de la prueba que he hecho yo.

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