Clever-Excel-Forum

Normale Version: Ebene multiplizieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

ich brauche eure Hilfe.
ich habe eine größere Tabelle mit mehreren Tausend Einträgen.
Hier sind Teile enthalten, welche wieder herum aus Unterteile besteht.
Nun muss ich die Gesamtanzahl herausfinden von den Unterteilen.
Hier muss dann jede Ebene mit der direkten Ebene darüber multipliziert werden.
Also Ebene 3 multipliziert mit Ebene 2 und dann mit Ebene 1.
Die Tabelle kann bis zu 15 Ebenen haben.

Ich habe hierzu ein vereinfachtes Beispiel angehängt. Hier geht es darum die Gesamtanzahl auszurechnen.

Ich würde mich sehr freuen wenn ihr mir weiterhelfen könnt.

Vielen Dank schon im Voraus für eure Antworten

Gruß Daniel
Code:
Sub M_snb()
  sn = Range("A4:C16")
 
  For j = 2 To UBound(sn)
    If Len(sn(j, 1)) > Len(sn(j - 1, 1)) Then y = sn(j - 1, 3)
    If Len(sn(j, 1)) > 1 Then sn(j, 3) = sn(j, 3) * y
  Next
 
  Range("D4:D16") = Application.Index(sn, 0, 3)
End Sub
Hallo Daniel,

basierend auf deiner Beispieldatei hier ein Vorschlag für eine Formellösung (hier mal für 5 Ebenen):
Arbeitsblatt mit dem Namen 'Tabelle1'
BCDEF
3EbeneBauteilAnzahlGesamtanzahlGesamtanzahl
41Schweißteil555
52Arm155
62Unterarm155
72Flansch21010
83Welle11010
91Antrieb333
102Stirnrad266
112Stirnrad41212
122Welle61818
131Antrieb2333
142Stirnrad2266
152Stirnrad2266
162Welle2133

ZelleFormel
F4=D4*
WENNFEHLER
(VERWEIS(2;1/($B$4:B4=B4-1);$D$4:D4);1)*
WENNFEHLER
(VERWEIS(2;1/($B$4:B4=B4-2);$D$4:D4);1)*
WENNFEHLER
(VERWEIS(2;1/($B$4:B4=B4-3);$D$4:D4);1)*
WENNFEHLER
(VERWEIS(2;1/($B$4:B4=B4-4);$D$4:D4);1)
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

(Formel nach unten ziehen)

Bei mehr Ebenen muss die Formel entsprechend erweitert werden, was bei einer größeren Anzahl von Ebenen schnell unüberischtlich / unhandlich wird.

Da käme dann wohl eher eine Lösung mit Hilfsspalten in Frage (für jede Ebene wird eine Hilfsspalte benötigt)
Die Hilfsspalten kannst du ja ausblenden.

Siehe angehängte Beispieldatei

Gruß
Fred
Hallo Daniel,

oder ohne Hilfsspalte:

=WENN(LÄNGE(A4)=1;C4;C4*INDEX(D:D;AGGREGAT(14;6;ZEILE($A$4:A4)/(LÄNGE($A$4:A4)=LÄNGE(A4)-1);1)))