- Beiträge: 12
wenn Formel aus Exel in Flowheater programmieren
- Andreas K
- Autor
- Offline
- Benutzer
Weniger
Mehr
8 Jahre 6 Monate her #2708
von Andreas K
wenn Formel aus Exel in Flowheater programmieren wurde erstellt von Andreas K
Hallo,
leider kommen wir hier nicht weiter und bitten um Hilfe.
Über eine "Wenn Abfrage" lassen wir in Exel Preise kalkulieren. Hier die Formel:
=WENN(B2>=1000;(B2*$I$7)+$J$7+$I$27+$I$29;WENN(B2>=500;(B2*$I$8 )+$J$8+$I$27+$I$29;WENN(B2>=250;(B2*$I$9)+$J$9+$I$27+$I$29;WENN(B2>=100;(B2*$I$10)+$J$10+$I$27+$I$29;WENN(B2>=75;(B2*$I$11)+$J$11+$I$27+$I$29;WENN(B2>=50;(B2*$I$12)+$J$12+$I$27+$I$29;WENN(B2>=40;(B2*$I$13)+$J$13+$I$27+$I$29;WENN(B2>=30;(B2*$I$14)+$J$14+$I$27+$I$29;WENN(B2>=25;(B2*$I$15)+$J$15+$I$27+$I$29;WENN(B2>=20;(B2*$I$16)+$J$16+$I$27+$I$29;WENN(B2>=15;(B2*$I$17)+$J$17+$I$27+$I$29;WENN(B2>=10;(B2*$I$18)+$J$18+$I$27+$I$29;WENN(B2>=7,5;(B2*$I$19)+$J$19+$I$27+$I$29;WENN(B2>=5;(B2*$I$20)+$J$20+$I$27+$I$29;WENN(B2>=4;(B2*$I$21)+$J$21+$I$27+$I$29;WENN(B2>;(B2*$I$22)+$J$22+$I$27+$I$29;WENN(B2>=2;(B2*$I$23)+$J$23+$I$27+$I$29;WENN(B2>=1;(B2*$I$24)+$J$24+$I$27+$I$29;WENN(B2>0;(B2*$I$25)+$J$25+$I$27+$I$29;0)))))))))))))))))))
Je nachdem, wie hoch der Preis ist, greifen wir auf einen anderen Faktor und einen anderen Wert zu.
Beispiel:
Ist der Preis >= 100, multipliziere den Wert mit 1,3 und addiere 5 dazu
Ist der Wert >= 75, multipliziere den Wert mit 1,45 und addiere 3,2 dazu
Der errechnete Wert wird dann zurück geschrieben und für weitere Formeln (z.B. Errechnung Rohertrag) verwendet
Gibt es dafür ein Beispiel? Kann uns hierbei jemand bitte helfen?
Viele Grüße
Andreas
leider kommen wir hier nicht weiter und bitten um Hilfe.
Über eine "Wenn Abfrage" lassen wir in Exel Preise kalkulieren. Hier die Formel:
=WENN(B2>=1000;(B2*$I$7)+$J$7+$I$27+$I$29;WENN(B2>=500;(B2*$I$8 )+$J$8+$I$27+$I$29;WENN(B2>=250;(B2*$I$9)+$J$9+$I$27+$I$29;WENN(B2>=100;(B2*$I$10)+$J$10+$I$27+$I$29;WENN(B2>=75;(B2*$I$11)+$J$11+$I$27+$I$29;WENN(B2>=50;(B2*$I$12)+$J$12+$I$27+$I$29;WENN(B2>=40;(B2*$I$13)+$J$13+$I$27+$I$29;WENN(B2>=30;(B2*$I$14)+$J$14+$I$27+$I$29;WENN(B2>=25;(B2*$I$15)+$J$15+$I$27+$I$29;WENN(B2>=20;(B2*$I$16)+$J$16+$I$27+$I$29;WENN(B2>=15;(B2*$I$17)+$J$17+$I$27+$I$29;WENN(B2>=10;(B2*$I$18)+$J$18+$I$27+$I$29;WENN(B2>=7,5;(B2*$I$19)+$J$19+$I$27+$I$29;WENN(B2>=5;(B2*$I$20)+$J$20+$I$27+$I$29;WENN(B2>=4;(B2*$I$21)+$J$21+$I$27+$I$29;WENN(B2>;(B2*$I$22)+$J$22+$I$27+$I$29;WENN(B2>=2;(B2*$I$23)+$J$23+$I$27+$I$29;WENN(B2>=1;(B2*$I$24)+$J$24+$I$27+$I$29;WENN(B2>0;(B2*$I$25)+$J$25+$I$27+$I$29;0)))))))))))))))))))
Je nachdem, wie hoch der Preis ist, greifen wir auf einen anderen Faktor und einen anderen Wert zu.
Beispiel:
Ist der Preis >= 100, multipliziere den Wert mit 1,3 und addiere 5 dazu
Ist der Wert >= 75, multipliziere den Wert mit 1,45 und addiere 3,2 dazu
Der errechnete Wert wird dann zurück geschrieben und für weitere Formeln (z.B. Errechnung Rohertrag) verwendet
Gibt es dafür ein Beispiel? Kann uns hierbei jemand bitte helfen?
Viele Grüße
Andreas
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
8 Jahre 6 Monate her #2709
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf wenn Formel aus Exel in Flowheater programmieren
Hallo Herr Königsberger,
solche Excel Wenn Dann Formeln sind am einfachsten über den .NET Script Heater im FlowHeater abzubilden. Das folgende Skript führt genau diese Prüfungen/Berechnungen durch, im Anhang finden Sie ein kleines Beispiel dazu. Sollte auch ohne Programmierkenntnisse anwendbar sein, die stellen im Code sind mit Kommentaren versehen.
C# .NET Script
Hier finden Sie weiteres Beispiel wie der IF-THEN-ELSE Heater bzw. der .NET Heater zu verwenden sind:
Komplexe If-Then-ElseIf ... Bedingung
solche Excel Wenn Dann Formeln sind am einfachsten über den .NET Script Heater im FlowHeater abzubilden. Das folgende Skript führt genau diese Prüfungen/Berechnungen durch, im Anhang finden Sie ein kleines Beispiel dazu. Sollte auch ohne Programmierkenntnisse anwendbar sein, die stellen im Code sind mit Kommentaren versehen.
C# .NET Script
Code:
public object DoWork()
{
// Prüfung ob ein Eingangsparameter übergeben wurde
if (InValues.Length != 1)
throw new ArgumentException("Es wird 1 Eingangsparameter benötigt!");
if (InValues[0].GetValue() == null)
return 0;
// Eingangswert abrufen und prüfen ob der Wert in eine Zahl umgewandelt werden konnte
object o = InValues[0].GetDouble();
if (o == null)
throw new ArgumentException(String.Format("Der Wert {0} konnte nicht in eine Zahl umgewandelt werden!", InValues[0].GetString()));
double d = (double)o;
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
// ab hier wird der Wert geprüft
//
// weitere Werte können nach dem gleichen Schema hinzugefügt werden
// der größte wert muss am Anfang geprüft werden
if (d >= 100)
{
// berechnung zurückliefern
return d * 1.3 + 5;
}
// dann der nächstgrößere usw.
if (d >= 75)
{
// berechnung zurückliefern
return d * 1.45 + 3.2;
}
// falls keine Prüfung greift den Eingangswert zurückliefern.
return d;
}
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Andreas K
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 12
8 Jahre 5 Monate her #2725
von Andreas K
Andreas K antwortete auf wenn Formel aus Exel in Flowheater programmieren
Hallo Herr Stark,
das hat super geklappt.
Vielen Dank
das hat super geklappt.
Vielen Dank
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.268 Sekunden