Von-Nach Tabellen aus Materialflussanalysen unidirektional konsolidieren

Materialflussdaten konsolidieren

Ohne Betrachten von quantitativen Daten aus der Materialflussanalyse kann heute kein optimales Fabriklayout entwickelt werden. Diese Daten alleine zu berücksichtigen, nutzt aber bei weitem nicht das ganze Potenzial einer Layoutplanung.

Die Systematischen Layoutplanung (SLP) spricht deshalb neben dem quantitativen Materialfluss auch von qualitativem „Other-Than-Flow“ (Muther, 2015, S. 83), um Aspekte zu beschreiben, die bei der Gestaltung von Layouts ebenfalls berücksichtigt werden sollten, die jedoch nicht direkt mit Materialflüssen oder Transportwegen zusammenhängen.

Sie beeinflussen die räumliche Anordnung von Bereichen und Maschinen auf andere Weise als durch logistische Flüsse, aber je nach Layoutplanungsaufgabe genauso dominant.

Im Rahmen der SLP ist die Ermittlung dieser anderen Flüsse integriert und wird als Activity Relationships bezeichnet.

Das Diagramm zeigt die Relevanz (Muther, 2015, S. 91) zwischen Materialfluss und Beachtung der Activity Relationships.

Wann Materialflussanalyse-Daten, wann Activity Relationships einsetzen
Wann Materialflussanalyse-Daten, wann Activity Relationships einsetzen

Bei Großserien, Linienfertigung oder hohen Gewichten ist der Materialfluss dominierend, andere Activity Relationships eher nicht. Verschiebt sich die Layoutplanungsaufgabe in Richtung Werkstattfertigung, zu hohem Planungs- und Steuerungsaufwand oder in Bürobereiche kehr sich das Verhältnis um und „Other-than-Flow“ wird relevanter als der Materialfluss.

Es ist also notwendig mit beiden Analysen zu arbeiten und diese in der Layoutplanung zusammenzuführen.

Materialflussanalyse über Von-Nach Tabelle in Activity Relationship Charts transformieren

Eine Variante für eine Kombination erklärt der Artikel Materialflussanalysen in Activity Relationship Charts transformieren.

Die SLP unterstützt die Entwicklung optimierter Layouts durch Kombinieren von Materialflussanalysedaten und Activity Relationship Bewertungen. Während Materialflussdaten oft in Von-Nach Tabellen dargestellt werden, bewertet ein Activity Relationship Chart Beziehungen qualitativ, z. B. durch Kategorien wie „unbedingt notwendig“ (A) oder „unwichtig“ (U).

Beide Ansätze ergänzen sich, da sie unterschiedliche Aspekte abdecken: Von-Nach Tabellen sind bidirektional und zahlenbasiert, ARC hingegen unidirektional und visuell orientiert.

Um von Materialflüssen kombinieren zu können, ist eine Konsolidierung dieser Richtung von bidirektional zu unidirektional erforderlich.

Dafür müssen die beiden Werte der bidirektionalen Beziehung addiert und als ein Datensatz geführt werden.

Die bidirektionalen Materialflüsse WE->ABS280 und ABS280->WE werden unidirektional konsolidiert und summiert: 240+240 = 480
Die bidirektionalen Materialflüsse WE->ABS280 und ABS280->WE werden unidirektional konsolidiert und summiert: 240+240 = 480

Für große Datenmengen ist das auch mit Excel nur noch aufwändig über mehrere Schritte möglich.

Zeitsparender und weniger fehleranfällig ist es, wenn Sie selber aktiv werden und eine Konsolidierungsfunktion in VBA schreiben.

Sub ConsolidateBidirectionalFlow()
Dim r As Integer
Dim r2 As Integer
Dim fromToStr As String
Dim rng As Range

Const grouped = "summiert"
 
  If SelectionIsValid = False Then Exit Sub

  Set rng = Range(Selection(1).Address, Selection(Selection.Cells.Count).Address)
  
  For r = 1 To rng.Rows.Count
    rng.Cells(r, 4) = ""
    rng.Cells(r, 5) = ""
    rng.Cells(r, 6) = ""
  Next
  
  For r = 1 To rng.Rows.Count
    fromToStr = rng.Cells(r, 1) & rng.Cells(r, 2)
    
    If rng.Cells(r, 5) = "" Then
      rng.Cells(r, 5) = grouped
      rng.Cells(r, 4) = rng.Cells(r, 3)
      rng.Cells(r, 6) = rng.Cells(r, 1) & " -> " & rng.Cells(r, 2) & " = " & rng.Cells(r, 3)
      For r2 = 2 To rng.Rows.Count
        If rng.Cells(r2, 5) = "" And (fromToStr = rng.Cells(r2, 1) & rng.Cells(r2, 2) Or fromToStr = rng.Cells(r2, 2) & rng.Cells(r2, 1)) Then
          'aggregieren
          rng.Cells(r, 4) = rng.Cells(r, 4) + rng.Cells(r2, 3)
          rng.Cells(r, 5) = grouped
          rng.Cells(r, 6) = rng.Cells(r, 6) & ", " & rng.Cells(r2, 1) & " -> " & rng.Cells(r2, 2) & " = " & rng.Cells(r2, 3)
          rng.Cells(r2, 5) = "löschen"
        End If
      Next
    End If
  Next
End Sub

Die Funktion prüft jede Zeile des markieren Bereichs und generiert für den Planer Handlungsanweisungen (5. Feld Aktion) und Informationen über die Zusammenfassung von Materialflussbeziehungen (6. Feld Info). Im 4. Feld trägt die Funktion die aggregierte Summe des Materialfluss-Wertfeldes ein.

Die VBA Funktion hat alle Wertefelder unidirektional addiert und Informationen hinzugefügt
Die VBA Funktion hat alle Wertefelder unidirektional addiert und Informationen hinzugefügt

Damit sicher gestellt wird, dass der Anwender den richtigen Bereich für die Daten ausgewählt hat, überprüft das die private Funktion SelectionIsValid().

Private Function SelectionIsValid() As Boolean
  SelectionIsValid = True
  
  If Selection.Rows.Count < 3 Then
    MsgBox "Es müssen mindestens 2 Zeile ausgewählt werden."
    SelectionIsValid = False
    Exit Function
  End If
  
  If Selection.Columns.Count <> 6 Then
    MsgBox "Es müssen 6 Spalten ausgewählt werden." & vbNewLine & _
      "1. Spalte: Von-Feld" & vbNewLine & _
      "2. Spalte: Nach-Feld" & vbNewLine & _
      "3. Spalte: Materialfluss-Wert" & vbNewLine & _
      "4-6. Spalte: Ergebnisse"
    SelectionIsValid = False
    Exit Function
  End If
End Function

Mit den Informationen im Feld Aktion kann der Anwender, die Tabelle sortieren und die gekennzeichneten Felder löschen.

Bequemer ist es, wenn auch diese Aufgabe ein Makro übernimmt.

Sub SortConsolidatedFlow()
Dim rng As Range

  If SelectionIsValid = False Then Exit Sub
 
  Set rng = Range(Selection(1).Address, Selection(Selection.Cells.Count).Address)
  
  rng.Select
  ActiveSheet.Sort.SortFields.Clear
  ActiveSheet.Sort.SortFields.Add2 Key:=Range(rng.Cells(1, 5), Cells(rng.Rows.Count, 5)), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
  ActiveSheet.Sort.SortFields.Add2 Key:=Range(rng.Cells(1, 1), Cells(rng.Rows.Count, 1)), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
  ActiveSheet.Sort.SortFields.Add2 Key:=Range(rng.Cells(1, 2), Cells(rng.Rows.Count, 2)), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
  With ActiveSheet.Sort
        .SetRange rng
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
  End With

End Sub

Jetzt lassen sie die nicht mehr benötigten Zeile einfach löschen.

Die Von-Nach Tabelle wurde nach der Handlungsaktion sortiert und ein löschen von nicht mehr notwendigen Zeilen deutlich vereinfacht
Die Von-Nach Tabelle wurde nach der Handlungsaktion sortiert und ein löschen von nicht mehr notwendigen Zeilen deutlich vereinfacht

Haben Sie sich gefragt, wie sie jetzt schnell und bequem von der transformierten Von-Nach Tabelle zu einem Activity Relationship Chart gelangen können? Im Internet finden Sie dazu nahezu keine Hilfsmittel. Sie können es aber selber programmieren. In diesem Artikeln erfahren Sie, wie einfach das funktioniert und bekommen gleichzeitig ein Tool für eine komfortable Bewertung in einem Auswahldialog dazu.

Download

Download mit Quellcode zum Programmieren

Klicken Sie auf den Button für den Download der Excel Beispiel Arbeitsmappe als ZIP-Archiv

Bei der Arbeitsmappe handelt es sich um eine mit enthaltenen Makros. Wenn Sie Bedenken dazu haben, schauen Sie sich Excel Makros und das Internet an.

Links

  1. Richard Muther, Lee Hales; Systematic Layout Planning; 2015; 4 Auflage; ISBN 978-0-933684-06-5
  2. https://richardmuther.com/