ich habe wieder mal ein größeres Problem.
Ich habe ein Datenblatt welches aus Stundenwerten und Minutenwert besteht. Im Zeitraum von 21 Uhr bis 4 Uhr liegen mir Stundenwerte vor. Im Zeitraum von 5 Uhr bis 20:55 Uhr liegen mir 5 minütige Werte vor.
Ich benötige aber nur Stundenwerte. Ist es irgendwie möglich, dass ich die 5 minütige in Stundenwerte ohne größeren Aufwand umrechnen kann.
Ich möchte dann die Werte von 5 Uhr bis 5:55 Uhr zusammenfassen zu Stunden Werte. Dies sind dann 12 Werte,die zusammengerechnet werden müssen und durch 12 geteilt werden.
hier ein kurzer auszug meines Datenblattes
die erste Zeile entspricht die Uhrzeit die zweite zeile sind die Werte, dies ist bei der Voschau nicht so herauszusehen
usw
Mein Ziel ist aus den 5 monütigen Werten auch Stundenwerte zu erstellen. Also ich rechne die Werte von 5:00 bis 5:55 zusammen und teile sie durch 12, das wird für alle 5 minütigen werte gemacht.
Ich hoffe es gibt da irgendeinen Befehl, denn sonst ist dies eine ewig lange arbeit,die ich dann manuell bewältigen müsste.
Ich freue mich sehr, wenn ihr mir diesbezüglich weiterhelfen könnt und freue mich schon auf eure Antwortmöglichkeiten und bin gespannt wie das gehen wird.
Ich danke euch allen schon mal rechtherzlich für eure Mühen.
die erste Zeile entspricht die Uhrzeit die zweite zeile sind
die Werte, dies ist bei der Voschau nicht so herauszusehen
benutz den Pre-Tag, wird unterhalb des Eingabefensters erläutert und zigmal im Inet.
Ich habe ein Datenblatt welches aus Stundenwerten und
Minutenwert besteht. Im Zeitraum von 21 Uhr bis 4 Uhr liegen
mir Stundenwerte vor. Im Zeitraum von 5 Uhr bis 20:55 Uhr
liegen mir 5 minütige Werte vor.
Ich benötige aber nur Stundenwerte. Ist es irgendwie möglich,
dass ich die 5 minütige in Stundenwerte ohne größeren Aufwand
umrechnen kann.
erstmal vielen Dank für deine schnelle Rückanwort.
muss ich in Spalte A und Spalte C diese oben von dir genannte Formeln benutzen, da ich einen Datensatz von 65536 Zeilen wäre es stressig, dies für jede zeile zu übernehmen, da die Uhrzeiten ja schon vorhanden sind und die werte auch schon drinnen sind und es ja nicht durchgehend 5 minütige werte sind, sondern es immer varriert.
Ich werde es mal einfach probieren und die Formeln in A und c zu verwenden.
Also vielen Dank
Grüße Michael
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hi Reinhard,
habe noch mal eine Verständnis Frage: Ich habe jetzt die Tabelle so wie du sie mir vorgeschlagen hast bearbeitet, bis auf dem, dass ich die Zeile A undverändert ließ und nicht deine Formel eingebaut habe.
Verstehen du ich nicht, wozu man die Formel in Spalte D benötigt. Was beabsichtigt sie denn. Und wozu man die Spalte C benötigt. Sie stimmt ja gar nicht mehr mit der Zeile A über ein.
Was ich auch nicht verstehe was ein pre tag sein sollte.
Weiterhin frage ich mich, wie dadurch mein Problem gelöst wird, welches ich dir oben beschrieben habe. Mein Ziel war es ja aus den 5 minütigen werten, jeweils stunden werte zu machen, und diese Werte sind ja in deiner Tabelle gar nicht mehr vorhanden oder verwechsle ich da was komplett.
Aber weiterhin danke ich dir für deine Mühen und Antworten.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
erstmal vielen Dank für deine schnelle Rückanwort.
muss ich in Spalte A und Spalte C diese oben von dir genannte
Formeln benutzen, da ich einen Datensatz von 65536 Zeilen wäre
es stressig, dies für jede zeile zu übernehmen, da die
Uhrzeiten ja schon vorhanden sind und die werte auch schon
drinnen sind und es ja nicht durchgehend 5 minütige werte
sind, sondern es immer varriert.
Hi Michael,
sorry, einige Formeln dienten nur dazu mir eine 1stündige bzw 5minütige Zeitliste zu erstellen, die natürlich weglassen da du die Zeitlisten schon hast
Gruß
Reinhard
Ich werde es mal einfach probieren und die Formeln in A und c
zu verwenden.
habe noch mal eine Verständnis Frage: Ich habe jetzt die
Tabelle so wie du sie mir vorgeschlagen hast bearbeitet, bis
auf dem, dass ich die Zeile A undverändert ließ und nicht
deine Formel eingebaut habe.
ja, ist okay mit A
Verstehen du ich nicht, wozu man die Formel in Spalte D
benötigt. Was beabsichtigt sie denn. Und wozu man die Spalte C
benötigt. Sie stimmt ja gar nicht mehr mit der Zeile A über
ein.
In Spalte D stehen die von dir gewünschten Stundenzeiten, in C die Stunden dazu.
Was ich auch nicht verstehe was ein pre tag sein sollte.
Weiterhin frage ich mich, wie dadurch mein Problem gelöst
wird, welches ich dir oben beschrieben habe. Mein Ziel war es
ja aus den 5 minütigen werten, jeweils stunden werte zu
machen, und diese Werte sind ja in deiner Tabelle gar nicht
mehr vorhanden oder verwechsle ich da was komplett.
Verstehe ich nicht, schau dir mal meine tabelle genau an, in D hast du doch z.B. für 5 Uhr den Durchschnitt aus den 12 5-Uhrwerten aus A/B.
Insofern müßte meine tabelle korrekt funtionieren, wenn man nur 24 Stunden also einen Tag in einem Blatt hat.
Falsche Ergebnisse kommen dann wenn es über mehrere tage geht, also ein Stundenwert mehrfach auftaucht.
habe noch mal eine Verständnis Frage: Ich habe jetzt die
Tabelle so wie du sie mir vorgeschlagen hast bearbeitet, bis
auf dem, dass ich die Zeile A undverändert ließ und nicht
deine Formel eingebaut habe.
ja, ist okay mit A
Verstehen du ich nicht, wozu man die Formel in Spalte D
benötigt. Was beabsichtigt sie denn. Und wozu man die Spalte C
benötigt. Sie stimmt ja gar nicht mehr mit der Zeile A über
ein.
In Spalte D stehen die von dir gewünschten Stundenzeiten, in C
die Stunden dazu.
Was ich auch nicht verstehe was ein pre tag sein sollte.
Weiterhin frage ich mich, wie dadurch mein Problem gelöst
wird, welches ich dir oben beschrieben habe. Mein Ziel war es
ja aus den 5 minütigen werten, jeweils stunden werte zu
machen, und diese Werte sind ja in deiner Tabelle gar nicht
mehr vorhanden oder verwechsle ich da was komplett.
Verstehe ich nicht, schau dir mal meine tabelle genau an, in D
hast du doch z.B. für 5 Uhr den Durchschnitt aus den 12
5-Uhrwerten aus A/B.
ja da scheint meine Tabelle zu komlex zu sein, da ja meine Tabelle vom 1. Januar bis ende des Jahres geht, also bis zum 31. Dezember. Da in Excel ja nur 65536 Zeilen hat, benutze ich für den Rest des jahres eine neues Arbeitsblatt.
Müsste ich dann für jeden separaten Tag ein neues Blatt eröffnen, wenn ja wäre das stressig, aber dies scheint man ja nicht zu vermeiden.
Insofern müßte meine tabelle korrekt funtionieren, wenn man
nur 24 Stunden also einen Tag in einem Blatt hat.
Falsche Ergebnisse kommen dann wenn es über mehrere tage geht,
also ein Stundenwert mehrfach auftaucht.
Das muß man noch lösen.
Gruß
Reinhard
Vielen dank wie immer für deine schnelle Rückantworten
ja da scheint meine Tabelle zu komlex zu sein, da ja meine
Tabelle vom 1. Januar bis ende des Jahres geht, also bis zum
31. Dezember. Da in Excel ja nur 65536 Zeilen hat, benutze ich
für den Rest des jahres eine neues Arbeitsblatt.
Müsste ich dann für jeden separaten Tag ein neues Blatt
eröffnen, wenn ja wäre das stressig, aber dies scheint man ja
nicht zu vermeiden.
auch das ist zu lösen, mir geht es erst mal dadrum, kommst du mit meinen Formeln klar und funktioieren sie perfekt wenn in einem Blatt nur die Daten eines Tages stehen.
Erst wenn das erfüllt ist kann man weitersehen.
Dann würde sich anbieten, ein Blatt „Übersicht“ o.ä. zu basteln, wo in 365*24 zeilen die Werte aller Tage eines Jahres pro Stunde stehen.
ja da scheint meine Tabelle zu komlex zu sein, da ja meine
Tabelle vom 1. Januar bis ende des Jahres geht, also bis zum
31. Dezember. Da in Excel ja nur 65536 Zeilen hat, benutze ich
für den Rest des jahres eine neues Arbeitsblatt.
Müsste ich dann für jeden separaten Tag ein neues Blatt
eröffnen, wenn ja wäre das stressig, aber dies scheint man ja
nicht zu vermeiden.
auch das ist zu lösen, mir geht es erst mal dadrum, kommst du
mit meinen Formeln klar und funktioieren sie perfekt wenn in
einem Blatt nur die Daten eines Tages stehen.
Erst wenn das erfüllt ist kann man weitersehen.
die Formel scheint irgendwie nicht ganz zu funktionieren. in deine zeile b mache ich ja meine Werte rein oder, die ich auswerten möchte.
Wenn ich dann deine Formel eingeben, müsste da wo die Vollestunden stehen, die werte von Zeile b erscheinen, dies ist nur der Fall von 0:00 Uhr bis 5:00.Wenn die Forme sie Zeile mir 23:00 Uhr erreicht, müsste doch der wert von der zugehörigen Zeile erscheinen. Dies tut es aber nicht.
Ich hoffe ich habe dir mein ANliegen einigermaßen erklärt.
Weiterhin wäre toll, wenn die Summer der 5 minütigen Werte immer in der Zeile erscheint, in der folgende Uhrzeit erscheint: XX:55. In den anderen Zeilen sollte 0 erscheinen.
Dann würde sich anbieten, ein Blatt „Übersicht“ o.ä. zu
basteln, wo in 365*24 zeilen die Werte aller Tage eines Jahres
pro Stunde stehen.
Weiterhin wäre toll, wenn die Summer der 5 minütigen Werte
immer in der Zeile erscheint, in der folgende Uhrzeit
erscheint: XX:55. In den anderen Zeilen sollte 0 erscheinen.
die Formel hat 102 Bytes, bei 65536 Zellen in C ergibt das 6.684.672 Bytes mehr für deine Datei plus die Formelbytes in dem anderen Blatt.
Mit diesem kleinen Makro sparst du dir dieses Bytes ein:
Sub Berechnen()
Dim Zei As Long, F1 As String, F2 As String
F1 = "=WENN(MINUTE(A1)=55;SUMME(INDIREKT(""b""&ZEILE()-11&"":B""&"
F2 = "ZEILE()))/12;WENN(STUNDE(A1)STUNDE(A2);B1;0))"
Columns(3).NumberFormat = "0.00"
Zei = Range("A" & Rows.Count).End(xlUp).Row
Range("C1:C" & Zei).FormulaLocal = F1 & F2
Range("C1:C" & Zei).Value = Range("C1:C" & Zei).Value
End Sub
die Formel ist ja echt einsame Spitze und Klasse. Das funktioniert einwandfrei.
Ich danke die vielmals und es tut mir Leid, dass ich mich erst jetzt melde, war aber die letzen zwei Tage leicht erkältet und meistens im Bett.
Kann man solche Formeln, nur herausfinden, wenn man ein Excel Experte ist oder sich mit vielen Büchern befasst hat.
Auf jeden Fall habe ich durch diese Formel viel Zeit gespart, ich kann dir nicht aufhören zu danken.
die Formel hat 102 Bytes, bei 65536 Zellen in C ergibt das
6.684.672 Bytes mehr für deine Datei plus die Formelbytes in
dem anderen Blatt.
Mit diesem kleinen Makro sparst du dir dieses Bytes ein:
Sub Berechnen()
Dim Zei As Long, F1 As String, F2 As String
F1 =
„=WENN(MINUTE(A1)=55;SUMME(INDIREKT(“„b“"&ZEILE()-11&"":B""&"
F2 = „ZEILE()))/12;WENN(STUNDE(A1)STUNDE(A2);B1;0))“
Columns(3).NumberFormat = „0.00“
Zei = Range(„A“ & Rows.Count).End(xlUp).Row
Range(„C1:C“ & Zei).FormulaLocal = F1 & F2
Range(„C1:C“ & Zei).Value = Range(„C1:C“ & Zei).Value
End Sub
Was ist jetzt der genaue Vorteil, dieses Makro, das habe ich noch nicht verstanden, weil deine oben genannte Formel benötigt nicht mal eine Sekunde, dies auszurechnen
die Formel ist ja echt einsame Spitze und Klasse. Das
funktioniert einwandfrei.
Ich danke die vielmals und es tut mir Leid, dass ich mich erst
jetzt melde, war aber die letzen zwei Tage leicht erkältet und
meistens im Bett.
Kann man solche Formeln, nur herausfinden, wenn man ein Excel
Experte ist oder sich mit vielen Büchern befasst hat.
Auf jeden Fall habe ich durch diese Formel viel Zeit gespart,
ich kann dir nicht aufhören zu danken.
die Formel hat 102 Bytes, bei 65536 Zellen in C ergibt das
6.684.672 Bytes mehr für deine Datei plus die Formelbytes in
dem anderen Blatt.
Mit diesem kleinen Makro sparst du dir dieses Bytes ein:
Sub Berechnen()
Dim Zei As Long, F1 As String, F2 As String
F1 =
„=WENN(MINUTE(A1)=55;SUMME(INDIREKT(“„b“"&ZEILE()-11&"":B""&"
F2 = „ZEILE()))/12;WENN(STUNDE(A1)STUNDE(A2);B1;0))“
Columns(3).NumberFormat = „0.00“
Zei = Range(„A“ & Rows.Count).End(xlUp).Row
Range(„C1:C“ & Zei).FormulaLocal = F1 & F2
Range(„C1:C“ & Zei).Value = Range(„C1:C“ & Zei).Value
End Sub
Was ist jetzt der genaue Vorteil, dieses Makro, das habe ich
noch nicht verstanden, weil deine oben genannte Formel
benötigt nicht mal eine Sekunde, dies auszurechnen
Grüße Michael
Hallo Reinhard,
ich habe jetzt, das Problem verstanden, die Excel Datei wird durch die Formel unendlich groß, ich habe ja jetzt schon eine Excel Datei von 15,8 mb. ich werde versuchen dein Makro einzubauen.
Nochmals vielen Dank,für die Mühe
Was ist jetzt der genaue Vorteil, dieses Makro, das habe ich
noch nicht verstanden, weil deine oben genannte Formel
benötigt nicht mal eine Sekunde, dies auszurechnen
Hallo Michael,
der Vorteil liegt hier einzig in der Dateigröße, also Ladezeit der Datei usw.
die Formel hat 102 Bytes, bei 65536 Zellen in C ergibt das
6.684.672 Bytes mehr für deine Datei plus die Formelbytes in
dem anderen Blatt.
Mit diesem kleinen Makro sparst du dir dieses Bytes ein:
Sub Berechnen()
Dim Zei As Long, F1 As String, F2 As String
F1 =
„=WENN(MINUTE(A1)=55;SUMME(INDIREKT(“„b“"&ZEILE()-11&"":B""&"
F2 = „ZEILE()))/12;WENN(STUNDE(A1)STUNDE(A2);B1;0))“
Columns(3).NumberFormat = „0.00“
Zei = Range(„A“ & Rows.Count).End(xlUp).Row
Range(„C1:C“ & Zei).FormulaLocal = F1 & F2
Range(„C1:C“ & Zei).Value = Range(„C1:C“ & Zei).Value
End Sub
ich habe noch ein Problem mit deinem Makro. Bei mir erscheinen die Range Zeilen immer rot. Dein Makro füge ich ja einfach in ein Modul ein, oder handelt es sich hierbei um ein Makro, welches du vorher aufgenommen hast.
Aber letzlich läd die Datei bei mir eigentlich relativ schnell und er bringt die ganzen Werten in weniger als eine Sekunde,aber ich werde trotzdem versuchen das makro zum starten zu bringen
Grüße michael
Sub Berechnen()
Dim Zei As Long, F1 As String, F2 As String
F1 =
„=WENN(MINUTE(A1)=55;SUMME(INDIREKT(“„b“"&ZEILE()-11&"":B""&"
F2 = „ZEILE()))/12;WENN(STUNDE(A1)STUNDE(A2);B1;0))“
Columns(3).NumberFormat = „0.00“
Zei = Range(„A“ & Rows.Count).End(xlUp).Row
Range(„C1:C“ & Zei).FormulaLocal = F1 & F2
Range(„C1:C“ & Zei).Value = Range(„C1:C“ & Zei).Value
End Sub
Hallo Michael,
ich habe noch ein Problem mit deinem Makro. Bei mir erscheinen
die Range Zeilen immer rot. Dein Makro füge ich ja einfach in
ein Modul ein, oder handelt es sich hierbei um ein Makro,
welches du vorher aufgenommen hast.
kann ich nicht nachvollziehen. Erstelle eine Kopie deiner Datei, lösche alle Blätter bis auf eines, drt löscht du auch alle zeilen über 1000.
Dann die Datei hochladen mit FAQ:2861
Mit meiner Formel geht es seltsamerweise nicht, damit kommen falsche Werte wenn man sie als Namen definiert. Ein Erich hat mir aber eine Formel gebastelt, wo deine Datei auch um Einiges schlanker wird.
Stell dich in C1, dann Einfügen–Namen–Definieren, dann vergibst du den Namen W für
ich würde deine Hilfe gerne nochmal für ein weiteres Problem in an Griff nehmen.
Ist es denn irgenwie möglich, dass man eine Formel hat, mit der man folgendes realisieren kann.
Was ich jetzt gerne noch möchte, ist, dass meine Werte die jweils bei der Minute(55) erscheinen, gerne alle unter einander erscheinen. Dies soll dann in einer neuen Spalte passieren.Dies soll genau mit den Stunden werten passieren.
Die Tabelle sollte dann so ungefähr zum Schluss aussehen.Denn letzendlich benötige ich nur die Stunden Werte und die zusammengefassten Stundenwerte.Gibt es dafür auch so eine tolle Formel
Tabellenblatt: [Mappe1]!Tabelle1
│ A │ B │ C │
───┼──────┼────┼──────┤
1 │ 0:00 │ 1 │ 1 │
───┼──────┼────┼──────┤
2 │ 1:00 │ 2 │ 2 │
───┼──────┼────┼──────┤
3 │ 2:00 │ 3 │ 3 │
───┼──────┼────┼──────┤
4 │ 3:00 │ 4 │ 4 │
───┼──────┼────┼──────┤
5 │ 4:00 │ 5 │ 5 │
───┼──────┼────┼──────┤
17 │ 5:55 │ 17 │ 11,5 │
───┼──────┼────┼──────┤
29 │ 6:55 │ 29 │ 23,5 │
───┼──────┼────┼──────┤
ich bedanke mich schonn mal rechtherzlich für deine Mühe.
grüße Michael
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Sub Berechnen()
Dim Zei As Long, F1 As String, F2 As String
F1 =
„=WENN(MINUTE(A1)=55;SUMME(INDIREKT(“„b“"&ZEILE()-11&"":B""&"
F2 = „ZEILE()))/12;WENN(STUNDE(A1)STUNDE(A2);B1;0))“
Columns(3).NumberFormat = „0.00“
Zei = Range(„A“ & Rows.Count).End(xlUp).Row
Range(„C1:C“ & Zei).FormulaLocal = F1 & F2
Range(„C1:C“ & Zei).Value = Range(„C1:C“ & Zei).Value
End Sub
Hallo Reinhard,
Hallo Michael,
ich habe noch ein Problem mit deinem Makro. Bei mir erscheinen
die Range Zeilen immer rot. Dein Makro füge ich ja einfach in
ein Modul ein, oder handelt es sich hierbei um ein Makro,
welches du vorher aufgenommen hast.
kann ich nicht nachvollziehen. Erstelle eine Kopie deiner
Datei, lösche alle Blätter bis auf eines, drt löscht du auch
alle zeilen über 1000.
Dann die Datei hochladen mit FAQ:2861
Ich meinte damit nur, dass die folgendenen zwei Zeilen, die mit range beginnen rot sind.
Dim zei As Long, f1 As String, f2 As String
f1 = „=wenn(minute(b6)=55;summe(indirekt(“„H“"&zeile()-11&"":H""&"
f2 = „zeile()))/12;wenn(stunde(B6);H6;0))“
Columns(3).NumberFormat = „0.00“
zei = Range ( „b“ & Rows.Count).End(x1up).Row
Range(„E6:E“&zei).formulaLocal=f1&f2 ’ hier ist die Schrift rot
Range("E6:E&zei).value=range(„E6:E“&zei).value 'hier ist die schrift rot
End Sub
Mit meiner Formel geht es seltsamerweise nicht, damit kommen
falsche Werte wenn man sie als Namen definiert. Ein Erich hat
mir aber eine Formel gebastelt, wo deine Datei auch um Einiges
schlanker wird.
Stell dich in C1, dann Einfügen–Namen–Definieren, dann
vergibst du den Namen W für
anschließend schreibst du in C1 rein: =W
und kopierst das nach unten.
habe die neue Formel soeben probiert, damit scheint er aber überfordert zu sein, da ich zu viele Spalten Zeilen habe, die er ausrechnen soll.
Ich denke ich werde mit deiner ersten Formel bleiben, denn mit der hatte ich überhaupt keine probleme und damit hat alles super geklappt, bis auf das, dass die Datei jetzt so groß ist, was mich nicht weiter stört, so lange mein rechner es packt.
ich habe noch ein Problem mit deinem Makro. Bei mir erscheinen
die Range Zeilen immer rot. Dein Makro füge ich ja einfach in
ein Modul ein, oder handelt es sich hierbei um ein Makro,
welches du vorher aufgenommen hast.
du hast nicht mein Makro aus w-w-w rauskopiert und in ein Modul kopiert, sondern es manuell geschrieben, dabei Fehler gemacht.
Setze jeweils vor dem „&“-Zeichen ein Leerzeichen, dann erkennt es Vba. z.B. so:
Range(„E6:E“ &zei).formulaLocal=f1 &f2
Oder kopier meinen Code ins Modul.
habe die neue Formel soeben probiert, damit scheint er aber
überfordert zu sein, da ich zu viele Spalten Zeilen habe, die
er ausrechnen soll.
Dann muß es wohl doch sein, lade mal die komplette Originaldatei hoch.
ich habe noch ein Problem mit deinem Makro. Bei mir erscheinen
die Range Zeilen immer rot. Dein Makro füge ich ja einfach in
ein Modul ein, oder handelt es sich hierbei um ein Makro,
welches du vorher aufgenommen hast.
du hast nicht mein Makro aus w-w-w rauskopiert und in ein
Modul kopiert, sondern es manuell geschrieben, dabei Fehler
gemacht.
Setze jeweils vor dem „&“-Zeichen ein Leerzeichen, dann
erkennt es Vba. z.B. so:
Range(„E6:E“ &zei).formulaLocal=f1 &f2
Oder kopier meinen Code ins Modul.
habe so eben die Leerzeichen gesetzt und jetzt funktioniert das Makro eins A. Komisch finde ich nur, dass man die Leerzeichen setzen muss, normalerweise werden die Leerzeichen doch von alleine gesetzt, zumindest kenne ich das so. Ich habe im ganzen Code keine Leerzeichen gesetzt und das hat auch funktioniert bis auf die besagte Zeile, dort sind die Leerzeichen nicht von alleine erscheint. Komisch finde ich das nur
Vielen Dank und einen schönen Abend
Michael
habe die neue Formel soeben probiert, damit scheint er aber
überfordert zu sein, da ich zu viele Spalten Zeilen habe, die
er ausrechnen soll.
Dann muß es wohl doch sein, lade mal die komplette
Originaldatei hoch.