funkcija TEXT u calc ne računa kao u excelu kod računanja proteklog vremena u d:h:mm

Trebam izračunati trajanje nekog procesa od određenog datuma i sata - proces traje više dana i želim izračun u formatu d:h:min. U excelu se to moglo pomoću formule TEXT(D-Dpoč;“d:h:mm”) gdje je D krajnji (ili trenutni) datum i vrijeme u obliku d.m.yyyy h:m:s, a Dpoč datum i vrijeme početka procesa u istom formatu. Da li je to moguće u Libre jer ova mi funkcija prvi dan ne računa dobro - umjesto 0 stavi 30 dana, a tek treći dan (kad treba biti 2 dana i nešto sati) računa kao 1 dan i isto toliko sati i minuta (sati i minute su dobri)?

Postoji obilazno rješenje.

Svaki program za obradu proračunskih tablica datume i vrijeme sprema u obliku običnoga broja koji se zatim može pretvoriti u broj dana, sati i minuta proteklih između dva datuma.

Ako ćelija A1 sadržava „3. 7. 18 22:20“, a ćelija A2 sadržava „1. 7. 18 15:30), onda se razlika može izračunati formulom

  =A1-A2

Međutim, dobiveni rezultat treba reprezentirati u obliku broja: Oblikovanje → Ćelije… → (kartica) Brojevi → Broj. Rezultat je broj 2,28472222221899 koji reprezentira koliko je vremena prošlo između ta dva datuma. Cijeli dio, broj 2, označava pretekle dane, a decimalni dio sate i minute. Pretpostavimo da je razlika upisana u ćeliju B1, broj dana se dobiva formulom

  =ROUNDDOWN(B1)

Za dobivanje broja sati potreban nam je samo decimalan dio, dio iza broja dva pa će se broj sati izračunati pomoću formule

  =(B1-ROUNDDOWN(B1))*24

što zapravo znači 2,28472222221899 - 2 čime se dobiva broj 0,2847222222189. Koliko je to u satima, dobit će se pomnoži li se takav broj sa 24. Rezultat je 6,83333333325572 što znači da je proces trajao šest sati i 0,83333333325572 minuta.

Sati se mogu oblikovati formulom

  =ROUNDDOWN(6,83333333325572)

čime će se dobiti samo broj 6. Minute se mogu izračunati na sljedeći način:

  =(6,83333333325572 - ROUNDDOWN(6,83333333325572))*60

cijeli broj u (decimlanome) rezultatu bit će broj minuta koji se može očistiti formulom ROUNDDOWN.

Radi boljega razumijevanja, pogledati priloženu proračunsku tablicu.

Vjerojatno bi lakše bilo uz kakvu makronaredbu. Možda se još javi netko s jednostavnijim rješenjem.


[Ažuriranje 12. srpnja 2018. u 20:16 h]

Zatražio sam pomoć na LibreOfficeovoj mailing listi i dobio sam odgovor

=TEXT(INT(A2-A1);"#0")&":"&TEXT(((A2-A1)-INT(A2-A1));"H:M:S")

za rezultat 0:6:50:0, ili pak

=TEXT(INT(A2-A1);"#0")&":"&TEXT(((A2-A1)-INT(A2-A1));"HH:MM:SS")

za rezultat 0:06:50:00.

Ako Vam je odgovor pomogao, prihvatite ga klikom na kvačicu u lijevome gornjemu kutu odgovora.