Clever-Excel-Forum

Normale Version: Komplexe Berechnung - Variable Blockgröße, erster Wert größer/Kleiner als Startwert
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,
ich hänge gerade an einer verzwickten Excel Tabelle fest und benötige Hilfe. Google hat mich bisher auch nicht weiter gebracht und nun hoffe ich auf Expertenrat von euch. Für die Lösung von meinem Problem können auch gerne Umwege mit Hilfsspalten oder sonstigem benutzt werden. Die Tabelle ist nur für mich und muss somit nicht hübsch aussehen.

Die Tabelle ist wie folgt aufgebaut. Es gibt drei Spalten. Die erste Spalte enthält das Datum, die zweite enthält Uhrzeiten und die dritte enthält Preise die den jeweiligen Uhrzeiten zugeordnet sind. Ich habe euch einen Screenshot und die Tabelle selbst im Anhang mit hochgeladen.

Jeder Tag beginnt um 15 : 30 : 00 (In Tabelle: 1530000). Das dumme ist nur, dass jeder Tagesblock unterschiedlich groß ist. Ich benötige für die folgenden Berechnungen also immer Variable Blöcke, da sich diese in ihrer Länge immer ändern werden. Das Problem ist nun auch, dass sich durch die unterschiedlich großen Blöcke die Tagesanfänge mit verschieben und nicht immer an der gleichen Stelle stehen. Ich hoffe ihr versteht was ich damit meine.

Was ich nun berechnen will ist folgendes: Ich möchte den Preis zu jedem Tagesanfang um 15 : 30 : 00 speichern. Dieser ist dann mein Vergleichswert. Nun möchte ich für den jeweiligen Tagesblock den ersten Preis ausgeben, der größer oder kleiner als der Preis des Tagesanfangs ist. Ich benötige keine Uhrzeiten sondern wirklich nur den Preis und auch nicht den größeren und kleineren sondern nur den Preis, der als erstes den Preis vom Tagesanfang über- oder unterbietet.

Ich hoffe wirklich, dass ihr mir dabei Helfen könnt. Ich bedanke mich im voraus schonmal für jede Hilfe und wünsche euch noch einen schönen Tag.

Lg,
Thomas
Hola,

und wie genau stellst du dir das Ergebnis vor?

Gruß,
steve1da
Hallo Thomasn

so?:

Tabelle1

ABC
1<DATUM><ZEIT><PREIS>
201.01.202015300010
301.01.202015350010
401.01.202015400013
501.01.202015450014
601.01.202015500013
701.01.202015550012
801.01.20201600009
901.01.202016050010
1001.01.2020 Ergebnis91
1102.01.202015300015
1202.01.202015350015
1302.01.202015400015
1402.01.202015450011
1502.01.202015500013
1602.01.202015550014
1702.01.202016000016
1802.01.202016050017
1902.01.202016100018
2002.01.202016150016
2102.01.202016200010
2202.01.20201625008
2302.01.2020 Ergebnis168
2403.01.20201530007
2503.01.202015350011
2603.01.20201540008
2703.01.202015450011
2803.01.2020 Ergebnis37
29Gesamtergebnis296
Formeln der Tabelle
ZelleFormel
C10=TEILERGEBNIS(9;C2:C9)
C23=TEILERGEBNIS(9;C11:C22)
C28=TEILERGEBNIS(9;C24:C27)
C29=TEILERGEBNIS(9;C2:C27)

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Das wurde mit der Standardfunktion Teilergebnis unter dem Reiter Daten erzeugt.
Entschuldigung, ich hätte das Ergebnis als Beispiel aufführen sollen.

Also das Ergebnis soll wie folgt aussehen:
Für das Datum 01.01.2020 ist der Preis um 15 : 30 : 00 bei 10. Nun ist hier 13 der erste Preis der größer oder kleiner als 10 ist. Es soll also als erstes Ergebnis 13 ausgegeben werden.

Für das Datum 02.01.2020 ist der Preis um 15 : 30 : 00 bei 15. Der erste Preis der größer oder kleiner als 15 ist, ist hier in diesem Block 11. Es soll 11 als Ergebnis ausgegeben werden.

Für das Datum 03.01.2020 ist der Preis um 15 : 30 : 00 bei 7. Der erste Preis der größer oder kleiner ist, wäre hier 11. Es soll 11 als Ergebnis ausgegeben werden.

Die Ausgabe von den Ergebnissen kann ganz einfach in einer Spalte und untereinander erfolgen:
z.B.:
Ergebnis 1: 13
Ergebnis 2: 11
Ergebnis 3: 11

Es soll sozusagen nicht die Summe oder Sonstiges aus den Preisen gebildet werden, sondern es soll angezeigt werden, was die erste Preisschwankung an dem jeweiligen Tag ist. Dies soll jedoch so funktionieren, dass man einfach die Daten in Excel kopieren kann und die jeweiligen Ergebnisse unabhängig von den Positionen der Tagesanfänge ausgegeben werden, da die Tage nicht immer gleich lange aber immer direkt aneinander gereiht sind. 

Ich hoffe es ist nun etwas verständlicher, was ich meine.
Hola,

liste die einzelnen Tage irgendwo untereinander auf, z.B. in D2:D4 (also 01.01.2020, 02.01.2020, 03.01.2020....)
Jetzt in E2:

Code:
=VERWEIS(2;1/($A$2:$A$25&$B$2:$B$25=D2&153000);$C$2:$C$25)
In F2:

Code:
=INDEX($C$2:$C$25;AGGREGAT(15;6;ZEILE($C$2:$C$25)-1/(($A$2:$A$25=D2)*($B$2:$B$25<>153000)*($C$2:$C$25<>E2));1))
E2 und F2 nach unten kopieren.

Gruß,
steve1da
Danke! Klappt wunderbar!

Hast du vielleicht auch noch eine Lösung um die Zeilenzahl des jeweiligen Ergebnisses in der Tabelle auszugeben?

z.B. Ergebnis 1: 13 Zeile: 4

Wenn das noch klappen würde, wäre das wirklich der Hammer. Ansonsten aber auch nicht tragisch.

Danke im voraus!
Moin

Nur mal so als Tipp:

Die Funktion INDEX() funktioniert so:
Code:
=INDEX(Matrix;Zeile;Spalte)