Clever-Excel-Forum

Normale Version: Komplexe Wenn-Formel
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo alle zusammen,

ich habe hier ein Problem bei einer Auswertung, die ich mit Hilfe einer Wenn-Formel vornehmen möchte. Eventuell kann mir ja jemand auf die Sprünge helfen. Ich hoffe, ich kann es überhaupt verständlich schildern.

Ich habe folgende Tabelle:

B1: Eröffnungskurs (Zahl)
C1: Schlusskurs (Zahl)
D1: Tageshoch (Zahl)
E1: Tagestief (Zahl)
G1 (Wird aus den Werten des Vortages berechnet): Entweder "Long" oder "Short" (Wort)

Ich möchte jetzt folgende Auswertung vornehmen, kann es aber nicht in eine Formel bringen:

In H1 soll ein Ergebnis (Zahl) eingetragen werden, das sich nach bestimmten Bedingungen aus den Zellen B1 bis E1 errechnet.
In einem ersten Schritt müsste geprüft und unterschieden werden, ob G1="Long" oder "Short" ist.

Wenn G1="Long" ist, soll geprüft werden, ob das Tageshoch mindestens 31 größer ist als der Eröffnungskurs. Wenn Ja, soll das Ergebnis für H1= 31 sein. Falls nicht, soll weiter geprüft werden, ob das Tagestief mehr als 60 unter dem Eröffnungskurs liegt. Falls ja, soll das Ergebnis für H1=-60 sein. Falls nicht, soll das Ergebnis die Diifferenz zwischen Eröffnungs- und Schlusskurs sein.

Wenn G1="Short" ist, soll geprüft werden, ob das Tagestief mindestens 31 kleiner ist als der Eröffnungskurs. Wenn Ja, soll das Ergebnis für H1= 31 sein. Falls nicht, soll weiter geprüft werden, ob das Tageshoch mehr als 60 über dem Eröffnungskurs liegt. Falls ja, soll das Ergebnis für H1=-60 sein. Falls nicht, soll das Ergebnis die Diifferenz zwischen Eröffnungs- und Schlusskurs sein.

Ich hoffe, Ihr versteht, was ich meine. Für mich sind es zu viele Bedingungen, um selbst auf die korrekte Formel zu kommen. Ich habe es nur geschafft, die Formel für "Long" oder "Short" zu bilden. Ich möchte aber in der Ergebniszelle (H1) immer ein Ergebnis stehen haben, egal ob G1="Short" oder "Long" ist.

Bin für Tips und Lösungen sehr dankbar und bedanke mich bereits im voraus.

Viele Grüße
Hallo Theo,

zeige bitte deine Tabelle. Nach deinen Angaben baue ich keine Tabelle nach; sie wird sicherlich anders aussehen, als deine. Sensible Daten einfach anonymisieren. Es reichen auch 10-20 Datensätze aus. Lies dazu bitte die mit Wichtig gekennzeichneten Beiträge. http://www.clever-excel-forum.de/Forum-N...gshinweise
Danke für die rasche Rückmeldung.

Ich hoffe, ich kann die Tabelle als Attachement anhängen.


Gruß
Theo
Hi Theo,

meinst du das so?

2017

JK
1Differenz
2Tagesh./Eröffn.
3
4
55,1-60
6154,4931
768,77-23,28
832,3911,32
963,81-18,05
1080,7331
1173,3531
Formeln der Tabelle
ZelleFormel
J5=D5-B5
K5=WENN(UND(G5="long";J5>31);31;WENN(UND(G5="long";J5<=60);-60;C5-B5))

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Hi,

eigentlich sollte das so gehen:



Code:
=WENN(G5="Long";WENN((D5-B5<=31)+(E5-B5>=-60);C5-B5;WENN(D5-B5>31;31;WENN(E5-B5<60;60;0)));WENN((B5-E5<=31)+(B5-D5>=-60);B5-C5;WENN(B5-E5>31;31;WENN(B5-D5<-60;-60;0))))

wenn da nicht zwei Fälle wären, bei denen sowohl das Tageshoch mehr als 31 größer als der Eröffnungskurs sind als auch das Tagestief mehr als 60 kleiner als der Eröffnungskurs. Was passiert dann?
Außerdem stimmen da Deine Ergebnisse nicht!
[
Bild bitte so als Datei hochladen: Klick mich!
]

Hallo Günter,
hallo Edgar,

herzlichen Dank für Eure schnelle Hilfe.

Leider stimmen die Formeln noch nicht. Ich füge mal einen Screenshot der Tabelle mit  den korrekten Ergebnissen bei. Ich habe das einfach mal manuell für die paar Zeilen gerechnet und die Ergebniss in Spalte K eingetragen. In Spalte J stehen die Ergebnisse, die Edgars Formel liefert.
Nachstehend möchte ich versuchen, Euch "schematisch" zu erläutern, wie ich für jede Zeile zu dem jeweiligen Ergebnis komme:
Zeile 5: G5="Long" -> Ist Tageshoch mindestens 31 höher als Eröffnung? -> Nein -> Ist Tagestief 60 Punkte unter Eröffnung? - > Ja -> Ergebnis=-60

Zeile 6: G6="Long" -> Ist Tageshoch mindestens 31 höher als Eröffnung? -> Ja -> Ergebnis=31

Zeile 7: G7="Short" -> Ist Tagestief mindestens 31 tiefer als Eröffnung? -> Nein -> Ist Tageshoch 60 Punkte über Eröffnung? - > Nein -> Ergebnis= 23,28 (Differenz Schluss und Eröffnung)

Zeile 8: G8="Short" -> Ist Tagestief mindestens 31 tiefer als Eröffnung? -> Ja -> Ergebnis= 31

Zeile 9: G9="Short" ->  Ist Tagestief mindestens 31 tiefer als Eröffnung? -> Ja -> Ergebnis= 31

Zeile 10: G10="Long" -> Ist Tageshoch mindestens 31 höher als Eröffnung? -> Ja -> Ergebnis=31

Zeile 11: G11="Long" -> Ist Tageshoch mindestens 31 höher als Eröffnung? -> Ja -> Ergebnis=31

Ich hoffe, ich konnte Euch damit noch einmal verdeutlichen, was ich meine. Ich kann die Tabelle auch gerne noch um ein paar Zeilen erweitern.


Viele Grüße und nochmals vielen Dank
(15.08.2017, 19:09)TheoSch schrieb: [ -> ]Zeile 7: G7="Short" -> Ist Tagestief mindestens 31 tiefer als Eröffnung? -> Nein -> Ist Tageshoch 60 Punkte über Eröffnung? - > Nein
In welchem Universum?

Die Differenz Tageshoch-Erföffnung ist 68,77 und damit über 60 Punkte.
Danke für den Hinweis! Das war natürlich blöd. Ich war da wohl in eine falsche Zeile gerutscht. Bei Zeile 7 waren gleich 2 Fehler enthalten, da das Tagestief auch mehr als 31 Punkte unter der Eröffnung lag.


Hier die korrigierte Tabelle (Spalte J die Ergebnisse nach Edgars Formel, Spalte K die manuellen Ergebnisse) :

[
Bild bitte so als Datei hochladen: Klick mich!
]

Und für Zeile 7 die korrigierte Erläuterung:

Zeile 7: G7="Short" -> Ist Tagestief mindestens 31 tiefer als Eröffnung? -> Ja -> Ergebnis= 31

Ich habe noch eine Zeile 12 eingefügt, zur Veranschaulichung dafür, was passieren solll, wenn die "Extremwerte" nicht erreicht werden.

Zeile 12: G12="Long" -> Ist Tageshoch mindestens 31 höher als Eröffnung? -> Nein -> Ist Tagestief 60 Punkte unter Eröffnung? - > Nein -> Ergebnis= -16,01 (Differenz Schluss und Eröffnung)

Zu Edgars Frage:
wenn da nicht zwei Fälle wären, bei denen sowohl das Tageshoch mehr als 31 größer als der Eröffnungskurs sind als auch das Tagestief mehr als 60 kleiner als der Eröffnungskurs. Was passiert dann?

Hier wäre das Ergebnis immer 31. Bei Long, weil das Hoch über 31 Punkte über Eröffnungskurs liegt. Bei Short, weil das Tagestief auch mehr als 31 Punkte unter dem Eröffnungskurs liegt.

Ich hoffe, ich drücke mich einigermaßen verständlich aus.

Viele Grüße
Theo
Hi,

Deine letzten Ausführungen widersprechen dem:


Zitat:Wenn G1="Short" ist, soll geprüft werden, ob das Tagestief mindestens 31 kleiner ist als der Eröffnungskurs. Wenn Ja, soll das Ergebnis für H1= 31 sein. Falls nicht, soll weiter geprüft werden, ob das Tageshoch mehr als 60 über dem Eröffnungskurs liegt. Falls ja, soll das Ergebnis für H1=-60 sein. Falls nicht, soll das Ergebnis die Diifferenz zwischen Eröffnungs- und Schlusskurs sein.

Code:
=(G5="long")*MEDIAN(MIN(D5-B5;31);MAX(E5-B5;-60);C5-B5)+(G5="Short")*WENN(B5-E5>31;31;WENN(D5-B5>60;60;C5-B5))
=(G5="long")*WENN(D5-B5>31;31;WENN(E5-B5<-60;-60;C5-B5))+(G5="Short")*WENN(B5-E5>31;31;WENN(D5-B5>60;60;C5-B5))
Hallo Edgar,

vielen Dank für Deine erneute Hilfe.

So peinlich es mir ja ist, aber jetzt bin ich total verwirrt:
1.) Wenn ich Deine neue Formel in meine Tabelle Kopiere, erhalte ich als Ergebnis keine Zahl, sondern "Wahr".
2.) Ich erkenne den von Dir angemerkten Widerspruch zwischen meinen Aussagen/Angaben nicht. Sorry, aber ich stehe gerade komplett auf dem Schlauch.

Viele Grüße
Theo
Seiten: 1 2