
Trabajo en la industria de alimentos y bebidas y tengo un problema que el software de mi empresa no podía solucionar, así que trato de gestionarlo en Excel.
Tengo un menú que tiene muchos componentes dentro. Entonces trato de convertir el menú a sus componentes (imagen adjunta)
Solo tengo datos: Sopa de Pollo 3uds
Mi base de datos:
Column A | Column B | Column C
Chicken Soup | Water | 100 ml
Chicken Soup | Chicken Broth | 10 ml
Chicken Soup | Chicken Meat | 50 gr
Y quiero que el resultado sea:
Water 300 ml
Chicken Broth 30 ml
Chicken Meat 150 gr
Lo que he probado:
pongotoda mi base de datosen 1 hoja y use SUMIFS * (Cantidad de componentes). El SUMIFS solo para resumir todos los datos coincidentes con la columna A, y lo multiplico por sus componentes
El problema con mi trabajo:
Tengo tantas recetas (de aproximadamente 14k filas) y la fórmula que probé requiere demasiado tiempo para calcularse (aproximadamente 10 por cada dato ingresado).
Si pongo mi base de datos como mi hoja de trabajo, habrá tantas filas que resultarán en cero (porque básicamente los datos diarios tienen solo entre 5 y 10 elementos en promedio), es decir, tengo que ordenar el resultado nuevamente para tener los datos reales.
También lo intenté con la tabla dinámica, pero la tabla dinámica mostrará todos los datos incluidos en la cantidad CERO (pero solo necesito datos que solo tengan valor).
Respuesta1
Primero configure una columna que extraiga los ingredientes de la lista de recetas. Esto busca en todo el menú y encuentra todos los ingredientes asociados con ese artículo.
=IFERROR(INDEX($B$1:$B$9,SMALL(IF($A$1:$A$9=F$1,ROW($A$1:$A$9),9E+99),ROW($B1)-ROW($B$1)+1)),"")
(asegúrese de presionar ctr + Shift + Enter
ya que esto en la fórmula matricial
Luego use una coincidencia de índice para encontrar la cantidad:
=INDEX($C$1:$C$6,MATCH(F2,$B$1:$B$6,0))*G$1&INDEX($B$1:$D$6,MATCH(F2,$B$1:$B$6,0),3)
Puedes ajustar la receta y/o la cantidad y la lista debería actualizarse sola.