❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Uhrzeit in Dezimalzahl umwandeln

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
MoonKid
Beiträge: 172
Registriert: Fr 14. Okt 2011, 21:26

Uhrzeit in Dezimalzahl umwandeln

Beitrag von MoonKid » Mo 17. Sep 2018, 16:17

Ich möchte eine Uhrzeit "07:30" in eine Dezmalzahl umwandeln "7,5" (7 Stunden und eine halbe).

Wie das geht steht hier: https://stackoverflow.com/q/45197672/4865723
Einfach mal 24 nehmen.

Aber warum das funktioniert habe ich nicht verstanden. ;)
Kann das jemand erklären?

Benutzeravatar
miesepeter
* LO-Experte *
Beiträge: 2157
Registriert: So 19. Dez 2010, 18:16
Wohnort: Bayern

Re: Uhrzeit in Dezimalzahl umwandeln

Beitrag von miesepeter » Mo 17. Sep 2018, 16:21

http://www.ooowiki.de/CalcFunktionenDatum(2f)RechnenMitDatumUndZeit.html hat geschrieben:Zeitwerte rechnen (wie Datumswerte) in ganzen Tagen. Das wird offensichtlich, wenn man einen Zeitwert durch 1 dividiert (A1 sei 12:00 und B2=A1/1, das Resultat ist 0,5)
Weitere Info im o.a. Link. - Ciao

Wanderer
* LO-Experte *
Beiträge: 909
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: Uhrzeit in Dezimalzahl umwandeln

Beitrag von Wanderer » So 23. Sep 2018, 21:12

Hallo,
MoonKid hat geschrieben:
Mo 17. Sep 2018, 16:17
Aber warum das funktioniert habe ich nicht verstanden. ;)
Kann das jemand erklären?
Es funktioniert, weil man das so eingerichtet hat, daß man mit Datum und Zeiten relativ nahtlos rechnen kann.
Zum Rechnen mit Datums-Werten werden intern Tageszahlen verwendet,
so daß "20.9.2018" + 1 die interne Zahl des "21.9.2018" ergibt.
Ein Tag entspricht 24 Stunden, also sollten 24 Stunden ebenfalls als 1 dargestellt werden.
Damit kommt man dann auf "Tageszahl" + 0,5 => 12 Uhr Mittags am jeweiligen Tag, "Tageszahl" + 0,25 => 6 Uhr früh am jeweiligen Tag.

Umrechnungsfaktor sind also 24 Stunden/Tag
Wenn man dann reine Stunden/Minutenwerte hat muß man als mit 24 Multiplizieren um
aus 1/24 vom Tag wieder eine 1 für die Darstellung zu errechnen.
( Die Formatcodes erledigen diese Umrechnung für die Darstellung ohne den Wert der Zelle zu ändern.
Man sollte sich allso immer daran erinnern, daß ein Unterschied zwischen Anzeige und internem Wert bestehen kann. )

MfG, Jörn
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

LORI
Beiträge: 82
Registriert: Di 5. Feb 2013, 14:31
Wohnort: DE-BW-Nord

Re: Uhrzeit in Dezimalzahl umwandeln

Beitrag von LORI » So 30. Sep 2018, 02:24

mach mal folgende Experimente:

Schreibe in eine (genügend breite) Zelle einfach 15:14 rein: es erscheint 15:14:00, zeitformatierte Zelle.
Schreib drunter ="11:24"*1 , das Ergebnis ist 0,4729..., der dezimale Tagesanteil dieser Zeit. Übertrage das Format von der Zeitformatierten Zelle dahin, es erscheint 11:24:00 (LO erkennt den Zeit-String nach einer mathematischen Operation auch als Zeit, wie auch xl u.a.).

Bilde jetzt die =Summe(ersteZeit;zweiteZeit) : Ergebnis: 2:35:00 Der Tag wird also weg"radiert", Du siehst nur den überständigen Rest.
Nun gehst Du ins Menü Format>Zellen>Zahlen und schreibst als Format-Code [h]:mm rein, und jetzt siehst Du wieder alle Stunden: 26:35
Schreib drunter =OrtvorigeZelle, also meinetwegen =A10 und übertrage das Format einer "jungfräulichen" Zelle auf A11: es kommt die Dezimalzahl
1,1076..., nämlich 1 ganzer Tag und 0,1076... Tage in Stunden, aber eben dezimal. Entspricht den Formeln GANZZAHL(A10) und Rest(A10;1)

Nun willst Du aber nicht in Tagen rechnen, sondern in "Industrie"-Stunden. Da macht Runden etwas Probleme, weil 1/24 Tag eine ganz krumme Zahl ist.
Es hilft aber, erst *24 zu nehmen, und dann in Ganzzahl und Rest zu teilen

=Ganzzahl(A10*24) und =Rest(A10*24;1)
Da ergibt Rest zwar auch krumme Zahlen, aber wenn Du jetzt beide Ergebnisse addierst, hast Du wieder eine Gesamtzahl,
als Dezimalstunden: 26 Std + 0,5833 Std(das sind die 35 min), summa summarum also 26,5833 h

Vllt etwas umständlich erklärt, aber wenn Du es nachvollziehst, hast Du es ein für allemal intus!

Die Zeitumrechnungs-Komplikationen liegen daran,
dass wir den Tag in 24 Std eingeteilt haben und nicht in 10 und die Stunde in 60 Min und nicht in 100. Inkompatibilität zwischen Dezimal und Zeitsystem. (gleiches ja beim Kreisgrad, das Neugrad als 1/400 Kreis konnte sich nie durchsetzen und wer weiß, wo es dann wieder gehakt hätte...

Noch eine Formel, die nützlich sein könnte: =TEXT("15:14"+"11:21";"[h]:mm") erlaubt
alle Formatvariationen, zB =TEXT(("15:14"+"11:21")*24;"0,0000") =>26,5833, das obige Ergebnis.
Und da LO bei Math-Operationen solche Texte als Zahl interpretiert, mag das sogar einfacher sein als Obiges!

Benutzeravatar
miesepeter
* LO-Experte *
Beiträge: 2157
Registriert: So 19. Dez 2010, 18:16
Wohnort: Bayern

Re: Uhrzeit in Dezimalzahl umwandeln

Beitrag von miesepeter » So 30. Sep 2018, 08:32

@Wanderer, @LORI
Prima Erklärungen, danke dafür.


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten