Supportnet / Forum / Tabellenkalkulation
Mengen und Stufen in Stücklisten
Frage
Hallo zusammen,
vielleicht könntet ihr mir bei einem kleinen Problem helfen.
Und zwar versuche ich Kosten aus unserem ERP manuel zu multiplizieren.
Das Problem ist, dass ich es nicht hinbekomme, die menge mit den übergeordneten Stufen hochzumultiplizieren.
Braucht man dazu VBA oder gibt es hierfür ne Zauberformel ;)
STufe "Leer" ist die höchste Stufe.
Für Hilfe wäre ich euch sehr dankbar
Grüße
A B C D
1 Stufe Menge Kosten ERGEBNIS
2 4,22 4,22
3 1 2 1,41 2,81
4 .2 0,5 4,64 4,64
5 .2 4 2,20 17,60
6 .2 2 0,66 2,62
7 1 0,5 0,02 0,01
8 .2 0,5 0,93 0,23
9 .2 3 1,05 1,58
10 ..3 2 0,06 0,17
11 ..3 1 1,00 1,50
Ergebnis 35,38
Antwort 1 von Gimix1
Hats zerschossen, (Sry)
Das Forum erkennt anscheined keine Blanks oder so.
Wo kann man eine Datei als Beispiel hochladen ?
Danke und Grüße
Das Forum erkennt anscheined keine Blanks oder so.
Wo kann man eine Datei als Beispiel hochladen ?
Danke und Grüße
Antwort 2 von Gimix1
Hallo nochmal zusammen,
hab jetzt mal ne Beispieldatei hochgeladen.
http://npshare.de/files/38/6308/Beispiell_2.xls
Das Problem ist also, dass ich die Kosten mal die Menge mal der nächst höheren Stufe Multiplizieren möchte.
Die leere Stufe, sprich, die ganz oben, ist die höchste
Hat mich schon stunden gekostet, dass Problem zu lösen.
Leider ohne Erfolg.
Kann man da einen Query kreeiren, der das von unter her aufrollt ?
Kann mir jemand helfen ?
Danke schonmal für die Mühen im Voraus
Grüße
hab jetzt mal ne Beispieldatei hochgeladen.
http://npshare.de/files/38/6308/Beispiell_2.xls
Das Problem ist also, dass ich die Kosten mal die Menge mal der nächst höheren Stufe Multiplizieren möchte.
Die leere Stufe, sprich, die ganz oben, ist die höchste
Hat mich schon stunden gekostet, dass Problem zu lösen.
Leider ohne Erfolg.
Kann man da einen Query kreeiren, der das von unter her aufrollt ?
Kann mir jemand helfen ?
Danke schonmal für die Mühen im Voraus
Grüße
Antwort 3 von Saarbauer
hallo,
habe die Tabelle mal angesehen, leider keine Zusammenhänge für mich herstellbar.
Die Multiplikationen ergeben teilweise deine Werte, aber nicht überall, was mit deiner Beschreibung
zusammenhängen muss, aber mir nicht verständlichlich ist.
Gruß
Helmut
habe die Tabelle mal angesehen, leider keine Zusammenhänge für mich herstellbar.
Die Multiplikationen ergeben teilweise deine Werte, aber nicht überall, was mit deiner Beschreibung
Zitat:
Das Problem ist also, dass ich die Kosten mal die Menge mal der nächst höheren Stufe Multiplizieren möchte.
Die leere Stufe, sprich, die ganz oben, ist die höchste
Das Problem ist also, dass ich die Kosten mal die Menge mal der nächst höheren Stufe Multiplizieren möchte.
Die leere Stufe, sprich, die ganz oben, ist die höchste
zusammenhängen muss, aber mir nicht verständlichlich ist.
Gruß
Helmut
Antwort 4 von Gimix1
Hallo,
danke erstmal für deine Antwort.
Versuche es mal zu erklären.
Die Kosten sollen mit der Menge in der Gleichen Zeile mulipliziert werden.
Das Ergebnis dieser Zeile ist aber von der Menge der nächst höheren Stufe bzw deren Menge abhängig und muss ebenfalls berücksichtigt werden
Schau dir meine Datei nochmal an.
multipliziere die menge mal den Kosten in einer Zeile.
Multipliziere das Ergebnis mit der Menge der nächst höheren Stufe. Beispiel:
von Unten nach oben. Immer Kostenmal Menge,.... mal der Menge der nächst höheren Stufe (Nächst höhere Stufen sind Fett hervorgehoben)
.1
..2
..2
..2
...3
...3
....4
Hoffe das ist verständlich.
Ist wahscheinlich nur mit VB bzw VBA zu lösen.
Leider kann ich das noch nicht
Danke nochmal
Grüße
danke erstmal für deine Antwort.
Versuche es mal zu erklären.
Die Kosten sollen mit der Menge in der Gleichen Zeile mulipliziert werden.
Das Ergebnis dieser Zeile ist aber von der Menge der nächst höheren Stufe bzw deren Menge abhängig und muss ebenfalls berücksichtigt werden
Schau dir meine Datei nochmal an.
multipliziere die menge mal den Kosten in einer Zeile.
Multipliziere das Ergebnis mit der Menge der nächst höheren Stufe. Beispiel:
von Unten nach oben. Immer Kostenmal Menge,.... mal der Menge der nächst höheren Stufe (Nächst höhere Stufen sind Fett hervorgehoben)
.1
..2
..2
..2
...3
...3
....4
Hoffe das ist verständlich.
Ist wahscheinlich nur mit VB bzw VBA zu lösen.
Leider kann ich das noch nicht
Danke nochmal
Grüße
Antwort 5 von Saarbauer
hallo,
jetzt von Grundsatz her verstanden, aber im moment keine Lösungsidee
Gruß
Helmut
jetzt von Grundsatz her verstanden, aber im moment keine Lösungsidee
Gruß
Helmut
Antwort 6 von Saarbauer
Hallo,
geht wahrscheinlich nur mit VBA.
Wieviel Stufen gibt es maximal?
Gruß
Helmut
geht wahrscheinlich nur mit VBA.
Wieviel Stufen gibt es maximal?
Gruß
Helmut
Antwort 7 von Gimix1
Hallo Helmut,
danke Dir für deine Mühen.
Habs auch mit x verschachtelungen etc versucht, habs ned hinbekommen.
Hab bis jetzt Stücklisten mit max 6 Stufen gesehen, wenns aber kein großer act wäre, dann wäre es auch mit 8 Stufen toll, sicherheitspuffer ;)
Lösung ist für mich leider ne nummer zu groß.
Doch Übung mach den Meister :D
Grüße
Goran
danke Dir für deine Mühen.
Habs auch mit x verschachtelungen etc versucht, habs ned hinbekommen.
Hab bis jetzt Stücklisten mit max 6 Stufen gesehen, wenns aber kein großer act wäre, dann wäre es auch mit 8 Stufen toll, sicherheitspuffer ;)
Lösung ist für mich leider ne nummer zu groß.
Doch Übung mach den Meister :D
Grüße
Goran
Antwort 8 von Gimix1
Kenn mich da ned so auch aber für die Beispieldatei kannste auch ne Null für die Höchste Stufe rein machen anstatt leer und in die Menge ne eins.
Ist dann vielleicht einfacher,........... hoff ich
Grüße
Goran
Ist dann vielleicht einfacher,........... hoff ich
Grüße
Goran
Antwort 9 von Saarbauer
Hallo,
versuch es mal mit dem Makro
hat 10 Stufen (0 - 9)
Gruß
Helmut
versuch es mal mit dem Makro
Sub Stufen()
Stufe_0 = 1
Stufe_1 = 1
Stufe_2 = 1
Stufe_3 = 1
Stufe_4 = 1
Stufe_5 = 1
Stufe_6 = 1
Stufe_7 = 1
Stufe_8 = 1
Stufe_9 = 1
letzteZeile = Range("A65536").End(xlUp).Row
For i = 3 To letzteZeile
If Range("B" & i).Value = 0 Then
Stufe_0 = Range("C" & i).Value
Stufe_1 = 1
Stufe_2 = 1
Stufe_3 = 1
Stufe_4 = 1
Stufe_5 = 1
Stufe_6 = 1
Stufe_7 = 1
Stufe_8 = 1
Stufe_9 = 1
End If
If Range("B" & i).Value = 1 Then
Stufe_1 = Range("C" & i).Value
Stufe_2 = 1
Stufe_3 = 1
Stufe_4 = 1
Stufe_5 = 1
Stufe_6 = 1
Stufe_7 = 1
Stufe_8 = 1
Stufe_9 = 1
End If
If Range("B" & i).Value = 2 Then
Stufe_2 = Range("C" & i).Value
Stufe_3 = 1
Stufe_4 = 1
Stufe_5 = 1
Stufe_6 = 1
Stufe_7 = 1
Stufe_8 = 1
Stufe_9 = 1
End If
If Range("B" & i).Value = 3 Then
Stufe_3 = Range("C" & i).Value
Stufe_4 = 1
Stufe_5 = 1
Stufe_6 = 1
Stufe_7 = 1
Stufe_8 = 1
Stufe_9 = 1
End If
If Range("B" & i).Value = 4 Then
Stufe_4 = Range("C" & i).Value
Stufe_5 = 1
Stufe_6 = 1
Stufe_7 = 1
Stufe_8 = 1
Stufe_9 = 1
End If
If Range("B" & i).Value = 5 Then
Stufe_5 = Range("C" & i).Value
Stufe_6 = 1
Stufe_7 = 1
Stufe_8 = 1
Stufe_9 = 1
End If
If Range("B" & i).Value = 6 Then
Stufe_6 = Range("C" & i).Value
Stufe_7 = 1
Stufe_8 = 1
Stufe_9 = 1
End If
If Range("B" & i).Value = 7 Then
Stufe_7 = Range("C" & i).Value
Stufe_8 = 1
Stufe_9 = 1
End If
If Range("B" & i).Value = 8 Then
Stufe_8 = Range("C" & i).Value
Stufe_9 = 1
End If
If Range("B" & i).Value = 9 Then Stufe_9 = Range("C" & i).Value
If Range("D" & i).Value = "" Then
Wert = 0
Else
Wert = Range("D" & i).Value
End If
Range("F" & i).Value = Wert * Stufe_0 * Stufe_1 * Stufe_2 * Stufe_3 * Stufe_4 * Stufe_5 * Stufe_6 * Stufe_7 * Stufe_8 * Stufe_9
Next i
Range("F" & letzteZeile + 2).FormulaR1C1 = "=SUM(R3C:R[-2]C)"
End Subhat 10 Stufen (0 - 9)
Gruß
Helmut
Antwort 10 von Saarbauer
hallo,
eine bessere Fassung
Gruß
Helmut
eine bessere Fassung
Sub Stufen()
Dim Stufe(10)
For i = 0 To 9
Stufe(i) = 1
Next i
letzteZeile = Range("A65536").End(xlUp).Row
For i = 3 To letzteZeile
For j = 0 To 9
If Range("B" & i).Value = j Then
Stufe(j) = Range("C" & i).Value
For k = j + 1 To 9
Stufe(k) = 1
Next k
End If
Next j
If Range("D" & i).Value = "" Then
Wert = 0
Else
Wert = Range("D" & i).Value
End If
SummeStufen = 1
For j = 0 To 9
SummeStufen = SummeStufen * Stufe(j)
Next j
Range("F" & i).Value = Wert * SummeStufen
Next i
Range("F" & letzteZeile + 2).FormulaR1C1 = "=SUM(R3C:R[-2]C)"
End SubGruß
Helmut
Antwort 11 von Gimix1
Hallo,
WOW, ....bin beeindruckt.
der Code passt, danke danke danke :)
Werde ihn später anpassen und in die originale datei kopieren.
Spitze.......................danke
Muss mal anfangen VBA zu lernen.
WOW, ....bin beeindruckt.
der Code passt, danke danke danke :)
Werde ihn später anpassen und in die originale datei kopieren.
Spitze.......................danke
Muss mal anfangen VBA zu lernen.
Antwort 12 von Gimix1
hallo,
eine Frage ist mir noch eingefallen.
Das ist jetzt ja eine Kostenkomponente.
Werde aber mehere Spalten so ausrechnen müssen.
Kann man dann einfach die Überschrift
Sub Stufen ()
in Sub Stufen1 () abändern und dann den Code einfach drunter kopieren, die Spaltenbezeichnungen abändern ?
Besonders dieser Teil ist mir ein Rätsel
Next i
Range("F" & letzteZeile + 2).FormulaR1C1 = "=SUM(R3C:R[-2]C)"
End Sub
Das andere kann ich abändern ,.. hoff ich
Oder muss ich auf noch etwas spezielles achten
Gruß
Goran
eine Frage ist mir noch eingefallen.
Das ist jetzt ja eine Kostenkomponente.
Werde aber mehere Spalten so ausrechnen müssen.
Kann man dann einfach die Überschrift
Sub Stufen ()
in Sub Stufen1 () abändern und dann den Code einfach drunter kopieren, die Spaltenbezeichnungen abändern ?
Besonders dieser Teil ist mir ein Rätsel
Next i
Range("F" & letzteZeile + 2).FormulaR1C1 = "=SUM(R3C:R[-2]C)"
End Sub
Das andere kann ich abändern ,.. hoff ich
Oder muss ich auf noch etwas spezielles achten
Gruß
Goran
Antwort 13 von Saarbauer
Hallo,
Ich würde dann das ganze in z.B.
Sub Stufen_F ()
umbenennen für Spalte F usw. du brauchst dann "F" nur dur die entsprechende Spalte zu ersetzen
Next i -> gehört zur vorhergehenden For Schleife
Range("F" & letzteZeile + 2).FormulaR1C1 = "=SUM(R3C:R[-2] -> da ich die läne deiner Tabelle nicht kenne, wird hiermit die Summenformel 2 Zeilen nach der letzten berechnungszeile gesetzt für die Zeile 3 bis 2 Zeilen vor der Summenformel
Gruß
Helmut
Ich würde dann das ganze in z.B.
Sub Stufen_F ()
umbenennen für Spalte F usw. du brauchst dann "F" nur dur die entsprechende Spalte zu ersetzen
Zitat:
Next i
Range("F" & letzteZeile + 2).FormulaR1C1 = "=SUM(R3C:R[-2]C)"
End Sub
Next i
Range("F" & letzteZeile + 2).FormulaR1C1 = "=SUM(R3C:R[-2]C)"
End Sub
Next i -> gehört zur vorhergehenden For Schleife
Range("F" & letzteZeile + 2).FormulaR1C1 = "=SUM(R3C:R[-2] -> da ich die läne deiner Tabelle nicht kenne, wird hiermit die Summenformel 2 Zeilen nach der letzten berechnungszeile gesetzt für die Zeile 3 bis 2 Zeilen vor der Summenformel
Gruß
Helmut
Antwort 14 von Gimix1
Hallo,
spitze,
Und danke nochmals für deine Hilfe
Gruß
Goran
spitze,
Und danke nochmals für deine Hilfe
Gruß
Goran

