Pregunta Devuelve una matriz desde una búsqueda


Tengo una tabla con la columna A que contiene proveedores y la columna B que contiene códigos de productos. Un vendedor tiene muchos códigos de productos.

En otro lugar, necesito una variedad de códigos de producto para un proveedor específico. La tabla de productos de proveedores es dinámica y se agregan continuamente nuevos elementos.

Un ejemplo: la hoja del producto del proveedor tiene la estructura descrita anteriormente y tiene varios miles de filas. Una hoja de trabajo tiene la columna A con un nombre de proveedor y deseo proporcionar una lista desplegable de los productos del proveedor nombrado en la columna B. Para esto necesito una manera de proporcionar la matriz para la validez de los datos.

Se puede hacer esto?


2


origen


Hmm, durante varios miles de filas, pensaría en importar los datos en un SQL db (¿Base LO?) Y continuar trabajando allí. - tohuwawohu
No crecerá hasta ese grado. Creo que superará las 3-4000 filas. Demasiado poco para entrar en el desarrollo de DB. También necesito la misma técnica para listas más cortas con menos de cien filas y una docena de elementos B para cada entidad A. Entonces, en general, sigo buscando la respuesta teórica independientemente de cómo se ajuste a 3000 filas :) - Bgs


Respuestas:


¿No es ese el propósito de un filtro?

Copie la tabla de productos de proveedores en otra hoja con una fórmula de matriz y filtre en esa hoja nueva por el proveedor.

Nota: para copiar con la fórmula Array. Supongamos que la tabla original es de A1 a B1000. Pero esperas varios miles de filas, así que supongamos que es hasta B1048576 (el número máximo se da en mi máquina).

En la nueva hoja, seleccione A1 a B104876 (haga clic en A1, mantenga presionada la tecla shift y mueva una celda hacia la derecha para seleccionar A1: B1, mantenga presionada la tecla y presione hacia abajo, que seleccionará A1: B104876, luego suelte las teclas).

Luego escribe la fórmula =Sheet.A1:B104876 y presione control combinado, shift e intro para aplicar la fórmula Array. Ahora, lo que aparezca en rango Sheet1.A1:B104876 aparecerá en el rango Sheet2.A1:B104876, y luego puedes filtrar allí por lo que quieras.

Advertencia, esta técnica ralentizará su máquina, por lo tanto, en lugar de utilizar matrices de 104876 filas, intente utilizar un número menor.


0