Problema con la función Buscar

25/07/2005 - 20:44 por Kernel | Informe spam
Tengo un archivo de Excel con dos hojas. En la hoja 2 que se llama
Tarifa tengo una lista con las tarifas de productos (componentes
informáticos) tal y como llega del proveedor. En esta lista están las
columnas Código (A), Familia (B), Descripción (C) y Precio (D) entre
otras y van desde la fila 2 hasta la 1212 actualmente (unas veces habra
algunas más otras veces algunas menos)

En la Hoja 1 tengo unos presupuestos ya predefinidos de ordenadores con
productos de la Hoja 2 (ademas de los productos de venta más
habitual), para lo cual uso la función Buscar, para que mediante los
códigos que ya tengo introducidos, me busque los valores de las celdas
de al lado (familia, producto y precio).

Por ejemplo, en C9 tengo metido un código, en D9 tengo:
=BUSCAR(C9;tarifa!$A$2:$A$1300;tarifa!$B$2:$B$1300) para que me ponga
la familia, y hago lo mismo pero con la columna C en vez de B para que
me ponga el precio. Tengo puesto de $A$2 hasta $A$1300 porque aunque
actualmente son 1212 productos, puede aumentar, y doy suficiente margen
por si acaso.

Hasta ahí todo bien, el problema es cuando uno de los productos ya no
existe, es decir cuando busca un código en la hoja Tarifa y no lo
encuentra. En vez de poner Error o no poner nada, lo que hace es poner
el siguiente componente que encuentra. Al hacer esto, muchas veces no
me doy cuenta y creo que está bien cuando en realidad está mal y no
me doy cuenta de que el componente ya no existe, ademas de tener mal el
precio del ordenador completo y a lo mejor un monitor donde debería
haber un teclado, por ejemplo. ¿Hay alguna forma de que no haga esto?

Un saludo y perdón por el rollo :-)

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
25/07/2005 - 21:20 | Informe spam
hola, Kernel !

... archivo... con dos hojas
... hoja 2... se llama Tarifa... lista con las tarifas de productos... tal y como llega del proveedor
... Codigo (A), Familia (B), Descripcion (C) y Precio (D) entre otras... desde la fila 2 hasta la 1212
... unas veces habra algunas mas otras veces algunas menos
... Hoja 1... presupuestos ya predefinidos de ordenadores con productos de la Hoja 2
... uso la funcion Buscar, para que mediante los codigos... busque los valores de las celdas de al lado (familia, producto y precio).
... ejemplo, en C9 tengo metido un codigo, en D9 tengo: =BUSCAR(C9;tarifa!$A$2:$A$1300;tarifa!$B$2:$B$1300)
... el problema es cuando uno de los productos ya no existe
... en vez de poner Error o no poner nada, lo que hace es poner el siguiente componente que encuentra [...]



podrias cambiar a alguna funcion de ->busqueda y coincidencia exacta<- para que te devuelva un valor de error [si no existe, p.e.]
a) =buscarv(c9;tarifa!$a$2:$b$1300;2;0) o... =buscarv(c9;tarifa!$a$2:$b$1300;2;falso)
b) =indice(tarifa!$b$2:$b$1300;coincidir(c9;tarifa!$a$2:$a$1300;0))
c) [hay mas alternativas] :)

si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#2 David
25/07/2005 - 21:22 | Informe spam
Prueba utilizar esta función dentro de una función SI. La idea es detectar
si el código encontrado corresponde al código que tienes en C9. En caso
afirmativo, podrías mostrar el valor encontrado, en caso contrario,
mostrarías un mensaje de error. Algo así como esto:

=SI(BUSCAR(C9;tarifa!$A$2:$A$1300;tarifa!$A$2:$A$1300)É;BUSCAR(C9;tarifa!$A$2:$A$1300;tarifa!$B$2:$B$1300);"No encontrado")


"Kernel" escribió:

Tengo un archivo de Excel con dos hojas. En la hoja 2 que se llama
Tarifa tengo una lista con las tarifas de productos (componentes
informáticos) tal y como llega del proveedor. En esta lista están las
columnas Código (A), Familia (B), Descripción (C) y Precio (D) entre
otras y van desde la fila 2 hasta la 1212 actualmente (unas veces habra
algunas más otras veces algunas menos)

En la Hoja 1 tengo unos presupuestos ya predefinidos de ordenadores con
productos de la Hoja 2 (ademas de los productos de venta más
habitual), para lo cual uso la función Buscar, para que mediante los
códigos que ya tengo introducidos, me busque los valores de las celdas
de al lado (familia, producto y precio).

Por ejemplo, en C9 tengo metido un código, en D9 tengo:
=BUSCAR(C9;tarifa!$A$2:$A$1300;tarifa!$B$2:$B$1300) para que me ponga
la familia, y hago lo mismo pero con la columna C en vez de B para que
me ponga el precio. Tengo puesto de $A$2 hasta $A$1300 porque aunque
actualmente son 1212 productos, puede aumentar, y doy suficiente margen
por si acaso.

Hasta ahí todo bien, el problema es cuando uno de los productos ya no
existe, es decir cuando busca un código en la hoja Tarifa y no lo
encuentra. En vez de poner Error o no poner nada, lo que hace es poner
el siguiente componente que encuentra. Al hacer esto, muchas veces no
me doy cuenta y creo que está bien cuando en realidad está mal y no
me doy cuenta de que el componente ya no existe, ademas de tener mal el
precio del ordenador completo y a lo mejor un monitor donde debería
haber un teclado, por ejemplo. ¿Hay alguna forma de que no haga esto?

Un saludo y perdón por el rollo :-)


Respuesta Responder a este mensaje
#3 David
25/07/2005 - 21:49 | Informe spam
Gracias, Hector Miguel. Tu respuesta me ha hecho reflexionar.

Hasta aquí me he resistido a utilizar la función Buscarv, porque tenía dos
restricciones: que el dato buscado se encontrara en la primera columna de la
matriz a buscar, y que ésta última tuviera 1024 o menos filas.

Aquí caí en un error craso: no verifiqué que al cambiar a la versión 2003,
la segunda restricción ya no existe, y puedes usar la fórmula BuscarV sin más
límites que el tamaño de tu hoja de Excel. Así que Kernel, creo que esta es
tu mejor opción.

Saludos a ambos...

"Héctor Miguel" escribió:

hola, Kernel !

> ... archivo... con dos hojas
> ... hoja 2... se llama Tarifa... lista con las tarifas de productos... tal y como llega del proveedor
> ... Codigo (A), Familia (B), Descripcion (C) y Precio (D) entre otras... desde la fila 2 hasta la 1212
> ... unas veces habra algunas mas otras veces algunas menos
> ... Hoja 1... presupuestos ya predefinidos de ordenadores con productos de la Hoja 2
> ... uso la funcion Buscar, para que mediante los codigos... busque los valores de las celdas de al lado (familia, producto y precio).
> ... ejemplo, en C9 tengo metido un codigo, en D9 tengo: =BUSCAR(C9;tarifa!$A$2:$A$1300;tarifa!$B$2:$B$1300)
> ... el problema es cuando uno de los productos ya no existe
> ... en vez de poner Error o no poner nada, lo que hace es poner el siguiente componente que encuentra [...]

podrias cambiar a alguna funcion de ->busqueda y coincidencia exacta<- para que te devuelva un valor de error [si no existe, p.e.]
a) =buscarv(c9;tarifa!$a$2:$b$1300;2;0) o... =buscarv(c9;tarifa!$a$2:$b$1300;2;falso)
b) =indice(tarifa!$b$2:$b$1300;coincidir(c9;tarifa!$a$2:$a$1300;0))
c) [hay mas alternativas] :)

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



Respuesta Responder a este mensaje
#4 Héctor Miguel
25/07/2005 - 22:24 | Informe spam
hola, David !

Hasta aqui me he resistido a utilizar la funcion Buscarv, porque tenia dos restricciones:
que el dato buscado se encontrara en la primera columna de la matriz a buscar
y que esta ultima tuviera 1024 o menos filas [...]



[creo que] confundes el 'limite' de 1024 caracteres 'reconocibles para una formula' [segun versiones de excel] -?-
[el cual] NO es aplicable al numero de celdas en rangos para argumentos de funciones como buscarv -?-

si te refieres a algo diferente [de lo supuesto anterior]... comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#5 Kernel
26/07/2005 - 17:08 | Informe spam
Pues muchas gracias a todos por responder tan rápido y perdon por
haber tardado tanto en responder, pero es que ando un poco liado. De
momento he probado lo que me dijo David, lo de utilizar la funcion SI
para que sino lo encuentra muestra error y parece que funciona aunque
tengo que mirarlo mas en profundidad. Las demas opciones tambien les
echaré un vistazo a ver si van.

Pues muchas gracias a todos y un saludo

David ha escrito:
Dejé de utilizar esta función, porque al buscar en una tabla muy grande, las
filas 1025 en adelante simplemente las ignoraba y no localizaba los datos.
¿error de mi instalción, o de mi versión?

Lamentablemente ya no tengo, ni esa máquina ni esta versión, así que lo
único que puedo asegurar con certeza, es que en la versión 2003 no existe ese
problema...

Gracias por tu comentario.

"Héctor Miguel" escribió:

> hola, David !
>
> > Hasta aqui me he resistido a utilizar la funcion Buscarv, porque tenia dos restricciones:
> > que el dato buscado se encontrara en la primera columna de la matriz a buscar
> > y que esta ultima tuviera 1024 o menos filas [...]
>
> [creo que] confundes el 'limite' de 1024 caracteres 'reconocibles para una formula' [segun versiones de excel] -?-
> [el cual] NO es aplicable al numero de celdas en rangos para argumentos de funciones como buscarv -?-
>
> si te refieres a algo diferente [de lo supuesto anterior]... comentas?
> saludos,
> hector.
>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida