torek, 5. julij 2011

Funkcije LEN, LEFT in DATEDIF

Lep deževni pozdrav, slučajnemu mimoidočemu. Uspelo mi je sestavit še eno objavo, pa čeprav sem v teh toplih dneh veliko raje na kolesu po Katarini in okolici, kot pa pred "kišto". No, služba je služba in služba je denar, zato moramo tudi delat. In med delom sem se spomnil, še dveh pametnih zadev.

1. LEFT & LEN
Pa gremo lepo po vrsti. Prva težava, če ji lahko tako rečemo, je bila, ko sem sem moral sešteti porabo prenosa podatkov na mobilnem telefonu. Podatki so zapisani v, za Excel, neuporabni obliki; npr. 180,0MB. Lahko bi sicer preprosto uporabil Ctrl+H (najdi in zamenjaj), ter vse MB zamenjal s praznim besedilom. Toda to nebi bilo tako zanimivo, zato sem raje uporabil funkcijo LEN() in LEFT(). Postopek gre pa nekako tako:
v prvem stolpcu so podatki napisani v zgoraj omenjeni obliki. Decimalna vejica je uporabljena samo ko je decimalka različna od 0. Vedno pa velja, da sta zadnja dva znaka MB. Formula se torej glasi:

=LEFT(A2;LEN(A2)-2)

torej najprej preberemo število znakov v nizu z LEN(A2), odštejemo 2 znaka (MB) in nazadnje preberemo LEN()-2 znaka, šteto z leve strani.


Če nam dobljenega rezultata še vedno noče seštevati, ga označimo, kopiramo in uporabimo ukaz: "Pretvori v število".

2. DATEDIF
Datedif je uporaben predvsem v kadrovski službi in prav od tam je prišlo vprašanje če Excel zna in kako bi se naredilo, da bi iz datuma rojstva določenega zaposlenega izpisalo starost na današnji dan. Rešitev je pravzaprav zelo preprosta, uporabimo funkcijo DATEDIF, malo &, malo "" in to je to.

DATEDIF je dejansko sestavljena tako:
=DATEDIF(Datum1, Datum2, Interval)

V našem primeru jo uporabimo za razliko med danes NOW() in rojstnim datumom. Y, YM in MD uporabimo za leta, mesece in dneve.

Torej v celico D2 smo vnesli rojstni datum 25.6.1991 (Dan državnosti) v celico E2
=DATEDIF(D2;NOW(); "Y") & " let, " & DATEDIF(D2;NOW(); "YM") & " mesecev in " & DATEDIF(D2;NOW(); "MD") & " dni."

in na današnji dan je rezultat: 20 let, 0 mesecev in 10 dni.

Ni komentarjev:

Objavite komentar