¿Cómo completar los datos de una columna de una hoja con los datos de otra hoja en referencia a una columna de datos común?

Después de buscar en varios sitios y de hacer búsquedas en todoexpertos, no me he aclarado de como podría resolver mi ejercicio, intentaré ser breve. He intentado con BUSCARV, también haciendo una consolidación de Datos, y no he sido capaz.

Tengo dos hojas con una columna con códigos de artículos común pero que sus datos están en diferente orden, incluso hay datos que solo existen en una hoja, lo que quiero hacer es capturar los códigos EAN, que es una numeración de 13 números, en la que tengo vacía pero ordenada. ¿No se si me he explicado bien?

Pongo un Ejemplo:

Hoja 1(hija)

Articulos                 EAN

001 A COMPLETAR con datos de la HOJA 2 (madre)

002 A COMPLETAR con datos de la HOJA 2 (madre)

003 A COMPLETAR con datos de la HOJA 2 (madre)

Hoja 2 (madre)

Artículos EAN

003 1234567890123

001 2345624324374

002 6593747367595

Agradeceré cualquier ayuda que apunte a solucionarlo, seguro que es muy fácil, pero me está costando encontrar como hacerlo.

2 respuestas

Respuesta
2

.27.04.17

Buenos días, Jesús

Coincido en que lo que buscas es la típica aplicación de la función BUSCARV(), sobre todo por la existencia de un ID común. El hecho de que las bases estén desordenadas no constituye problema para que la función traiga el código EAN13 si, por supuesto, estuviera en la hoja madre.

Para hacerlo simple, vamos a suponer que tu listado madre estuviese en el rango A6:G240 de la "Hoja 2" que mencionaste

Y si el primer ID a actualizar estuviera en la celda A4 de la Hoja 1 (hija), escribe ésta fórmula en la celda C4 :

 =BUSCARV($A4;'Hoja 2'!$A$6:$G$240;7;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égale en las restantes de esta misma columna.

Una nota aparte merece ese formato "00X" que noto en el código de referencia. No sé si esos ceros antes del número son reales o es sólo un formato de celda que los completa cuando el ID tiene menos de tres cifras.

En cualquier caso, asegúrate de que el código que buscas esté escrito del mismo modo que en la base donde lo estás buscando.

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

El primero es el valor que se busca en la base
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: 'Hoja 2'!$A$6:$G$240

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 completar los códigos EAN, indiqué la columna 2, para que traiga ese dato si estuviera en la segunda columna de la base". Si pegas esta 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;'Hoja 2'!$A$6:$G$240;7;FALSO));"ID inexistente";BUSCARV($A4;'Hoja 2'!$A$6:$G$240;7;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.

.

¡Gracias noooo... muchísimas gracias Fernando!

Un saludo.

Jesús

.

Me alegro de que te haya ayudado. Tenía que funcionar!

Un placer!

Abrazo

Fer

.

Respuesta
1

[Hola 

Usa la función buscarV, pero primero aplica un filtro para ambas hojas ordenados de menor a mayor.

¡Gracias Adriel por tu pronta respuesta!

Había pensado que la solución podía pasar por ordenar una hoja en relación a la otra, el caso es que la hoja hija, es decir la que quiero completar con los datos de la hoja madre esta ordenada con otro criterio, y no puedo cambiarlo pues me viene impuesto por otro código de otra columna que no es común. Y además la hoja madre tiene muchos más códigos que la hoja hija. Lo que me dices seria correcto para el ejemplo que te he puesto, lo probaré igualmente a ver que obtengo.

El ejercicio lo quiero usar para un ejemplo real de una tienda que tiene una hoja (hija) con artículos y las columnas referencia propia, referencia proveedor, EAN(vacía), precios, descripciones... etc y la hoja madre del proveedor que tiene en común la columna referencia proveedor, EAN(Dato que quiero que me capture) en relación a la columna referencia proveedor.

Gracias otra vez.

Jesús.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas