Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1852to1856
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Übereinstimmung mehrerer Kriterien

Übereinstimmung mehrerer Kriterien
10.11.2021 13:55:47
Robert
Hallo Forum,
https://www.herber.de/bbs/user/149052.xlsx
Problemstellung siehe Beispieldatei. Ich habe Kuchenrezepte in Tab.1, meine vorhandenen Zutaten in Tab.2 und meine Einkaufsliste in Tab.3.
Es geht um Tab.3. Der Aufbau in Tab.1 und 2 kann nicht verändert werden.
Nun möchte ich in meiner Einkaufsliste visuell darstellen, welche Kuchen ich backen kann und für welche Kuchen es an Zutaten fehlt. Das habe ich im Beispiel farblich per Hand markiert. Gibt es eine Formel um dies zu automatisieren? Möglicherweise auch mit einer Ausgabe der fehlenden Zutaten?
VG,
Robert

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Darf es VBA sein?
10.11.2021 14:17:01
Klaus
Hallo Robert,
ohne den Aufbau drastisch zu verändern (was du untersagst) kann zumindest ich es nicht mit einer Formel lösen - daher lasse ich den Beitrag offen.
Was ich dir anbieten könnte wäre eine Lösung mit VBA, die wäre dann aber sehr langsam. Oder eine Lösung mit Access, die wäre dann sehr schnell aber auch sehr komplex. Oder mit SAP, aber das wäre sinnlos teuer und overkill :-)
Präventive Rückfragen (und ja, es ist mir klar dass es in deiner Mastertabelle nicht um Kuchen geht):
1) Ein Apfelkuchen braucht mindestens 5 Äpfel und 300g Mehl. Dein unveränderliches Tab2 hat aber keine Mengen gelistet. Wenn ich also 1 Apfel und einen Rest von 100g Mehl habe reicht es nicht für einen Kuchen, aber die Zutaten würden trotzdem nicht gelistet werden
2) Angenommen, in den Apfelkuchen kommt noch Zucker aber es ist keiner im Haus. Erwartest du dann auf der Einkaufsliste dass Eier UND Zucker auftauchen? Oder reicht es, dass hinter Apfelkuchen stände "1 oder mehr Zutaten fehlen"
3) Soll die Einkaufsliste dahingehend generiert werden dass ständig sämtliche Kuchen gebacken werden können, oder soll es per Click auf einen Kuchen für ebendiesen generiert werden?
LG,
Klaus M.
jetzt hab ich Hunger
Anzeige
Darf es PQ sein?
10.11.2021 14:30:10
ChrisL
Hi Robert
Hier eine Power-Query Lösung. Eine Titelzeile ist allerdings erforderlich.
https://www.herber.de/bbs/user/149055.xlsx
Bei Interesse bitte PQ-Intro Video schauen und die Einzelschritte im Editor verfolgen. Bei Bedarf nachfragen.
cu
Chris
OT: überzeugt!
11.11.2021 08:21:00
Klaus
Hallo Chris,
ich bin zwar nicht TE, aber .... das ist ja saugeil.
Jetzt bin ich völlig überzeugt dass ich PQ lernen muss :-) Die Videolinks hab ich schon.
Wenn ich dran denke, was ich da für eine lange komplexe VBA-Scripterei betrieben hätte um das alles auszuwerten ...
LG,
Klaus M.
Anzeige
AW: Darf es PQ sein?
11.11.2021 08:26:21
Robert
Hallo Chris,
die Lösung ist wirklich stark. Ich konnte sie bereits mit meinen echten Daten realisieren.
PQ gefällt mir sehr gut, hatte ich nicht auf dem Schirm.
Danke euch allen an!
VG,
Robert
AW: Darf es PQ sein?
11.11.2021 10:33:09
ChrisL
Danke Robert und Klaus für die positiven Rückmeldungen. Weiterhin viel Spass mit PQ...
AW: Übereinstimmung mehrerer Kriterien
10.11.2021 15:40:04
Daniel
Hi
zumindest das "OK" kannst du mit dieser Formel ermitteln:

=WENN(ZÄHLENWENN(Rezepte!A:A;A1)=SUMME(ISTZAHL(VERGLEICH(WENN(Rezepte!$A$1:$A$5=A1;Rezepte!$B$1:$B$5; "xxx");'Zutaten vorhanden'!A:A;0))*1);"OK";"---") 
Das Ermitteln der konkret fehlenden Zutaten wird in dieser Form mit Standard-Formeln schwierig.
Eine VBA - Lösung könnte so aussehen:
1. folgender Code in ein allgemeines Modul:

Function Rezeptprüfung(Produkt As String, Rezepte As Range, Zutaten As Range) As String
Dim arrRezept As Variant
Dim arrZutaten As Variant
Dim strCheck As String
Dim i As Long
arrRezept = Intersect(Rezepte, Rezepte.Worksheet.UsedRange).Value
arrZutaten = Intersect(Zutaten, Zutaten.Worksheet.UsedRange).Value
For i = 1 To UBound(arrRezept, 1)
If arrRezept(i, 1) = Produkt Then strCheck = strCheck & "|" & arrRezept(i, 2)
Next
strCheck = strCheck & "|"
For i = 1 To UBound(arrZutaten, 1)
strCheck = Replace(strCheck, "|" & arrZutaten(i, 1) & "|", "|")
Next
If strCheck = "|" Then
Rezeptprüfung = "OK"
Else
Rezeptprüfung = Replace(Mid(strCheck, 2, Len(strCheck) - 2), "|", ", ") & " fehlen"
End If
End Function
als Formel in die Zelle B1 auf dem Blatt "Einkaufsliste dann:

=Rezeptprüfung(A1;Rezepte!A:B;'Zutaten vorhanden'!A:A)
Gruß Daniel
Anzeige
Einfache Formellösung
11.11.2021 12:55:01
Daniel
Wenns noch interessiert, für Excel 2019 gibt auch eine einfache Formellösung
1. Ergänze in der Tabelle "Rezepte" in Spalte C folgende Formel:

=ZÄHLENWENN('Zutaten vorhanden'!A:A;B1)=0
oder

=IstFehler(Vergleich(B1;'Zutaten vorhanden'!A:A;0))
2. in der Tabelle "Einkaufsliste" machst du die Auswertung dann mit dieser Formel (Ergebnis leer = OK):

=TEXTVERKETTEN(", ";WAHR;WENN((Rezepte!A:A=A1)*Rezepte!C:C;Rezepte!B:B;""))
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige