Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
728to732
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
728to732
728to732
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Verwendungsregel-Probelm vereinfachen

Verwendungsregel-Probelm vereinfachen
08.02.2006 00:01:17
Daniel
Hallo,
folgendes Problem:
Ich habe eine Menge von Elementen, genannt Bausteine, die für einen Auftrag individuell zusammengestellt werden müssen.
Die Entscheidung, welche Bausteine für einen Auftrag verwendet werden, erfolgt über den Auftragsschlüssel (hier eine Buchstabenkombination, sowie die Verwendungsregeln, die beschreiben, wann ein Baustein verwendet wird und wann nicht. Für jeden Baustein können eine oder mehrere Verwendungsregeln existieren.
Es gilt die Regel, daß ein Baustein verwendet wird, wenn mindestens eine seiner Verwendungsregeln im Auftragsschlüssel enthalten ist.
Gelöst habe ich das Problem, indem ich
1. für jede Verwendungsregel mit ZählenWenn prüfe, ob sie für den Auftragsschlüssel zutrifft.
2. für jeden Baustein mit SummeWenn prüfe, wieviele seiner Verwendungsregeln zutreffen.
Ist die Summe = 0 wird der Baustein nicht verwendet, ist die Summe größer wird er verbaut.
Prinipiell ist das Problem erstmal gelöst.
Jetzt aber meine Frage:
Gibt es eine Möglichkeit, bzw eine Formel, die Die Verbaugültigkeit für jeden Baustein DIREKT, d.h. ohne den Umweg über Schritt 1 berechnet?
Eine Lösung ohne VBA, also nur mit normalen Excelformeln würde ich bevorzugen, da die Datenmengen in der Realität grösser sind als im Beispiel und ein VBA-Script dann doch etwas langsam ist.
Hier jetzt die Beispieldatei: https://www.herber.de/bbs/user/30772.xls
Gruß, Daniel Eisert

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verwendungsregel-Probelm vereinfachen
08.02.2006 02:33:55
Franz
Hallo Daniel,
mit Standard-EXCEL-Formeln oder auch Matrixformeln wird das meiner Meinung nach
nicht funktionieren.
Folgende kleine benutzerdefinierte Funktion schafft es.

Function Verwendung(Bauteil As String, Verwendungsregel As Range, Auftragsschluessel As Range) As Integer
For I = 1 To Verwendungsregel.Rows.Count
If Verwendungsregel(I, 1) = Bauteil Then
For J = 1 To WorksheetFunction.CountA(Auftragsschluessel)
'      For J = 1 To Auftragsschluessel.Rows.Count 'Alternative, wenn Leerzeilen beim Auftragsschluessel vorkommen.
If Verwendungsregel(I, 2) = Auftragsschluessel(J) Then
Verwendung = Verwendung + 1
End If
Next J
End If
Next I
End Function
Für Bauteil 1 /Auftrag 1 lautet die Formel dann:
=Verwendung($A3;$G$3:$H$11;N$3:N$10)

Ich denke das die Performance der Tabelle nicht zu arg leiden wird.
ggf. Automatische Berechnung während der Eingabe der Auftragsschlüssel deaktivieren
und manuell nach der Eingabe die Tabellenberechnung starten.
Gruß
Franz
Anzeige
AW: Verwendungsregel-Probelm vereinfachen
08.02.2006 21:28:42
Daniel
ja, sieht gut aus und läuft einwandfrei.
mal sehen, was passiert, wenn ich es auf meine Echtdaten loslasse.
Vielen Dank.
Gruß, Daniel Eisert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige