Cate ore sunt din data … pana in data …?

stopwatch

Relativ recent am primit un email foarte interesant care avea ca si subject HELP PLEASE si rugamintea urmatoare:

Durata

Radu am nevoie sa calculez in Excel care e durata de timp in ore dintre ieri de la ora 10:30 pana poimaine la ora 16:00

Challenge accepted 🙂

La inceput mi s-a parut ca e un lucru extrem de simplu, totusi dupa vreo 15 minute mi-am dat seama ca nu e chiar asa. Am incercat sa folosesc tipurile de date de tip date si datetime si sa le scad, degeaba. Dupa ce m-am enervat putin am zis ca mai bine fac manual.

Durata Am scris pe primele 3 coloane data, ora, minutul de inceput, pe urmatoarele 3 data, ora, minutul de final. Inca 3 coloane care sa calculeze diferenta si apoi inca una care sa imi transforme zilele si minutele in ore.

In continuare parea destul de simplu, dupa cateva teste mi-am dat seama ca trebuie sa tratez mai multe conditii:

  • daca diferenta dintre minutul de inceput si cel de final e negativa scad din ora 1 si adun 60 la diferenta dintre minute
  • daca diferenta dintre ora de inceput si cea de final e negativa e nevoie sa scad din zi 1 si sa adun 24 la diferenta dintre ore

Am fost nevoit sa complic lucrurile si sa folosesc formula IF in mai multe combinatii. De asta formulele mele arata asa:

Durata zile

=D3-A3-IF(E3-B3<0,1,0)-IF(E3=B3,IF(F3-C3<0,1,0),0)

Durata ore

=IF(E3-B3<0,24+(E3-B3)-IF(F3-C3,1,0),(E3-B3)-IF(F3-C3,1,0))

Durata minute

=IF(F3-C3<0,60+(F3-C3),F3-C3)

Download

Pana la urma i-am dat de cap, aici poti descarca fisierul rezultat.

Tu cum ai fi facut?

Da-ti cu parerea in sectiunea de comentarii.

Update: exista o varianta mai buna

Adevarul e ca eu nu le stiu pe toate, de asta ma bucur cand primesc feedback de la voi. Am primit o alta solutie de la Elisa pe care o vedeti mai jos:

Diferenta dintre date nu genereaza niciodata erori – trebuie doar sa formatezi corect celulele care contin datele de intrare si rezultatele. Formula ta a dat gres la al doilea exemplu. Iti atasez fisierul in care am folosit modalitatea mea de calcul. Sper sa-ti fie de folos!

Descarca aici fisierul


  • Elisa C.

    Exista o solutie mult mai simpla:

    Introduci data si ora de inceput si sfarsit in format custom “m/d/yyyy h:mm AM/PM”, iar diferenta dintre cele doua celule o inmultesti cu 24. Functioneaza garantat 100% si faci economie de cateva celule bune.
    Simplu, nu :)?

    • La solutia asta m-am gandit si eu initial, cateva erori in diferenta dintre date m-au convins sa o iau babeste 🙂