Zaokroževanje časa

Zaokroževanje različnih elementov je v Excelu pogosta naloga in tudi vprašanja s to tematiko se zatorej večkrat pojavljajo. Zadnjič se je na forumu pojavilo vprašanje, kako zaokrožiti čas na polovico ure.

O zaokroževanju sem v blogu že pisal in tedaj tudi dokaj podrobno zapisal kako lahko neko število zaokrožimo na poljuben večkratnik drugega števila. Pokazal sem torej kako neko število zaokrožiti na npr. večkratnik števila 3. Glede na to znanje je rešitev preprosta. Čas torej moramo zaokrožiti na najbližjo polovico ure.

Toda čas ni število… Ali pač? No; kot sem v blogu že dokazal, je tudi čas v Excelu navadno število. Iz obeh člankov v blogu lahko zatorej izluščimo, da je čas v Excelu prikazan kot število in števila znamo zaokroževati!

Splošna formula, ki izhaja iz bloga o zaokroževanju je torej sledeča:

=Round(čas / pol_ure; 0) * pol_ure

Vprašanje torej ostaja samo koliko je pol_ure? Spet glede na zapis v blogu vemo, da je en dan predstavljen kot število 1. Ker ima dan 24 ur je torej ena ura predstavljena kot 1/24 in ker ima en dan 48 »pol ur«, torej pol ure predstavljeno kot 1/48.

Glede na zapisano torej že imamo pravilno formulo:

=Round(čas / (1 / 48); 0) * (1 / 48)

Seveda pa z malo znanja osnovnošolske matematike oz. računanja z ulomki vemo da A * (1 / B) == A/B in A / (1 / B) == A*B, zatorej lahko končno formulo zapišemo lepše:
=Round(čas * 48; 0) / 48

Glede na zapisanoformulo je torej zaokroževanje po času skrajno preprosto:
Na 5  minut:  =Round(čas * 288; 0) / 288
Na 10 minut:  =Round(čas * 144; 0) / 144
Na 15 minut:  =Round(čas * 96 ; 0) / 96
Na 30 minut:  =Round(čas * 48 ; 0) / 48
Na 1    uro:  =Round(čas * 24 ; 0) / 24
Na 2    uri:  =Round(čas * 12 ; 0) / 12

😉

Oblikovanje celic v Excelu – kode za datum in čas

V enem izmed prejšnjih prispevkov smo si ogledali kako lahko v Excelu definirate lasten izgled podatkov v celicah. V omenjenem prispevku pa smo se omejili samo na določanje oblike numeričnih podatkov.

Seveda pa pozna Excel tudi posebne kode za oblikovanje datumov in časov in v tem prispevku si bomo zatorej ogledali slednje.

Oblikovni znaki za datume in čase

Tabela oblikovnih znakov za datume:

Znak Pomen
m Izpiše mesec brez vodilne ničle, torej 1 do 12
mm Izpiše mesec z vodilno ničlo, torej 01 do 12
mmm Izpiše tričrkovno okrajšavo za mesec, torej jan do dec
mmmm
Izpiše ime meseca januar do december
d
Izpiše dan v mesecu brez vodilne ničle, torej 1 to 31
dd
Izpiše dan v mesecu z vodilno ničlo, torej 01 to 31
ddd
Izpiše tričrkovno okrajšavo za dan v tednu(!), torej pon do ned
dddd
Izpiše dan v tednu(!), torej ponedeljek do nedelja
yy
Izpiše dvomestno leto (torej brez 20 iz 19 spredaj)
yyyy
Izpiše vse 4 cifre v letu

Tabela oblikovnih znakov za čase:

Znak Pomen
s Sekunde brez vodilnih ničel 0 do 59
ss Sekunde z vodilnimi ničlami 00 do 59
m Minute brez vodilnih ničel 0 do 59
mm
Minute z vodilnimi ničlami 00 do 59
h
Ure brez vodilnih ničel 0 do 23
hh
Ure z vodilnimi ničlami 00 do 23

Primeri

Ker je razlaga suhoparna sem vam spet pripravil datoteko, kjer se lahko po mili volji igrate z nastavitvami … 🙂

<datoteka s primeri>

Posamezni elementi datuma v Excelu

Kot smo že spoznali, vidi Excel datume kot naravna števila. Vprašanje, ki se pojavlja pa je, kako iz nekega datuma izluščiti leto, mesec ali dan?

Rešitvi tega problema so v Excel vgrajene tri funkcije YEAR (vrne leto), MONTH (vrne mesec) in DAY (vrne dan). Vsaka izmed funkcij sprejme en sam parameter in to je seveda datum za katerega nas določen element zanima.

Če imamo torej v Excelu v celici D1 zapisan datum (12.3.2010), potem nam funkcije vrnejo sledeče:

=YEAR(D1)   == 2010
=MONTH(D1)  == 3
=DAY(D1)    == 12

Kaj pa kadar želimo iz posameznih elementov sestaviti datum?

Seveda ima Excel tudi za to, dokaj splošno zahtevo, ustrezno funkcijo in to je funkcija DATE. Funkcija sprejme tri parametre in to so seveda leto, mesec in dan. Pozor, prvi parameter funkcije je leto, drugi mesec in tretji dan – torej ravno obratno, kot sicer datum zapišemo mi.

=DATE(2010; 3; 12) == 12.3.2010

PS: Imena funkcij so seveda angleške besede za posamezne elemente: day – dan, month – mesec, year – leto, date – datum!

Kako je predstavljen čas v Excelu?

Zadnjič smo si ogledali, kako Excel vidi datume. Kaj pa čase, kako vidi slednje?

Če malce premislimo (tako kot so to naredili tudi avtorji Excela) lahko hitro pridemo do ugotovitve, da je čas samo neka podenota datuma. Čas delimo na ure, minute in sekunde (no lahko tudi podrobneje a to sedaj ni pomembno), a hkrati čas sestavlja tudi datum. 24 ur skupaj namreč predstavlja 1 dan.

In če smo zadnjič uvideli, da Excel vidi datume kot naravna števila, torej 1 je 1 dan lahko potegnemo preprost sklep, da je tudi 24 ur 1 dan oz 24 ur je v Excelu število 1. Torej je 12 ur ena polovica oz 0,5… In to razmišljanje nas pripelje do edini možne razlage, da je čas v Excelu predstavljen kot realno število.

Kako torej Excel vidi čas?

Človek        Excel
24 ur         1 = 1 dan
12 ur         0,5           (= 12/ 24)
 6 ur         0,25          (=  6/ 24)
 2 uri        0,083333333   (=  2/ 24)
15 minut      0,010416667   (= 15/(24*60))
 2 minuti     0,001388889   (=  2/(24*60))
15 sekund     0,000173611   (= 15/(24*60*60))
 1 sekunda    0,000011574   (=  1/(24*60*60))

Pa še malce “težje”

Koliko je v Excelu 2 uri 15 minut in 32 sekund? Če to najprej pretvorimo v sekunde, dobimo

2h 15m 32s = (2*60*60) + (15*60) + 32 = 8132

In če sekunde pretvorimo v Excelov čas, dobimo:
8132 / (24*60*60) = 0,09412037

Ali je to res?

Preizkus je trivialen. V Excelovo celico vpišite ‘2:15:32’ in celico oblikujte kot število… Dobili ste 0,09412037 🙂

Datumi v Excelu

Glede obravnave datumov in časov je med uporabniki Excela vedo križ. Dejsto je namreč, da Excel datume na obravnava posebej, temveč so to zanj zgolj številke!

Uporabniki pa imajo s tem večinoma težave, saj ljudje datume vidimo (obravnavamo) drugače. Za nas sta datum in čas posebni kategoriji, ki jih ne povezujemo neposredno s številkami. Dobro oba (datum in čas) sta sestavljena izključno iz številk a ljudje ne razmišljamo da je med 13. januarjem 2008 in 27. junijem 2009 preteklo 531 dni – mi rečemo, da je to pribljižno leto in pol.

No Excel pa vsak datum vidi kot številko – navadno številko in nič drugega! In številko 1 vidi kot datum 1.1.1900*

In kako vidimo, da so za Excel vsi datumi zgolj številke?

Preprosto! Postavite se v neko celico in vanjo vpišite neko številko, recimo 75423. Sedaj to celico oblikujte kot datum in v celici se bo pojavil datum 1.7.2016. Lahko pa naredite tudi obratno. V celici vpišite 13.7.2000 in to celico oblikujte ko številko – takoj se pojavi številka 63720.

In kaj nam povedo te številke?

Nam bore malo, Excelu pa preprosto število dni od 1.1.1900 (oz 1.1.1904)!

* Na računalnikih Mac (kdo jih sploh uporablja :)) Excel kot številko 1 vidi datum 1.1.1904. Zaradi te razlike lahko naletite na probleme med Excelom na Macintosh računalnikih in Excelom na »normalnih« računalnikih! A to je že zgodba zase…