
Ich arbeite in der Lebensmittel- und Getränkebranche und habe ein Problem, das mit meiner Unternehmenssoftware nicht zu bewältigen ist. Deshalb versuche ich, es in Excel zu lösen.
Ich habe ein Menü, das aus vielen Komponenten besteht. Also versuche ich, das Menü in seine Komponenten umzuwandeln (Angehängtes Bild)
Ich habe nur Daten: Hühnersuppe 3 Stk
Meine Datenbank:
Column A | Column B | Column C
Chicken Soup | Water | 100 ml
Chicken Soup | Chicken Broth | 10 ml
Chicken Soup | Chicken Meat | 50 gr
Und ich möchte, dass das Ergebnis ist:
Water 300 ml
Chicken Broth 30 ml
Chicken Meat 150 gr
Was ich versucht habe:
Ich legtemeine ganze Datenbankin 1 Blatt und verwende SUMIFS * (Anzahl der Komponenten). SUMIFS fasst nur alle Daten zusammen, die mit Spalte A übereinstimmen, und multipliziere sie mit ihren Komponenten
Das Problem mit meiner Arbeit:
Ich habe so viele Rezepte (mit etwa 14.000 Zeilen) und die Berechnung der Formel, die ich ausprobiert habe, dauert zu lange (etwa 10 Sekunden pro eingegebenen Daten).
Wenn ich meine Datenbank als Arbeitsblatt festlege, werden so viele Zeilen mit Null zurückgegeben (weil die täglichen Daten im Durchschnitt nur 5–10 Elemente enthalten), dass ich die Ergebnisse erneut sortieren muss, um die tatsächlichen Daten zu erhalten.
Ich habe es auch mit der Pivot-Tabelle versucht, aber die Pivot-Tabelle zeigt alle Daten einschließlich des Betrags NULL an (ich brauche aber nur Daten, die nur einen Wert haben).
Antwort1
Richten Sie zunächst eine Spalte ein, die die Zutaten aus der Rezeptliste abruft. Dadurch wird das gesamte Menü durchsucht und alle mit diesem Artikel verknüpften Zutaten gefunden.
=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)),"")
(Drücken Sie unbedingt, ctr + Shift + Enter
da dies in der Array-Formel
Verwenden Sie dann eine Indexübereinstimmung, um die Menge zu ermitteln:
=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)
Sie können das Rezept und/oder die Menge anpassen und die Liste sollte sich automatisch aktualisieren.