Excel Formel
Hallo zusammen, ich bin dabei ein Rechenmodul zu erstellen ;-)
Dafür brauche ich eure HIlfe.
Ich habe 5 Felder in denen Werte drin stehen, diese befinden sich nebeneinander.
Bsp
+100kg , + 300 kg , + 500 kg
0,30 , 0 , 0,25
310 kg
Bei meiner aktuellen WENN Formel bedient der sich nur der Zahl unter den 300kg. Somit 310 mal 0.
Allerdings soll die WENN Formel automatisch ins Feld links oder rechts daneben wandern wenn in dem aktuellen Feld kein Wert hinterlegt ist. Das gelingt mir nicht.
Habt ihr da vl eine Idee?
Antwort schreiben
Ich fürchte, die Fregestellung ist nicht recht klar.
Im Beispiel stehen nicht 5, sondern nur drei Felder nebeneinander.
Wo steht die Formel?
Was soll sie berechnen?
Und wahrscheinlich soll nicht die Formel wandern, sondern sie soll ein anderes Feld verwenden, wenn ...?
Antwort 2 von DOMMEl vom 08.09.2022, 23:17 Options
Die Formel ist zu lang um sie hierein zu kopieren, denn es ist zu verschachtelt
Also das sind nur drei Felder gewesen im Beispiel, weil es ein vereinfachtes Beispiel dessen ist was ich habe. und ich die "Lösung" auf meins fast übertragen kann.
Es geht um Preise, die berechnet werden, die von einer Kilozahl abhängen.
Es gibt die Möglichkeit, dass das Gewicht in folgenden Abschnitten einteilbar ist.
0-100
100-300
300-500
500-1000
und über 1000
Zu jedem dieser Abschnitte gibt es einen Preis
0-100 0,20 cent je kg
100-300 30cent je kg
300-500 1 euro je kg
500-1000 2 euro je kilo
und über 1000 2,50 je kg
dafür habe ich eine Formel, dass er sich das automatisch berechnet.
Bsp 310 kg.
310 kg gehört in den Berich 300-500kg - somit simmt er die 319 mal die 1 Euro je kg = 300 kg
Problem was ich habe:
ab und an steht bei einigen abschnitten kein Preis.
Dann soll der den preis von dem "davor" nehmen.
Ist in dem Beispiel z.b. kein Preis bei 300-500, soll er den preis von 100-300 nehmen.
ISt das jetzt einfacher erklärt? ;-)
Antwort 3 von rainberg vom 08.09.2022, 23:41 Options
Hallo,
vielleicht hilft Dir das weiter.
Wenn in A1 die Kilozahl steht, bekommst Du mit folgender Formel den entsprechenden Preis geliefert.
=SVERWEIS(A1;{0.0,2;100.0,3;300.1;500.2;1000.2,5};2;1)
Gruss
Rainer
Antwort 4 von DOMMEl vom 08.09.2022, 23:56 Options
Das sieht gut aus, allerdings was macht der wenn eine der Preise 0 ist und er den vorherigen Wert nehmen sollte. kann man das auch irgendwie einschließen?
Antwort 5 von rainberg vom 09.09.2022, 07:04 Options
Hallo,
Zitat:
wenn eine der Preise 0 ist und er den vorherigen Wert nehmen sollte
....den Satz verstehe ich nicht, bitte mal an einem Beispiel erläutern.
Gruss
Rainer
Die Staffelpreise sind doch falsch herum gestaffelt, oder?
Antwort 7 von DOMMEl vom 09.09.2022, 18:40 Options
ist nur ein Bespiel, eig ja...
ich hab nicht zu jeder Staffelung einen Preis. Wenn dies der Fall ist, dann soll er den Preis aus der vorherigen Staffelung nehmen.
Bsp.
310 kg.
Staffelung
1. 100-300 1 Euro
2 . 300-500 0 Euro
3. 500- 1000 2 Euro
Da es für die 310 kg keine Staffelung gibt, wandert er in die 1. also 310 kg mal 1 Euro. Er soll nicht 310 mal 0 rechnen
Antwort 8 von Saarbauer vom 09.09.2022, 18:52 Options
Hallo,
geht mit dem Sverweis von @rainberg, dann sieht die Staffelung so aus
=SVERWEIS(A1;{0.0,2;100.0,3;500.2;1000.2,5};2;1)
der 300 kg-Bereich fehlt
Gruß
Helmut
Antwort 9 von DOMMEl vom 09.09.2022, 22:10 Options
mhhhh , es sind knapp 500 Zeilen...
und nicht immer fehlt der 300er Bereich. manchmal steht überall was drin mal in dem 500er Bereich nicht...
Die Formel muss wenn Zeileninhalt 0 (von dem Bereich) in die Zelle links daneben gehen, gucken ob da was drin steht, wenn ja dann soll er den Wert nehmen und damit rechnen. wenn nicht soll er wieder einen nach Links gehen.
Ansonsten ist die Formel die ihr gespostet habt gut und funzt bis auf diese Ausnahme
Antwort 10 von Saarbauer vom 10.09.2022, 09:26 Options
Hallo,
leider ist mit deinen Angaben die Tabelle nicht vorstellbar.
wenn du 500 Zeilen hast, warim steht machmal da der 300 Bereich drin und mal nicht.
Mein Vorschlag, eine Beispieltabelle ins Netz und den Link hier hinterlegen
Du kennst deine Tabelle, wir nur das hier Geschriebene. Ich vermute im Moment, das wir mit dem Sverweis den falschen Weg einschlagen
Gruß
Helmut
Antwort 11 von Paul1 vom 10.09.2022, 12:54 Options
Hallo!
Ich nehme an, dass die von Dir genannte Staffelung so wie sie ist auch bleibt:
Aus Antwort 2:
0-100 0,20 cent je kg
100-300 30cent je kg
300-500 1 euro je kg
500-1000 2 euro je kilo
und über 1000 2,50 je kg
in A1 bis A5 stehen die Mengen
in B1 bis B5 stehen die Preise lt. Formel von Rainer:
=SVERWEIS(A1;{0.0,2;100.0,3;300.1;500.2;1000.2,5};2;1)
In F1 bis F5 werden die Preise lt. Bestellung, Rechnung etc... eingegeben und bei 0 wird dann der Preis der vorherigen Mengenstaffel in C1 eingetragen
In C1 bis C5 stehen dann die so berichtigten Preise.
Die Formeln:
C1: =WENN(B1-F1=0;B1;B1)
C2: =WENN(B2-F2=0;B2;B1)
C3: =WENN(B3-F3=0;B3;B2)
C4: =WENN(B4-F4=0;B4;B3)
C5: =WENN(B5-F5=0;B5;B4)
Zum Beispiel der Gesamtpreis könnte in D1bisD5 stehen
mit der Formel in D1: =A1*C1
Ich hoffe, diese Möglichkeit entspricht Deinen Vorstellungen
Gruß
Paul1
Antwort 12 von Paul1 vom 10.09.2022, 13:14 Options
Hallo nochmals
Wenn in B1 bis B5 keine Preise (oder nur teilweise) stehen, weil in A1 bis A5 keine Mengen (oder nur teilweise) eingegeben wurden, wird eine Hilfsspalte Deiner Wahl erforderlich sein z.B. G1 bis G5, dort stehen Staffelpreise fix und sind von Eingaben in A1 bis A5 nicht abhängig.
Die Formeln in C1 bis C5 müßten abgeändert werden statt B dann G.
Gruß
Paul1
Antwort 13 von Paul1 vom 10.09.2022, 13:43 Options
Hallo!
Nachtrag:
Ich habe gerade gesehen es handelt sich hiebe um 500 Zeilen, die bunt gemischt angeordnet sind.
Da ist mit meiner Lösung nicht viel anzufangen.
sorry
Paul1
Wie wäre es denn, erst einmal die Tabelle in ein vernünftiges, systematisches Format zu bringen?
Dabei könnte man die fehlende Staffelung ganz einfach umgehen, indem man sie DOCH einträgt - mit dem gleichen Preis, wie die Staffel darunter.
Überigens finde ich es selbst in einem Beispiel verwirrend, wenn der Einzelpreis mit steigender Abnahmemenge steigt.
Antwort 16 von DOMMEl vom 10.09.2022, 14:37 Options
@Paul1
danke für deine Antwort. Das was Rainer schrieb:
=SVERWEIS(A1;{0.0,2;100.0,3;300.1;500.2;1000.2,5};2;1)
ist fast genau das was ich haben will. und in ähnlicher Weise nur mit mehr Wenn Formeln schon habe. Durch Rainers Formel, kann ich meine super Lange Formel verkürzen
ABER: wie kann man das machen dass er vorher in der Zelle schaut und überprüft ob der Zelleninhalt 0 ist oder nicht
z.B. so:
WENN(A5=0;(gehe in A4; schaue ob a4=0, wenn das der fall ist dann gehe in A3 u.s.w, wenn aber a4>0, dann nehme den a4 wert)
vl probiere ich das mal mit der Hilfsspalte
@nostalgiker
Deine Antwort hilft nicht sonderlich weiter, weil:
Die Tabelle in einem vernünftigem Format ist.
Und die Staffelung egal ist.
500 Zeilen oder z.T auch mehr durchzugehen ist extrem mühsam.
Wenn die fehlende Staffelung eingetragen wird, dann entfällt das anscheinend noch immer nicht gelöste Problem, "dass er vorher in der Zelle schaut und überprüft ob der Zelleninhalt 0 ist oder nicht".
Antwort 18 von DOMMEl vom 10.09.2022, 14:47 Options
Ja das Stimmt,
Hunderte von Zeilen zu vervollständigen ist allerdings super schwer und Zeilaufwändig, wenn man dann noch mehrere Tabellen hat auf das man das anwenden will ist das umso zeitaufwändiger.
An dem Punkt war ich ja schon, und das will ich mir ersparen
Antwort 19 von DOMMEl vom 10.09.2022, 14:51 Options
Ich werde die Tabelle mal Hochladen...
Antwort 20 von Saarbauer vom 10.09.2022, 15:18 Options
Hallo,
ich hoffe ich habe alles richtig verstanden. Versuches mal mit der Matrixformel
{
=SVERWEIS(INDIREKT(ADRESSE(MAX(NICHT(ISTLEER($A$1:A1))*ZEILE($A$1:A1));1));{0.0,2;100.0,3;300.1;500.2;1000.2,5};2;1)
}
wobei die Formel ohne geschweifte Klammer in der Zeile 1 eingegen wird und nachher die geschweifte Klammer mit "Umsch""STRG" und"Enter" erzeugt wird. Anschliessend die Formel nach unten ziehen
Gruß
Helmut