Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1744to1748
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datenermittlung aus einem dynamischen Be

Datenermittlung aus einem dynamischen Be
23.03.2020 12:54:14
Michael
Hallo an die Excelexperten,
ich habe das Forum schon oft bei verschiedenen Excelfragestellungen durchforstet und auch fast immer Lösungsmöglichkeiten gefunden. Nun möchte ich zum ersten Mal selbst eine Frage stellen. Eventuell kann jemand helfen. Ich selbst komme nicht weiter.....
In der hochgeladenen Datei befinden sich zwei Tabellenblätter. "High and Low 5M" und "Teststellung".
Nun benötige ich in dem zweiten Blatt (Teststellung) Daten aus dem ersten Blatt (High and Low 5M), jedoch aus einem dynamisch Bereich, der von Zeile zu Zeile verschieden sein kann. Dabei bleibt die Zeile immer gleich. D.h., die in Zeile 3 des zweiten Tabellenblattes einzutragenden Daten kommen aus der Zeile 3 des ersten Tabellenblattes. Für alle folgenden Zeilen gilt das analog (Daten für Zeile 4 des 2. TB kommen aus Zeile 4 des 1. TB, etc.). Das in beiden Tabellenblättern (TB)) jeweils in Spalte A enthaltene Datum ist je Zeile immer identisch.
Befüllt werden soll die Spalte I "MFE (max Kursgewinn)" des zweiten Tabellenblattes. Die Daten kommen vom ersten TB.
Gesucht ist der maximale Wert (MAX) oder minimale Wert (MIN) eines bestimmten Zellbereiches im ersten TB.
Die Kriterien für den zu durchsuchenden Zellbereich sind die Spalten B, D, E und F des zweiten Tabellenblattes.
D.h., der Anfang des zu durchsuchenden Bereiches wird durch die Uhrzeit in Spalte B definiert.
Spalte D gibt vor, ob nach MIN oder MAX gesucht wird (short=MIN, long=MAX).
Das Ende des zu durchsuchenden Bereiches wird durch die Spalten E (Rh) oder F (Rl) definiert.
D.h., ich suche bei dem Eintrag "short" in Spalte D (Zeile 3 des 2. TB) den kleinsten Wert in einem Zellbereich der Zeile 3 im 1. TB, welcher mit der Uhrzeit in Spalte B (Zeile 3 des 2. TB) beginnt, und mit dem Überschreiten des Wertes "Rh" in Spalte E der Zeile 3 im 2. TB endet.
Umgekehrt suche ich bei dem Eintrag "long" in Spalte D (Zeile 3 des 2. TB) den größten Wert in einem Zellbereich der Zeile 3 im 1. TB, welcher mit der Uhrzeit in Spalte B (Zeile 3 des 2. TB) beginnt, und mit dem Unterschreiten des Wertes "Rl" in Spalte F der Zeile 3 im 2. TB endet.
Zwei konkrete Beispiele:
Zeile 3; Datum 01.03.2018; Uhrzeit in B3: 08:05
da Teststellung!D3="short": Suche nach dem kleinsten Wert des Zellbereiches im Bereich 'High and Low 5M'!AA3:LY3 (da der Wert in E3 des TB2 (Rh) nicht überschritten wird, geht der zu durchsuchende Zellbereich bis ans Ende der Zeile 3)
Zeile 13; Datum 15.03.2018; Uhrzeit in B13: 09:05
da Teststellung!D13="long": Suche nach dem größten Wert des Zellbereiches im Bereich'High and Low 5M'!AZ13:CC13 (der Wert in Zelle F13 des TB2 wird in Zelle CC13 des TB1 unterschritten; deshalb endet der Suchbereich bei CC13)
Zur Vollständigkeit: die Daten in TB 1 sind die high- und low-Werte von 5-Minutenkerzen des Kursverlaufes eines Börsenindexes.
Die Exceltabelle beinhaltet insgesamt Daten von 2 Jahren (hier zur Vereinfachung eingekürzt auf 14 Tage) und dient dem Backtest eines Tradingsystems. Dabei ist die Uhrzeit in Spalte B (TB2) das Eröffnen eines Trades, der Text in Spalte D (TB2) die Tradrichtung (long oder short) und der gesuchte Wert in Spalte I (MFE) ist die maximale Kursbewegung vor Beendigung des Trades per Stopploss.
Die beiden Beispiele sind in beiden Tabellenblättern farblich markiert.
https://www.herber.de/bbs/user/136039.xlsx
Ich hoffe sehr, meine Erklärung ist halbwegs verständlich. Ich neige manchmal dazu, zu ausführlich und damit zu umständlich zu erklären.
Bei Fragen bitte fragen.
Für Hilfe wäre ich sehr dankbar. Ich habe bereits 4 Tage a 6 Stunden daran gesessen, habe aber meine zu frühen Grenzen leider nicht überwinden können.
Danke und Grüße aus Thüringen
Michael Baiz

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenermittlung aus einem dynamischen Be
24.03.2020 02:06:00
fcs
Hallo Michael,
ich denke hier kommst du nicht ohne Hilfsspalten aus um Spalten zur Uhrzeit und dem Max- bzw. Min-Wert zu ermitteln.
 HIJK
1KursSpa ZeitSpa Rh/RIMFE (max
2   Kursgewinn
312360,9829337,0012364,78

Formeln der Tabelle
ZelleFormel
I3=VERGLEICH(B3;'High and Low 5M'!$2:$2;1) + WENN(D3="short";0;-1)
J3{=WENN(D3="short";MIN(WENN(BEREICH.VERSCHIEBEN('High and Low 5M'!A3;0;I3+1;1;337-I3)>E3;SPALTE(BEREICH.VERSCHIEBEN('High and Low 5M'!A3;0;I3+1;1;337-I3)); 337)); MIN(WENN(BEREICH.VERSCHIEBEN('High and Low 5M'!A3;0;I3+1;1;337-I3)<F3;SPALTE(BEREICH.VERSCHIEBEN('High and Low 5M'!A3;0;I3+1;1;337-I3)); 337)))}
K3=MAX(BEREICH.VERSCHIEBEN('High and Low 5M'!A3;0;I3;1;337-J3+1))
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Die Formeln kannst du nach unten kopieren.
Außerdem hast du im Blatt "High and Low 5M" in Zeile 2 bis SPalte IU die Uhrzeiten immer wiederholt, bei den weiteren Spalten nicht mehr.
Damit die Formeln für die Ermittlung der SPalte korrekt funktionier musst du die Uhrzeit in einem einheitlichen Muster in Zeile 2 eintragen.
LG
Franz
Anzeige
AW: Datenermittlung aus einem dynamischen Be
24.03.2020 13:37:28
Michael
Hallo Franz,
zunächst ganz herzlichen Dank für Deine Antwort!!
Auch wenn ich nicht alles verstehe (das gilt insbesondere für die Formel in Zelle J), so kann ich zumindest Deinen grundsätzlichen Weg nachvollziehen.
Die Ergebnisse in den Hilfsspalten I und J sind die jeweiligen Start- und Endzellen für den Suchbereich.....
Mit dem eigentlichen Ergebnis in Spalte K komme ich noch nicht ganz klar.
Ich habe als "Gegenprobe" in Zeile 3 einfach den MIN-Wert von AC3 bis LY3 (entspricht den von Dir ermittelten Zellen 29 und 337) ermittelt.
Analog dazu in Zeile 13 den MAX-Wert von AZ13 bis CC13 (entspricht den von Dir ermittelten Zellen 52 und 81).
Die jeweiligen Start- und Endezellen für den Suchbereich sind mit Deinen Formeln auch korrekt ermittelt.
Das Ergebnis der "Gegenprobe" ist jedoch ein anderes als die mit Deiner Formel in K3/K13 ermittelten Werte. Ich finde leider den Fehler nicht.... :-(
Anzeige
AW: Datenermittlung aus einem dynamischen Be
24.03.2020 22:14:48
fcs
Hallo Michael,
da hatte ich in deiner Frage nicht herausgelesen, dass du bei "short" bzw. "long" als Ergebnis den MIN bzw. MAX-Wert berechnen möchtest.
Zusätzlich hatte ich bei den Parametern für die Funktion BEREICH.VERSCHIEBEN noch Fehler drin.
So muss es jetzt sein:
 IJKL
1Spa ZeitSpa Rh/RIMFE (max MAE (max.
2  KursgewinnKursverlust)
329337,0012010,4812010,479
135281,0012352,1312352,13

Formeln der Tabelle
ZelleFormel
I3=VERGLEICH(B3;'High and Low 5M'!$2:$2;1) + WENN(D3="short";0;-1)
J3{=WENN(D3="short";MIN(WENN(BEREICH.VERSCHIEBEN('High and Low 5M'!A3;0;I3+1;1;337-I3)>E3;SPALTE(BEREICH.VERSCHIEBEN('High and Low 5M'!A3;0;I3+1;1;337-I3)); 337)); MIN(WENN(BEREICH.VERSCHIEBEN('High and Low 5M'!A3;0;I3+1;1;337-I3)<F3;SPALTE(BEREICH.VERSCHIEBEN('High and Low 5M'!A3;0;I3+1;1;337-I3)); 337)))}
K3=WENN(D3="short";MIN(BEREICH.VERSCHIEBEN('High and Low 5M'!A3;0;I3-1;1;J3-I3+1)); MAX(BEREICH.VERSCHIEBEN('High and Low 5M'!A3;0;I3-1;1;J3-I3+1)))
L3=MIN('[Michael136072.xlsx]High and Low 5M'!AC3:LY3)
I13=VERGLEICH(B13;'High and Low 5M'!$2:$2;1) + WENN(D13="short";0;-1)
J13{=WENN(D13="short";MIN(WENN(BEREICH.VERSCHIEBEN('High and Low 5M'!A13;0;I13+1;1;337-I13)>E13;SPALTE(BEREICH.VERSCHIEBEN('High and Low 5M'!A13;0;I13+1;1;337-I13)); 337)); MIN(WENN(BEREICH.VERSCHIEBEN('High and Low 5M'!A13;0;I13+1;1;337-I13)<F13;SPALTE(BEREICH.VERSCHIEBEN('High and Low 5M'!A13;0;I13+1;1;337-I13)); 337)))}
K13=WENN(D13="short";MIN(BEREICH.VERSCHIEBEN('High and Low 5M'!A13;0;I13-1;1;J13-I13+1)); MAX(BEREICH.VERSCHIEBEN('High and Low 5M'!A13;0;I13-1;1;J13-I13+1)))
L13=MAX('[Michael136072.xlsx]High and Low 5M'!AZ13:CC13)
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Zum Vergleich hab ich in Spalte L die einfachen MIN/MAX-Funktionen eingefügt. Jetzt scheint es zu passen.
LG
Franz
Anzeige
AW: Datenermittlung aus einem dynamischen Be
25.03.2020 08:26:12
Michael
Guten Morgen Franz,
auch an Dich ganz herzlichen Dank für die Lösung meines Problems und die damit verbundene Mühe.
Das mit dem MIN und MAX bei short und long war sicher meiner nicht eindeutigen Formulierung geschuldet. Sorry dafür!
Jetzt funktioniert es, wie es soll und das Ergebnis ist das gesuchte bzw. gewünschte....
Gestatte mir noch einen kleinen Hinweis:
In Deinen Formeln für die Zellen J3 und K3 hat sich jeweils vor der MIN-Funktion (in J3) und vor der MAX-Funktion (in K3) ein Leerzeichen eingeschlichen.
Bei Übertragung per copy and paste in die Exceldatei haben beide nicht funktioniert.
Nach Löschung des Leerzeichens war aber alles ok. Insofern schreibe ich das nur zu Deiner Info.....
Nochmals ganz herzlichen Dank und
beste Grüße aus Thüringen
Michael
Anzeige
AW: unklar ist ...
24.03.2020 08:09:07
neopa
Hallo Michael,
... wieso in Zeile 3 der auszuwertende min. Wert in Spalte I ermittelt werden soll, wo doch nach Deiner da vorhandenen Überschrift ein max. Gewinn ausgewiesen werden soll. Außerdem müsste da mE auch der so ermittelte Wert von dem Startwert abgezogen werden werden. Und das müsste dann mE nicht in Spalte I sondern in in Spalte J erfolgen, oder? Deine Angabe im Textteil wonach der Beginn des Bereiches bei AA3 liegt, ist sicherlich nur ein Schreibfehler gewesen, denn der sollt bei AC3 beginnen.
Für Zeile 13 müsste der Wert mE in Spalte I auch die Differenz zum Ausgangswert ermittelt werden. Oder?
Gruß Werner
.. , - ...
Anzeige
AW: unklar ist ...
24.03.2020 12:39:27
Michael
Hallo Werner, vielen Dank für Deine Hinweise.
Der Wert in der Spalte I "max. Kursgewinn" gilt beim Trading nicht nur bei einer Erhöhung des Kurswertes, sondern je nach Traderichtung (long oder short) auch bei einer Verringerung des Kurswertes. D.h., bei einem short-Trade erzielt man einen (maximalen) Kursgewinn, wenn sich der Zahlenwert des Kurses verringert. Deshalb gilt für den "max. Kursgewinn"immer die Spalte I.
Im konkreten Beispiel:
Zeile 3 ist ein short-Trade (D3=short); deshalb Suche mittels MIN nach dem niedrigsten Zahlenwert....
Zeile 13 ist ein long-Trade (D13=long); deshalb Suche mittels MAX nach dem höchsten Zahlenwert....
Beide Ergebnisse stellen jedoch den max. Kursgewinn dar...
Und ja, Du hast völlig Recht: AA3 ist falsch - AC3 ist richtig!
Vielen Dank!!
Anzeige
AW: mit AGGREGAT() und benannten Formeln ...
24.03.2020 19:41:28
neopa
Hallo Michael,
... als erstes hab ich Deinen Tabellenblattnamen High and Low 5M umbenannt/gekürzt in HL5M Bei Bedarf kannst Du dieses zum Abschluss in Deinen Tab.-Namen umbenennen.
Dann definiere bei aktivierter Zelle Teststellung!I3 folgende benannte Formeln:
_letzt
=VERWEIS(9;1/(HL5M!3:3&gt0);SPALTE(HL5M!3:3))

_AnfBer
=INDEX(HL5M!3:3;VERGLEICH(!$B3;HL5M!$2:$2;0)+(!$D3="short")):INDEX(HL5M!3:3;_letzt)

_End
=WENN(!$D3="long";WENNFEHLER(AGGREGAT(15;6;SPALTE(_AnfBer)/(_AnfBer&gt=MIN(!E3:F3))/(INDEX(HL5M!3:3; VERGLEICH(!$B3;HL5M!$2:$2;0)+(!$D3="short")-1):INDEX(HL5M!3:3;_letzt)&lt=MIN(!$E3:$F3));1)-1;_letzt); WENNFEHLER(AGGREGAT(15;6;SPALTE(_AnfBer)/(_AnfBer&gt=MAX(!$E3:$F3))/(_AnfBer&gt0);1);_letzt))

(Erstere (_letzt) wird nur benötigt, wenn nach Spalte LY wirklich kein Wert mehr steht. Dann kannst Du anstelle dieser benannte Formel in den beiden anderen benannten Formeln die Zahl 337 einsetzen.)
Dann in I3:
=AGGREGAT(15-(D3="long");6;INDEX(HL5M!3:3;VERGLEICH($B3;HL5M!$2:$2;0)+($D3="short")):INDEX(HL5M!3:3;_End);1)
und Formel nach unten kopieren.
Danach sollte das Ergebnis wie folgt sich ergeben:
Arbeitsblatt mit dem Namen 'Teststellung'
 BCDEFGHI
1ZeitATR SMARtg.RhRlRangeKursMFE (max
2       Kursgewinn
38:050,00short12400,7812363,9836,8012360,9812010,48
48:0516,68short12088,3912032,8355,5612029,8311876,02
59:5025,30long12003,1011728,70274,4012006,1012181,18
128:1014,81long12229,3212151,9877,3412232,3212324,78
139:0514,88long12300,9812254,2846,7012303,9812352,13
148:206,53long12379,9812344,2835,7012382,9812429,85
158:1514,51short12394,0312338,4855,5512335,4812158,28
168:1517,23short12278,0012238,4839,5212235,4812188,78
17        
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Gruß Werner
.. , - ...
Anzeige
AW: mit AGGREGAT() und benannten Formeln ...
24.03.2020 20:20:38
Michael
Guten Abend Werner,
ich bin schwer beeindruckt. Und das ist keine Ironie, sondern ich meine es ernst!!!
Ich hielt mich bisher für einen mindestens furchschnittlich begabten Excelnutzer. Und merke gerade, dass ich lediglich ein bisschen an der Oberfläche herumkratze.....
Ich muss jedoch noch einmal fragen:
Was bedeutet: "...Dann definiere bei aktivierter Zelle Teststellung!I3 folgende benannte
Formeln:..."?

In die Zelle selbst schreibe ich doch die von Dir als letzte angeführte Formel.
Wie genau mache ich "definiere die benannten Formeln"?
Sorry für die Fragerei.
Viele Grüße
Michael
Anzeige
AW: mit AGGREGAT() und benannten Formeln ...
24.03.2020 21:33:21
Michael
Nochmals guten Abend Werner,
bitte ignoriere meine heute 20:20 Uhr gestellte Nachfrage. Ich habe den Weg, wie ich die von Dir
benannten Formeln definiere, herausgefunden. Und es funktioniert genaus so, wie es soll.
Ich bin Dir sehr dankbar für die Hilfe und die Lösung!
Und ich bin wirklich begeistert. Ich weiß - das sagte ich bereits.... ;-)
Herzliche Grüße aus Thüringen
Michael
AW: gerne, ...
25.03.2020 08:13:41
neopa
Hallo Michael,
... denn auch wenn ich jetzt woanders zu Hause bin, so ist und bleibt meine Heimat Thüringen.
Gruß Werner
.. , - ...
AW: gerne, ...
25.03.2020 08:30:23
Michael
Guten Morgen Werner,
auch wenn's off topic ist: darf ich fragen, wo Du herkommst?
Ich lebe seit 57 Jahren (mit zwei mehrjährigen Unterbrechungen) in Erfurt....
Und fühle mich wohl hier ;-)
Herzliche Grüße
Michael
Anzeige
AW: ja ...
25.03.2020 09:45:24
neopa
Hallo Michael,
... bin aufgewachsen in einem Dorf südlich von Jena, wo ich die letzten 4 Jahre meiner Jugendzeit vor nunmehr 5 Jahrzehnten zur Penne ging.
Gruß Werner
.. , - ...

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige