Asignar datos a una celda dependiendo de otra

Necesito saber si alguien del foro pudiera ayudarme:

Tengo en una columna un listado de códigos de productos y necesito que al momento de seleccionar uno de los códigos de la columna A en la columna B automáticamente introduzca el nombre del producto en B2, B3, B4, B5...

Respuesta
1

.19.04.17

Buenas tardes, Raziel

Me parece que es la típica aplicación de la función BUSCARV(), sobre todo por la existencia de un ID común.

Para hacerlo simple, vamos a suponer que tu listado estuviese en la "Hoja1" y en el rango B2:D290. Algo así como esto:

Y si el primer ID a actualizar estuviera en la celda A4 de tu archivo reportemaestro.xls, escribe ésta fórmula en la celda B4 :

=BUSCARV($A4;Hoja1!$B$2:$D$290;2;FALSO)

Ten en cuenta si usas comas o punto y coma para separar los argumentos. Yo usé ";" en este ejemplo. Asígnale el formato deseado y, luego, copia esta celda y pégala en las restantes de esta misma columna.

Entonces, la función Buscarv necesita tres argumentos más un cuarto opcional.

El primero es el valor que se busca en la base (B2:D290 en el ejemplo)
Esta, a su vez, es el segundo argumento de la fórmula. El uso del signo $ es para que siempre se refiera a ese rango aún copiando la fórmula a otras celdas/hojas. Notarás que excede la cantidad de elemento para que considere futuras incorporaciones. Desde luego puede estar en la misma hoja o en otra, pero en este caso deberás indicarle el nombre en la dirección de la base. Por ejemplo: Hoja1!$B$2:$D$290

Importante: Nota que la primera columna de la izquierda del rango de búsqueda es donde está la clave o condición a buscar.

El tercer argumento indica qué columna de la base indicada debe ser mostrada donde está la fórmula. Cómo intento mostrar las descripciones, indiqué la columna 2. Para que traiga el dato de "Rubro" lo cambiaríamos a 3 y así con los otros que hubiere. Si pegas esta misma fórmula en otra celda y cambias el número de columna, traerá lo que halla en ella.

Finalmente el cuarto argumento opcional, cuando está en 0 (Falso) obliga a una búsqueda exacta de lo que está en la celda A4. Si no encuentra ese código, la fórmula devolverá #N/A! (No disponible)

Para evitar ese #N/A! puedes usa esta variante que es similar:

=SI(ESNOD(BUSCARV($A4;Hoja1!$B$2:$D$290;2;FALSO));"ID inexistente";BUSCARV($A4;Hoja1!$B$2:$D$290;2;FALSO))

Bien, esta fórmula devolverá "ID inexistente"; si el código o nombre en la celda de búsqueda no existe en la columna correspondiente de la base que creaste. Pero, si lo encuentra, trae ese valor.

Para evitar ese #N/A! es que usé ESNOD() que es una función que devuelve verdadero si encuentra un error del tipo #N/A (NO Disponible) es decir que el dato no fue encontrado en la base de búsqueda. El condicional SI() es el encargado de mostrar un mensaje de error o el resultado según el caso.

.

Buenas, Raziel

Si hubieses tenido la oportunidad de probar la solución, espero que te haya ayudado a resolver tu problema.

Si así fuera, agradeceré un comentario y que la valorices para finalizarla.
(Recuerda que mantener cierto número de respuestas pendientes impide que otros usuarios puedan consultarme)

Caso contrario, preguntame de nuevo.

Entiendo que eres nuevo por aquí.
Una vez que recibiste la respuesta debería asignarle una valorización con el botón de opciones (Excelente, Util, Etc) que tienes al pie, para que quede finalizada.

Cordialmente,
Fernando

.

¡Gracias! Por tu respuesta y tiempo para responder a mi pregunta, la vedad me fue de mucha ayuda!

Has de disculpar la respuesta casi un mes después, solo que por cuestiones laborales y técnicas no había tenido la oportunidad de agradecerte.

SALUDOS!! Y MIL GRACIAS!!

.

Un placer!

Cada tanto reviso las respuestas pendientes por si hubiese quedado alguna duda.

Gracias por finalizar.

Abrazo

Fer

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas