Supportnet / Forum / Tabellenkalkulation
Verschachtelte Funktion mit 15 Positionen !?!
Frage
Meine Tochter trägt Prospekte aus und ich möchte ihre Abrechnung kontrollieren können. Aus diesem Grund möchte ich eine Verschachtelte Berechnung anlegen.
Die Bezahlung für die „normale“ Verteilung an 200 Haushalte staffelt sich folgendermaßen:
für das 1. Prospekt 4,61 €
für das 2. Prospekt 1,54 €
3. Prospekt 1,04 €
4. Prospekt 1,04 €
5. Prospekt 1,04 €
Ab dem 6. Prospekt einmaliger Zuschlag 4,04 €
07. Prospekt 1,04 €
08. Prospekt 1,04 €
09. Prospekt 1,04 €
10. Prospekt 1,04 €
11. Prospekt 1,04 €
12. Prospekt 1,04 €
13. Prospekt 1,04 €
14. Prospekt 1,04 €
15. Prospekt 1,04 €
Wenn 280 Haushalte ein Sonderprospekt der Stadt usw. erhalten,
kommen an die erste Stelle 6,45 € anstatt 4,61 €.
Momentan sieht meine Formel so aus:
=WENN(E2=1;4,61;WENN(E2=2;6,51;WENN(E2=3;7,19;WENN(E2=4;8,23;WENN(E2=5;9,27;WENN(E2=6;13,31;WENN(E2=7;14,35;WENN(E2=8;15,39))))))))+(WENN(E2=9;16,43;WENN(E2=10;17,47;WENN(E2=11;18,51;WENN(E2=12;19,55;WENN(E2=13;26))))))
Wobei ich nicht ganz sicher bin ob das PLUS richtig ist, aber ich finde keine Alternative.
Und ich habe noch keine Ahnung wie ich die geänderte Stückzahl 280 einbauen kann
So sieht meine Tabelle aus:
200/280 Stck. | Prospekte | Auszahlung
200 | 7 Stck. | (Formel von oben)
200 | 13 Stck. |(Formel von oben)
280 | 10 Stck. |???
Alles verstanden???
Ich hab selbst lange gebraucht bis ich die Staffelung begriffen habe ;-)
Antwort 1 von Saarbauer
Hallo,
versuch es mal mit der Formel
=E2*1,04+WENN(E2>0;3,57;0)+WENN(E2>1;0,86;0)+WENN(E2>2;-0,36;0)+WENN(E2>5;3;0)+WENN(E2>279;1,84;0)
Baut auf deinen Zahlen in der Wenn()Formel auf .
Gruß
Helmut
versuch es mal mit der Formel
=E2*1,04+WENN(E2>0;3,57;0)+WENN(E2>1;0,86;0)+WENN(E2>2;-0,36;0)+WENN(E2>5;3;0)+WENN(E2>279;1,84;0)
Baut auf deinen Zahlen in der Wenn()Formel auf .
Gruß
Helmut
Antwort 2 von nighty
hi all :)
oder ein automatismus mit einem makro was die tabelle nicht mit formeln aufbläht
gruss nighty
nach eingabe der stueckzahl in spalte b erfolg die ausgabe in spalte c
einzufuegen
alt/f11
projektexplorer/DeineTabelle
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim zaehler As Long
If Target.Column = 2 And Target.Row > 1 Then
For zaehler = 1 To Cells(Target.Row, Target.Column)
If Cells(Target.Row, Target.Column - 1) = 200 And zaehler = 1 Then summe = summe + 4.61
If Cells(Target.Row, Target.Column - 1) = 280 And zaehler = 1 Then summe = summe + 6.45
If zaehler = 2 Then summe = summe + 1.54
If zaehler = 6 Then summe = summe + 4.04
If zaehler > 2 Then summe = summe + 1.04
Next t
Cells(Target.Row, Target.Column + 1) = summe
End If
Application.EnableEvents = True
End Sub
oder ein automatismus mit einem makro was die tabelle nicht mit formeln aufbläht
gruss nighty
nach eingabe der stueckzahl in spalte b erfolg die ausgabe in spalte c
einzufuegen
alt/f11
projektexplorer/DeineTabelle
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim zaehler As Long
If Target.Column = 2 And Target.Row > 1 Then
For zaehler = 1 To Cells(Target.Row, Target.Column)
If Cells(Target.Row, Target.Column - 1) = 200 And zaehler = 1 Then summe = summe + 4.61
If Cells(Target.Row, Target.Column - 1) = 280 And zaehler = 1 Then summe = summe + 6.45
If zaehler = 2 Then summe = summe + 1.54
If zaehler = 6 Then summe = summe + 4.04
If zaehler > 2 Then summe = summe + 1.04
Next t
Cells(Target.Row, Target.Column + 1) = summe
End If
Application.EnableEvents = True
End Sub
Antwort 3 von nighty
hi all :)
oh korrigiert :)
gruss nighty
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim zaehler As Long
If Target.Column = 2 And Target.Row > 1 Then
For zaehler = 1 To Cells(Target.Row, Target.Column)
If Cells(Target.Row, Target.Column - 1) = 200 And zaehler = 1 Then summe = summe + 4.61
If Cells(Target.Row, Target.Column - 1) = 280 And zaehler = 1 Then summe = summe + 6.45
If zaehler = 2 Then summe = summe + 1.54
If zaehler = 6 Then summe = summe + 4.04
If zaehler > 2 Then summe = summe + 1.04
Next zaehler
Cells(Target.Row, Target.Column + 1) = summe
End If
Application.EnableEvents = True
End Sub
oh korrigiert :)
gruss nighty
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim zaehler As Long
If Target.Column = 2 And Target.Row > 1 Then
For zaehler = 1 To Cells(Target.Row, Target.Column)
If Cells(Target.Row, Target.Column - 1) = 200 And zaehler = 1 Then summe = summe + 4.61
If Cells(Target.Row, Target.Column - 1) = 280 And zaehler = 1 Then summe = summe + 6.45
If zaehler = 2 Then summe = summe + 1.54
If zaehler = 6 Then summe = summe + 4.04
If zaehler > 2 Then summe = summe + 1.04
Next zaehler
Cells(Target.Row, Target.Column + 1) = summe
End If
Application.EnableEvents = True
End Sub
Antwort 4 von cicerina
Also -
die Formel funktioniert! ;-)
Mit Makros kenne ich mich nicht aus, werde es aber mal ausprobieren. Drück mir die Daumen ;-)
Erstmal viiiiiielen Dank!
die Formel funktioniert! ;-)
Mit Makros kenne ich mich nicht aus, werde es aber mal ausprobieren. Drück mir die Daumen ;-)
Erstmal viiiiiielen Dank!
Antwort 5 von cicerina
Frage:
Wie komme ich zu -> Private Sub Worksheet_Change
Wie komme ich zu -> Private Sub Worksheet_Change
Antwort 6 von cicerina
Hallo nighty,
also - das mit dem Marko funktioniert bei mir nicht ;-(
Ich habe auch noch NIE mit Makros gearbeitet.
Habe mir alle Kenntnisse aus Foren und Tutorials selbst erarbeitet.
Werde die Formel von Saarbauer verwenden!
Herzlichen Dank euch Beiden und noch einen schönen Abend.
Gabi
also - das mit dem Marko funktioniert bei mir nicht ;-(
Ich habe auch noch NIE mit Makros gearbeitet.
Habe mir alle Kenntnisse aus Foren und Tutorials selbst erarbeitet.
Werde die Formel von Saarbauer verwenden!
Herzlichen Dank euch Beiden und noch einen schönen Abend.
Gabi
Antwort 7 von Saarbauer
Hallo,
ist ok. so haben wir alle mal angefangen. Aber trotzdemsolltest du bei gelegenheit auch mal um Makros kümmern.
Ich hoffe du hast den Aufbau meiner Formel verstanden. Ich mache im Prinzip, das gleiche wie du vorhattest bin nur etwas anders an die Sache ran gegangen.
Totzden herzlichen Dank, ich glaube auch im Namen von @nighty für die Rückmeldung, kommt leider zu selten vor
Gruß
Helmut
Zitat:
Ich habe auch noch NIE mit Makros gearbeitet.
Habe mir alle Kenntnisse aus Foren und Tutorials selbst erarbeitet
Ich habe auch noch NIE mit Makros gearbeitet.
Habe mir alle Kenntnisse aus Foren und Tutorials selbst erarbeitet
ist ok. so haben wir alle mal angefangen. Aber trotzdemsolltest du bei gelegenheit auch mal um Makros kümmern.
Ich hoffe du hast den Aufbau meiner Formel verstanden. Ich mache im Prinzip, das gleiche wie du vorhattest bin nur etwas anders an die Sache ran gegangen.
Totzden herzlichen Dank, ich glaube auch im Namen von @nighty für die Rückmeldung, kommt leider zu selten vor
Gruß
Helmut

