Evitar ceros a partir de un DESREF

08/09/2008 - 14:43 por vitobacon | Informe spam
Hola, buenas.
Estoy usando DESREF para localizar datos de una database y hacerlos aparecer
en una otra hoja, según lo seleccionado en una celda que tiene una lista de
validación.
Si hay datos los muestra, pero si no los hay sale un cero.
Me gustaría evitar el cero, y que dejara la celda en blanco.

La fórmula que aplico es la siguiente:
ÞSREF(DataBase!$A$2;COINCIDIR(FICHA!$B$4;ListaClaves;0)-1;3)

donde:
- DataBase es la hoja donde están los datos
- FICHA es la hoja donde aparecen los datos
- $B$4 es la celda donde está la lista de validación, en la hoja FICHA
- ListaClaves es el rango de origen para la lista de validación

Pues eso, a ver si aprendo algo más.
Un saludo y gracias.
Álvaro

Preguntas similare

Leer las respuestas

#1 julian-vlc-sp
08/09/2008 - 14:52 | Informe spam
¡Importante!: Colabora con el grupo.Contesta a este mensaje
y dinos si te sirvió o no la respuesta dada. Muchas gracias.

Prueba algo parecido a lo siguiente:

=si(DESREF(DataBase!$A$2;COINCIDIR(FICHA!$B$4;ListaClaves;0)-1;3);DESREF(DataBase!$A$2;COINCIDIR(FICHA!$B$4;ListaClaves;0)-1;3);"")


SALUDOS.
Julián-Valencia-España
http://www.tinyurl.com/julianvalencia


"vitobacon" escribió en el mensaje
news:%
Hola, buenas.
Estoy usando DESREF para localizar datos de una database y hacerlos
aparecer en una otra hoja, según lo seleccionado en una celda que tiene
una lista de validación.
Si hay datos los muestra, pero si no los hay sale un cero.
Me gustaría evitar el cero, y que dejara la celda en blanco.

La fórmula que aplico es la siguiente:
ÞSREF(DataBase!$A$2;COINCIDIR(FICHA!$B$4;ListaClaves;0)-1;3)

donde:
- DataBase es la hoja donde están los datos
- FICHA es la hoja donde aparecen los datos
- $B$4 es la celda donde está la lista de validación, en la hoja FICHA
- ListaClaves es el rango de origen para la lista de validación

Pues eso, a ver si aprendo algo más.
Un saludo y gracias.
Álvaro


Respuesta Responder a este mensaje
#2 vitobacon
09/09/2008 - 08:23 | Informe spam
Hola Julián.
Bien, eso va bien, pero me resistía a escribirlo por lo reiterativo.
Gracias por la solución, que me resuelve el problema.

Ahora pregunto:
¿Existiría una posibilidad de hacerlo de otra manera sin necesidad de
repetir todo el DESREF... en la parte de la condición y en la parte positiva
de la función SI?

Un saludo.
Álvaro


"julian-vlc-sp" escribió en el mensaje
news:eT%
> ¡Importante!: Colabora con el grupo.Contesta a este mensaje
y dinos si te sirvió o no la respuesta dada. Muchas gracias.
>
Prueba algo parecido a lo siguiente:

=si(DESREF(DataBase!$A$2;COINCIDIR(FICHA!$B$4;ListaClaves;0)-1;3);DESREF(DataBase!$A$2;COINCIDIR(FICHA!$B$4;ListaClaves;0)-1;3);"")


SALUDOS.
Julián-Valencia-España
http://www.tinyurl.com/julianvalencia


"vitobacon" escribió en el mensaje
news:%
Hola, buenas.
Estoy usando DESREF para localizar datos de una database y hacerlos
aparecer en una otra hoja, según lo seleccionado en una celda que tiene
una lista de validación.
Si hay datos los muestra, pero si no los hay sale un cero.
Me gustaría evitar el cero, y que dejara la celda en blanco.

La fórmula que aplico es la siguiente:
ÞSREF(DataBase!$A$2;COINCIDIR(FICHA!$B$4;ListaClaves;0)-1;3)

donde:
- DataBase es la hoja donde están los datos
- FICHA es la hoja donde aparecen los datos
- $B$4 es la celda donde está la lista de validación, en la hoja FICHA
- ListaClaves es el rango de origen para la lista de validación

Pues eso, a ver si aprendo algo más.
Un saludo y gracias.
Álvaro






Respuesta Responder a este mensaje
#3 vitobacon
09/09/2008 - 08:59 | Informe spam
Hola de nuevo Julián.
Tengo un problema !!
Al escribir el mensaje de feedback anterior no había testeado TODAS las
opciones.
Efectivamente, resuelve el problema si NO HAY DATOS.
Pero si hay datos en la DataBase me sale #!VALOR
¿Esto por qué puede ser?

(No sé si me he explicado bien)

Nota importante: Los datos de que hablo son TEXTO, no NUMEROS
Respuesta Responder a este mensaje
#4 Juan M
09/09/2008 - 10:13 | Informe spam
Hola Álvaro,

En tanto regresa Julián te comento alguna opción

Si sólo vas a devolver un solo valor de una tabla, prueba a emplear la
función Indice, no es volátil a diferencia de desref
(http://www.decisionmodels.com/calcsecretsi.htm)

La forma de emplearla sería similar
=INDICE(DataBase!$A$2:$C$200;COINCIDIR(FICHA!$B$4;ListaClaves;0);4)

ÞSREF(DataBase!$A$2;COINCIDIR(FICHA!$B$4;ListaClaves;0)-1;3)

Para evitar que cuando no tengas valor escriba el cero y no tengas que
duplicar la fórmula podrías emplear un formato condicional que cambie el
color de la tinta a blanco o un formato personalizado:

el formato personalizado sería [blanco]0
el formato condicional sería si el valor de la celda es 0 aplicas el formato
condicional que creas oportuno

Un saludo,
Juan





"vitobacon" escribió
Hola de nuevo Julián.
Tengo un problema !!
Al escribir el mensaje de feedback anterior no había testeado TODAS las
opciones.
Efectivamente, resuelve el problema si NO HAY DATOS.
Pero si hay datos en la DataBase me sale #!VALOR
¿Esto por qué puede ser?

(No sé si me he explicado bien)

Nota importante: Los datos de que hablo son TEXTO, no NUMEROS


Respuesta Responder a este mensaje
#5 vitobacon
09/09/2008 - 11:30 | Informe spam
Hola Juan.
¡Muy buena idea esa del formato condicional con tinta blanca!
Al final he dejado lo que tenía al principio (lo del DESREF... etc) y le he
puesto el formato ese y me da el resultado apetecido.
A veces las ideas más sencillas son las que se nos pasan por alto. De todos
modos, para poder tener esas ideas se necesita conocimiento y experiencia.
Aún quedo a la espera de lo que me pueda aportar Julián.
Un saludo y muchas gracias.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida