Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1868to1872
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

Funktion Rest bei Zeitberechnungen

Funktion Rest bei Zeitberechnungen
08.02.2022 21:12:02
PaPi
Guten Abend!
Kann mir jemand erklären, wie die Funktion REST die Differenz zwischen vor Mitternacht bis nach Mitternacht berechnet.
Beispiel:
A1 = 22:00
B1 = 02:00
C1 = REST(B1-A1;1)
Das Ergebnis als Zahl = -0,833333333 (eine negative Zeit gibt es ja nicht)
Mit der Funktion wird das Ergebnis korrekt berechnet! =0,166666667

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
da fehlt das unterschiedliche Tagesdatum
08.02.2022 21:27:16
WF
mit =ABS(B1-A1) erhältst Du 20 Stunden (gleicher Tag)
WF
AW: da fehlt das unterschiedliche Tagesdatum
08.02.2022 21:44:50
PaPi
Hallo WF
Danke für den Hinweis. Mir gehts darum dass ich denBeginn einer Tätigkeit vor Mitternacht erfasse und das Ende nach Mitternacht (am folgenden Tag) erfasse.
Das Datum sollte keine Rolle spielen.
bevor ich die Funktion REST in diesem Zusammenhang kannte habe ich mit folgender Formel die Differenz berechnet:

=1-A1+B1
Ich finde REST eleganter, nur kann ich keine Erklärung finden, wie dieses Funktion auf die korrekte Zeit kommt.
19:00 minus 22:00 soll also 21:00 ergeben
08.02.2022 22:00:54
WF
und ich fall vom Hocker
Rest bei Zeitberechnungen über Mitternacht
08.02.2022 21:40:40
Josef
Hallo
C1 = REST(1+B1-A1;1)
-funktioniert auch, wenn A1 kleiner als B1 ist.
Gruss Sepp
Anzeige
AW: nachgefragt ...
09.02.2022 09:10:07
neopa
Hallo Sepp,
... zunächst aber festgestellt, schön mal wieder von Dir einen Beitrag zu lesen :-)
Was spricht denn, bei reinen Zeiteingaben in A1 und B1 für den Einsatz von REST() anstelle von =1-A1+B1?
Gruß Werner
.. , - ...
AW: nachgefragt ...
09.02.2022 10:10:55
Josef
Hallo Werner
Durch den Einsatz der Funktion REST() kann die Berechnung: =1-A1+B1 auch angewendet werden, wenn die Zeitangaben nicht tagesübergreifend sind, das heisst, die Startzeit kann auch kleiner als die Endzeit sein. Ohne Rest() würde in diesem Fall 24Stunden zuviel berechnet.
Eine Alternatieve mit dem selben Ziel, ohne die Funktion Rest() kann z.B. so aussehen =(A1>B1)-A1+B1
Gruss Sepp
Anzeige
AW: klar, war ne dumme Frage meinerseits ...
09.02.2022 13:08:22
neopa
Hallo Sepp,
... ich hatte nur die Fragestellung: die Differenz zwischen vor Mitternacht bis nach Mitternacht in Betracht gezogen. Aber das ist ja nicht der Normalfall.
Danke und wünsche noch einen schönen Tag.
Gruß Werner
.. , - ...
AW: nun noch zu Deiner eigentlichen Frage ...
09.02.2022 08:57:09
neopa
Hallo PaPi,
... die kann man auch mit einer Excelformel bezogen auf einen beliebigen Zahlenwert in A1 "erläutern":
=REST(A1;1)=ABS(GANZZAHL(A1)-A1)
Gruß Werner
.. , - ...
oT: nachgefragt ...
09.02.2022 13:04:01
neopa
Hallo Günther,
... auch Dich hatte ich länger hier nicht gelesen. Schön es wieder tun zu können.
Nun meine oT-Frage:
Hast Du Erfahrung mit "kaskadierten" PQ-Abfragen?
Also ich überlege momentan ob ich Abfrage auf eine Datenquelle in einer anderen Arbeitsmappe (nicht geöffneten) abgelegt ist und die wiederum das Ergebnis einer PQ-Abfrage ist welche ihre Daten wiederum aus einer Datentabelle einer ganz anderen Arbeitsmappe (nicht geöffneten) zieht. In letzterer werden die Änderungen vorgenommen und danach meist wieder geschlossen. In ersterer möchte ich zu einem unbekannten Zeit eine aktualisierte Ergebnisauswertung vornehmen. Würde so etwas überhaupt gehen? Wenn dann wohl nur mit einem zusätzlichen Makrocode, oder? Wo könnte ich dazu nachlesen?
Gruß Werner
.. , - ...
Anzeige
AW: oT: nachgefragt ...
09.02.2022 15:27:56
ChrisL
Hi Werner
Aufgrund deiner Nachfrage im anderen Beitrag:
https://www.herber.de/forum/archiv/1868to1872/1869768_WerteSuchen_u_nebeneinander_wiedergeben.html
Ich habe es nie ausprobiert, aber ich denke man könnte es einfach mal testen.
Meine Vermutung wäre, dass "aufbauende" Abfragen (eine Abfrage baut auf dem Ergebnis einer anderen Abfrage auf) kein Problem sind. Was hingegen problematisch sein könnte, wäre die automatische Aktualisierung, wenn sich die Abfragen in verschiedenen Dateien befinden. Meine Annahme wäre, dass du in dieser Konstellation die Aktualisierung der Abfrage in der anderen, geschlossenen Datei erst manuell (bzw. per VBA) auslösen musst.
Der Nutzen von "kaskadierten" Abfragen verstehe ich. Aber es fehlt mir momentan die Fantasie, wieso man die Abfragen in verschiedene Dateien verteilen würde.
cu
Chris
Anzeige
AW: genau, es geht im Wesentlichen darum ...
09.02.2022 16:05:51
neopa
Hallo Chris,
... wie die Aktualisierung der Abfrage in der (nicht offenen) "Zwischendatei" vorgenommen werden kann. Eine solche müsste ja ausgelöst werden, wenn in der Ergebnisdatei die Aktualisierung angestoßen wird. Und da sehe ich ohne VBA keine wirkliche Chance. Ich dachte nur bevor ich mich wirklich in diese Richtung bewege, frage ich mal die PQ-Profis hier im Forum, ob sie damit Erfahrungen gesammelt haben.
Danke Dir schon mal für Deine bisherige Aussagen.
Zu Deiner indirekten Frage. Ich hab erstmalig eine relativ große Datendatei (max ca. 5.000 Datensatze mit momentan 90 Spalten) mit Hilfe von PQ ausgewertet. ich musste (ehrenamtlich) 65 unterschiedliche Ergebnistabellen erstellen, weiter können noch dazukommen.
Nach der Erstellung der 15. Abfrage hob mein PC die Hufe (es wäre kein ausreichender Arbeitsspeicher mehr vorhanden). Möglicherweise liegt es daran, dass ich mein XL als 32 Bit-Version installiert habe (und so beibehalten möchte). Weil ich aber zu einen Termin zu einem Ergebnis kommen musste, hab ich einen mE entscheidenden Fehler begangen. Ich hab die bis dahin erstellte Arbeitsmappe (Datenquelle mit vorhandenen Abfragen) kopiert und in den kopierten Datei für Datei je max 10 Abfragen aufgestellt.
Nun plane ich die Auswertung neu aufzusetzen, weil ich bei notwendigen Änderung der Datenbasis, diese ja in allen kopierten Datendateien nochmal vornehmen müsste.
Kaskadiert deswegen, weil ich unterschiedliche zweistufige Auswertung der Datenquelle benötige und in den Ergebnisdateien keinerlei Basisdaten mehr sein sollen.
Vielleicht denk ich ja auch nur zu kompliziert.
Gruß Werner
.. , - ...
Anzeige
AW: genau, es geht im Wesentlichen darum ...
09.02.2022 19:02:44
ChrisL
Hi Werner
Zuerst würde ich die Puddingprobe machen.
- Datei 1: Quelldaten mit ein paar Dummy-Daten
- Datei 2: Daten aus Datei 1 selektieren
- Datei 3: Daten aus Datei 2 selektieren
Dann die Quelle ändern und schon siehst du, wie schlau PQ wirklich ist. Es würde mich erstaunen, wenn es funktioniert, aber PQ hat mich schon öfters überrascht.
Ansonsten denke ich auch, wenn du es nicht manuell machen willst, bräuchte es ein Makro für die Aktualisierung von Datei 2. Wäre wahrscheinlich keine grosse Sache, die Datei 2 im Workbook_Open Ereignis von Datei 3 kurz öffnen, RefreshAll, speichern und wieder schliessen. Aber ist halt ein Makro und wenn ich an dein Arbeitsspeicherproblem denke, wäre ein vorgängiger Test sicher angebracht.
Der Mangel an Arbeitsspeicher erklärt dein Vorgehen. Meine spontane Reaktion für eine schnelle Lösung, wäre identisch mit deiner.
Für eine saubere Lösung müsste man das Problem an der Wurzel packen:
Ich habe schon Artikel gesehen, welche sich dem Speicher-Management von PQ widmen. Für manche Aufgabenstellungen gibt es unterschiedliche Lösungswege, manche Ressourcenschonender wie andere. Ich musste mich bisher nie intensiver mit dem Thema beschäftigen, weshalb mein Wissen zum Thema beschränkt ist. Ich meine mich zu erinnern, dass Funktionen (im Sinne von M-Code als benutzerdefinierte Spalte), welche Datensätze untereinander abgleichen, mehr Leistung benötigen, wie z.B. ein Index mit Versatz und anschliessendem Join. Letztlich wird es bei PQ-Funktionen ähnlich sein, wie es bei den Tabellenfunktionen läuft d.h. tendenziell, was als Formel intensiv ist, wird es auch als PQ-Funktion sein.
Für eine allgemeine Optimierung bzw. zur Frage, ob die Herangehensweise ganz generell zu kompliziert ist, müsste man die Details kennen.
Du erwähnst 65 unterschiedliche Ergebnisse. Das riecht ein wenig nach "Parametern", aber muss nicht. Unabhängig davon gibt es evtl. Gemeinsamkeiten zwischen den Abfragen, welche man zur Optimierung verwenden könnte.
Oder vielleicht etwas im M-Code optimieren z.B. Zwischenresultate über Variablen steuern.
5.000 x 90 Daten und 65 Abfragen ist nicht ganz ohne, aber dennoch hätte ich gedacht, dass auch ein Heim-Computer mit 32-Bit damit umgehen kann. Insofern würde ich die Speicheroptimierung noch nicht ganz aufgeben (vielleicht unnötige Zwischenresultate als Tabelle ausgegeben oder sonstige Altlasten z.B. überflüssige Verbindungen o.ä. löschen).
Falls du die Speicherdiskussion weiterführen möchtest, schlage ich vor du machst einen neuen Beitrag. Ich denke es ist eine Wissenschaft für sich, wobei die Hintergrundabläufe von PQ eher undurchsichtig sind.
cu
Chris
Anzeige
AW: ja, im Prinzip so ...
10.02.2022 10:34:03
neopa
Hallo Chris,
... vielen, vielen Dank für Deine ausführlichen Aussagen.
Den von Dir als "Puddingprobe " bezeichneten Test hatte, ich schon gemacht, mit dem erwarteten Ergebnis: natürlich keine übergreifende Aktualisierung.
Habe mir schon inzwischen schon eine dem angepasste "Lösungstechnologie" überlegt. Danach werde ich in der "Zwischendatei" eine Datenbankdatentabelle aufbereiten, in der ich die für die endgültige Auswertung überall notwendigen identischen Schritte zunächst ausführe, um diese dann nicht in jeder Endauswertung vornehmen zu müssen. Da sollte ich mit einer überschaubaren Anzahl von max 10 neuen "aufbereiteten" DB-Extrakten auskommen. Wenn es mir gelingt, werde ich diese gleich in der Arbeitsmappe der Ur-DB anlegen lassen, notfalls aber all diese in einer zweiten Arbeitsmappe, die ich dann durch Aufruf der Datei nach einer DB-Aktualisierung aktualisieren lasse werde, bevor ich die eigentliche endgültige PQ-Auswertung auf deren Basis aktualisieren lasse.
Deinen Hinweis auf "Parameter" hatte ich schon erwartet. Damit werde ich mich wohl zu einem späteren Zeitpunkt beschäftigen müssen, wenn sich auf den vorbezeichneten Weg neue Problem ergeben. Ich versuche es erst mal ohne Parameterdefinition.
Allerdings muss ich mich eh erst einmal zwei anderen wichtigeren Aufgaben zuwenden. Ich werde Dir aber auf jeden Fall über den Fortgang berichten. Könnte allerdings erst in ein paar Monaten der Fall sein.
Nochmals Danke und ich wünsche Dir eine angenehme Restwoche.
Gruß Werner
.. , - ...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige