dátum és időkezelés, alapok

2020-12-21    Excel 2019
az Excel időszámítása
A program nem ismeri a történelmi dátumokat. Neki ezerkilencszáz január elsejével kezdődik az időszámítás. Ez a nap számára az egyes. Vagyis az egyes szám. Mert az Excel a napokat egy-egy sorszámmal felelteti meg. Ezt úgy kell elképzelni, mintha vennék az 1900-as naptárt és szépen megszámoznánk a napjait. Szilveszterre a 366-osig jutnánk. Ezután az 1901-es évvel folytatjuk. Első napja, a 367-es számú nap. És így tovább az idők végezetéig! Akarom mondani, 9999. december 31-ig, mert ott véget ér a program tudománya…
dátumok bevitele
Tehát a feldolgozás előtt a programnak számmá kell alakítania a dátumot. De hogyan állapítja meg az Excel egy karakterláncról, hogy az dátum? Számok és meghatározott írásjelek mintázatát keresi a feldolgozandó karakterláncban. Magyarul, szintaktikai szabályoknak kell megfelelnie a beírásnak. Vegyük számba ezeket az előírásokat.
Magyar nyelvű Windows-t és magyar nyelvű Excel-t használva, a Vezérlőpult magyar területi beállításai mellett a dátum egységeknek ezt a sorrendet kell követniük: évek, hónapok, napok. Az elválasztó karakter lehet pont (.), kötőjel (-) és perjel (/). A két dátumegység között, az elválasztó karaktertől függetlenül és tetszőleges helyen, szóköz is állhat.
dátum bevitele különböző elválasztó karakterekkel
Az évek számát két szám-karakterrel is megadhatjuk. A Vezérlőpult szokásos beállításai mellett a két szám-karakterrel megadott évszám nullától huszonkilencig az 20xx-as, harminctól kilencvenkilencig a 19xx-es beírással egyenértékű.
évek számának megadása két karakterrel
Ahogy a képen is látható, a két szám-karakteres évszám megadás még egykarakteres is lehet, mert az első helyen álló nulla, amit vezető nullának is hívnak, elhagyható. Ez az írásmód a hónapok és a napok számában is megengedett.
dátum bevitel vezető nullák nélkül
a dátumok szokásos megjelenítése
A programot nem lehet becsapni kamu dátummal! A formai ellenőrzést, kronológiai vizsgálat követi: szerepel-e a dátum a program naptárában. Ha igen, akkor a dátum a cellában jobbra igazítva jelenik meg, ha nem, akkor átalakítás nélkül, a cella bal oldalához igazítva.
érvényes és érvénytelen dátumok igazítása
Az első és a harmadik beírás átalakítás nélkül, karakterláncként lett rögzítve, mert Mátyás király 1900. január elseje előtt született és a november csak harminc napos hónap.
A második sorban a magyar Excel szokásos dátum-megjelenítését látjuk. Mondjuk a végére tehettek volna egy pontot! A program szerint ez a Vezérlőpult szerinti formátum. De ez egyáltalán nem igaz! Ennek a formátumnak semmi köze a Vezérlőpult beállításaihoz! Ez az Excel standard formátuma.
az aktuális dátum bevitele
Az aktuális dátumot megadhatjuk konstansként vagy képlettel, frissülő objektumként. Az előbbi történhet manuálisan vagy a Ctrl+Ø (nulla az alfanumerikus billentyűzeten!) billentyűparanccsal. Ez a szolgáltatás képletszerkesztés közben is rendelkezésünkre áll.
az aktuális dátum bevitele billentyűparanccsal
A frissülő aktuális dátum egy képlet a MA függvénnyel: =MA(). Eredménye az operációs rendszer által szolgáltatott dátum. Frissítése a többi képlettel együtt történik.
aritmetikai műveletek dátumokkal
A hivatkozások függetlenek a cella tartalmától, tehát a képletben a dátumos cellára ugyanúgy hivatkozunk, mint bármely más tartalmúra. A képletben konstansként megadott dátumot idézőjelezni kell! Például: =”5-5-5”+D2. A bevitel formai szabályai a képletben is érvényesek, de a képletben a program meghagyja a bevitel formátumát!
Mivel a dátumok számként kerülnek feldolgozásra, ezért aritmetikai műveleteket is végezhetünk velük. Lehet a művelet összeadás, kivonás, szorzás, osztás, csak arra kell ügyelnünk, hogy a művelet eredménye ne legyen 1900.01.01-nél kisebb és ne legyen 9999.12.31-nél nagyobb. Mert ha igen „kerítést” kapunk eredményül.
a program dátum-tartományán kívüleső eredmény megjelenítése
„Nincs elég hely az eredmény kiírásához.” Általában ezt üzeni a program a kettőskeresztekkel, de itt nem erről van szó! Hiába szélesítjük az oszlopot a kerítés megmarad. „A képlet eredménye nem alakítható át dátummá.” Mondaná az Excel, ha tudna beszélni. De nem mindig van így!
a dátumos képlet eredménye
Az első feladatban egy ma gyártott, száz nap szavatosságú termék lejáratának dátumát, a másodikban az évből eddig eltelt napok számát akartuk megállapítani. Az elsőben dátumot vártunk és számot kaptunk, a másodikban számot vártunk és dátumot kaptunk… Emberi élmények, mondhatnánk…
A fenti problémák az eredmény megjelenítéséből fakadnak. Tehát módosítanunk kell a formátumot: Kezdőlap, Szám, Számformátum lista. A kerítést és a dátumot Szám-ként, a számot Rövid- vagy Hosszú dátumformátum-ban kell megjelenítenünk.
a ma függvényes képlet eredménye
Egy boltos Excel táblázatban vezeti termékei szavatossági idejét. A nyilvántartás segítségével követni tudja mikor jár le az egyes termékek szavatossága és addig még hány nap van hátra.
a MA függvényes képlet eredménye
A táblázatban két számított oszlop áll. Az egyik a „szavatosság lejár”, a másik a „lejár nap múlva”. A D2-es cella képlete: =B2+C2. Az E2-esé: =D2-MA(). És múlik az idő, napra nap jön és hétre hét… És az E oszlop számai egyre csak fogynak. Tehát a MA() függvényt tartalmazó képlet eredménye napról napra változik.
sorszámok csapdája
A dátumokkal végzett műveletek során lépten-nyomon beleütközünk egy látszólagos ellentmondásba! A hét hét napból áll. Vagy mégse?
az eltünt nap paradoxon
Szóval a hét hatnapos! Miből ered ez a paradoxon. Talán abból, hogy a hét nap nem ugyanaz, mint a hetedik nap? Mindenesetre az Úr a hetedik napon pihent meg, bár vannak vélemények, hogy azért még talált volna tennivalót…
Általánosítsuk a tapasztalatainkat: egy időszakot az első és az utolsó napja határozza meg. Az időszak napjainak száma n. Az időszak n-dik napja az időszak utolsó napja. Az időszak napjainak számát (n) az „<utolsó nap dátuma>-<első nap dátuma>+1” kifejezés adja. Persze, ez nem is igazi általánosítás, hiszen ez a jelenség minden sorszámmal végzett kivonáskor jelentkezik.
időkezelés az excelben
A program számára az „idő”, akár csak a „dátum” egy meghatározott mintázatú karakterlánc, amelyet számként dolgoz fel. A program az időegységek „értékét” a nap értékéből (1) képzi. Egy nap huszonnégy óra, tehát egy óra értéke 1/24. Egy óra hatvan percből áll, tehát értéke 1/24/60. A másodperc pedig: 1/24/60/60. Tehát a program az időt egynél kisebb törtszámként kezeli. Például: 8 óra 38 perc » 0,359722222222222. De az idő Excel-megfelelője egynél nagyobb szám is lehet.
Az „idő”, ha időpont értelemben gondolunk rá, akkor elválaszthatatlan a dátumtól. Például: Tegnap, 2020 december 17-én 8 óra 38 perc 47 másodperckor léptem be a munkahelyem számítógépes hálózatába. Ezt az időpontot az Excel a 44182,3602662037 számmal felelteti meg, amelynek egész része a dátumot, törtrésze az időt rögzíti.
És ne felejtsük el, hogy az „idő” időtartam is lehet. És akkor az órák száma meghaladhatja a huszonnégyet. Például: Már 56 óra és 48 perce hagytuk el Kalkutta kikötőjét. Ezt az időtartamot a program a 2,36666666666667 számmal felelteti meg. És ez a szám jelentheti az 1900. január 2. 8 óra 48 percet is.
A programban a 23 óra 59 perc 59 másodpercet nem 24 óra, hanem a 0 óra 0 perc 0 másodperc követi.
az idő bevitele
A dátumhoz hasonlóan az időt is a „formátuma” alapján ismeri fel a program. Tehát be kell tartanunk néhány szintaktikai szabályt. Az időegységek sorrendje a következő: órák száma, percek száma és másodpercek száma. A vezető nullák elhagyhatók. Az elválasztó karakter a kettőspont. A beírásnál a másodpercek elhagyhatók: <órák száma>:<percek száma>. Az idő felismerését kronológiai ellenőrzés követi. A percek száma és a másodpercek száma nem lehet nagyobb ötvenkilencnél. A vezető nullákkal kiegészített, időnek azonosított karakterláncot a program a cellában jobbra igazítva jeleníti meg.
az idő szokásos megjelenítése
Az Excel standard idő-formátuma: <órák száma>:<percek száma, két karakterrel>:<másodpercek száma, két karakterrel>. Például: 8:02:07.
A cella látható és tényleges tartalma idő adattípus esetén is eltérhet! Az órák:percek formátumban megjelenített idő másodpercei nem mindig nullák! Erről meg kell győződni műveletvégzés előtt!
az aktuális időpont bevitele
Az aktuális időpontot megadhatjuk konstansként vagy képlettel, frissülő objektumként. Az előbbi történhet manuálisan vagy a Shift+ Ctrl+. billentyűparanccsal. A billentyűparancs <órák száma>:<percek száma, két karakterrel> formátumú időt szolgáltat. A nem látható másodpercek száma nulla. Ez a szolgáltatás képletszerkesztés közben is rendelkezésünkre áll.
az aktuális idő bevitele billentyűparanccsal
Az aktuális dátum és az aktuális idő billentyűparancsait együtt is használhatjuk: Ctrl+Ø <szóköz> Shift+Ctrl+. A beírt konstansokat egyetlen idézőjel-párral kell keretezni. Például: ”2020.12.21 8:17”.
Frissülő időpontot az argumentum nélküli MOST függvénnyel képezhetünk. A függvény az operációs rendszer által szolgáltatott aktuális dátumot és aktuális időt adja eredményül. Formátuma: <dátum standard megjelenítésben><szóköz><órák száma>:<percek száma, két karakterrel>. Például: 2020.12.18 8:07 A frissülő aktuális idő képlete: =MOST()-MA(). Természetesen, a MOST-ot önállóan is alkalmazhatjuk frissülő objektumként: =MOST() A két képlet frissítése a többi képlettel együtt történik.
a dátum és időkezelés frissülő objektumai
aritmetikai műveletek az idővel
Az időt, a dátumhoz hasonlóan a képletben idézőjelezni kell. Ha dátummal együtt áll, akkor egy egységként: =”2020.12.14 7:18”+0,5. Az időt tartalmazó képletek eredménye is lehet szám vagy kettőskeresztek sorozata. Utóbbit a képlet negatív eredménye okozza, amelyet a program nem tud idővé alakítani. Mindkét esetben a formátum-váltás a megoldás. A számot átállítjuk időre, az időt pedig számra.
dátum és idősorozatok
A dátum-konstanst tartalmazó cella „húzását” a program sorozat-építésnek értelmezi. A létrehozandó sorozat „lépésköze” egy nap. A dátum-konstans húzásos másolásához folyamatosan nyomnunk kell a Ctrl billentyűt.
Az idő-konstanst tartalmazó cella húzása szintén sorozatot eredményez, amelynek elemei között egy óra a különbség. A húzásos másolás az idő esetén is a Ctrl billentyűvel történik.
dátum és idősorozat készítése a konstanst tartalmazó cella húzásával
Húzással tetszőleges lépésközű dátum és idősorozatot is létrehozhatunk: adjuk meg a sorozat első két elemét, majd kijelölés után húzzuk a kezdőértékek celláit! Dátumsorozatot a kezdő nap celláján „állva” a Kezdőlap, Szerkesztés, Kitöltés, Adatsorral… utasítással is létrehozhatunk.
dátumsorozat készítése a kitöltés adatsorral modullal
A Végérték mezőt nem kell kitöltenünk, ha a művelet indítása előtt kijelöltük a sorozat tartományát a kezdő napot tartalmazó cellát is beleértve.
hónap és nap-neves sorozatok
A program „Egyéni listák” szolgáltatásával hónap-neves és nap-neves sorozatokat hozhatunk létre a havi és a napi adatok címkézésére. A sorozatot tetszőleges elemmel indíthatjuk. Az írásmód lehet kis és nagybetűs, sőt szókezdő nagybetűs is, használhatjuk a teljes nevet, de rövidíthetünk is. A bevitelt követően a kitöltőnégyzettel hozhatjuk létre a sorozatot.
hónap-neves sorozat készítése
A rövidített hónap-neves sorozat elemei a következők: jan, febr, márc, ápr, máj, jún, júl, aug, szept, okt, nov, dec. Természetesen a szolgáltatás vízszintesen is működik.
nap-neves sorozat készítése
A rövidített hónap-neves sorozat elemei a következők: H, K, Sze, Cs, P, Szo, V. A sorozat elemeinek írásmódja az első, beírt elem írásmódjával azonos: ha az kisbetűs volt, akkor az összes elem kisbetűs lesz, ha nagybetűs, akkor az összes többi is nagybetűs, ha szókezdő nagybetűs, akkor a többi is szókezdő nagybetűs lesz.
margitfalvi.arpad@gmail.com