Mi situación: Recibí una enorme hoja de Excel de un fabricante de productos para mi tienda online. Este formato:
product ID | price | name | ...
Cada semana el fabricante me envía una lista actualizada con nuevos productos. Entonces necesito saber qué productos son nuevos en esa lista. Entonces lo que necesito es un fragmento de código, que hace lo siguiente:
- Voy a insertar la lista de productos anterior en la hoja 1 (manualmente)
- Voy a insertar la nueva lista de productos en la hoja 2 (manualmente)
- Compare los ID de producto de Sheet1 y Sheet2
- Inserte los productos (filas) de la nueva lista (Hoja2) en la Hoja3, que no están presentes en la lista anterior (Hoja1)
Entonces, el resultado en Sheet3 serían todos productos nuevos. Espero que puedas empujarme en la dirección correcta.
Saludos
Respuesta1
Creo que podrías necesitar algo como esto:
=VLOOKUP(Sheet1!A1:A100,Sheet2!A1:F100,6,FALSE)
Por supuesto, también puedes resolver esto usando VBA con botones y todo tipo de cosas sofisticadas.
Respuesta2
En realidad, lo haría de una manera completamente diferente usando el complemento PowerQuery de Microsoft, pero no sé qué tan bien funciona en Excel 2010 (no funcionaría en Excel 2007). Con eso, puede agregar consultas con agrupación en su ID de producto para obtener una lista única.
La otra forma de hacerlo es mantener las hojas en archivos diferentes y usar la herramienta de consulta de Excel para realizar una consulta de combinación de las dos tablas en una nueva tabla.
De cualquier manera, una vez que tenga su nueva tabla, la guardará para que esté lista para la próxima combinación.
Respuesta3
EnSheet2
(artículo actualizado), agregue una columna D que verifique si el producto es nuevo:
=MATCH(A2,Sheet1!$A:$A,0)>0
Agregue una columna E que proporcione laTRUE
valores de la columna D un identificador único
=D5&COUNTIF(D$2:D2)
Ahora vaya a Sheet3
(los nuevos elementos) y coloque una columna de índice en, digamos, la columna E con valores TRUE1
,TRUE2
etc. TRUE3
, tantos como crea que necesitará (por ejemplo, si un día hay 20 elementos nuevos y solo subiste a TRUE15
, entonces te perderás 5 elementos).
Luego podrás traer los nuevos artículos con:
=INDEX(Sheet2!A:A,MATCH($E2,Sheet2!$E:$E,0))