Excel - izračunavanje delovne dobe

Jodlarcek

Fizikalc
16. avg 2007
3.321
19
38
MB
Pozdravljeni

Imam sledeč problem. Na določen dan imam delovno dobo npr. 35let 8 mesecev 20 dni. Želim izračunati datum, kdaj bo delovna doba okrogla. V našem primeru 36 let 0 mesece 0 dni. Ampak ta izračun mora biti dinamičen, ker imam cca. 1000 zapisov, katerim moram izračunati, okroglo delovno dobo (datum kdaj izpolni)
Mi lahko kdo pomaga glede formule.
Hvala
 

tesfalar

Fizikalc
1. nov 2008
1.133
96
48
Prvi delovni dan je npr v A1:
B1=TODAY()-A1
C1=INT(B1/365)
D1=C1+1

Rezultat v E1:
E1=DATE(YEAR(A1)+D1;MONTH(A1);DAY(A1))

PS. Sevedalahko vse stlačiš v eno celico, drobil sem zaradi preglednosti...
 

Jodlarcek

Fizikalc
16. avg 2007
3.321
19
38
MB
To mislim, da ne bo vredu. To mi vrne dejanski datum in ne kdaj bo imel okroglo let.
Poglej. V celici A1 imam leta, B1 mesece, C1 dneve na dan 05.03.2012.
Sedaj pa iz teh podatkov želim dobiti, kdaj bo imel okroglo let.
 

jurek1973

Guru
3. sep 2007
4.171
1.156
113
Računanje delovne dobe zaradi zgodovine tega računanja (na roke v knjižico) ni računalniško enostavno.
Recimo:
1.2.2011 - 28.2.2011 = 1M
1.2.2012 - 28.2.2012 = 28D
1.2.2012 - 29.2.2012 = 1M
1.3.2012-31.3.2012 = 1M
1.1.2012 - 31.1.2012 = 1M
1.1.2012 - 30.1.2012 = 1M
02.01.2012 - 31.01.2012 = 29D
 

tesfalar

Fizikalc
1. nov 2008
1.133
96
48
Kot prvo rabiš DATUM pvega delovnega dne. To sem predpostavljal da imaš v celici A1. Ostalo špila 100%.
Nobene potrebe ni po drobljenju leta/meseci/dnevi po posameznih kolonah.
- izračunaš razliko od danes do PRVEGA DELOVNEGA DNE (today()-datum)
- rezultat (ki je v dnevih) deliš s 365, vzameš celi del decimalnega števila in prišteješ 1 (int(dnevi/365)+1)
- to vrednost uporabiš za povečanje letnice v forumuli DATE() kot sem ti že napisal.

Zadeva dela, sem preizkusil.
 

Jodlarcek

Fizikalc
16. avg 2007
3.321
19
38
MB
Citat:
Kot prvo rabiš DATUM pvega delovnega dne.
To dela, če ima delavec samo eno zaposlitev. Kaj če ima delavec več zaposlitev? Logika pade.
Pa saj bi moralo tako tudi iti. Če imaš neko delovno dobo na dan. AMpak s takšno formulo, tega ne dobim.
 

tesfalar

Fizikalc
1. nov 2008
1.133
96
48
Če bi bil prvi dan v službi 2.4.1996, bi od takrat minilo 5.816 dni, kar je 15,934 leta, in boš polnih 16 let delovne dobe dopolnil 2.4. 2012.
Je tako?

Ali si hotel kaj drugega?
EDIT: vidim zdaj da je brezveze, glej poišči nekoga da ti to porihta. lp
 
Nazadnje urejeno:

Jodlarcek

Fizikalc
16. avg 2007
3.321
19
38
MB
Citat:
Uporabnik tesfalar pravi:
Če bi bil prvi dan v službi 2.4.1996, bi od takrat minilo 5.816 dni, kar je 15,934 leta, in boš polnih 16 let delovne dobe dopolnil 2.4. 2012.
Je tako?

Ali si hotel kaj drugega?
EDIT: vidim zdaj da je brezveze, glej poišči nekoga da ti to porihta. lp
Ja to špila vse, kar si napisal. Kaj pa če ima recimo prvi datum vstopa 1.1.2000 pa prekinitev, pa pol leta ni delal nič, pa spet neki vstop.....itd.
Jaz imam delovno dobo na današnji dan.
EDIT: razumem jaz tebe čisto OK. Samo ti mene ne razumeš. V tvojem izračunu ne upoštevaš, da lahko ima delvec 10 zaposlitev s prekinitvami. In kaj naj vpišem kot datum prvega vstopa???
 

gr69

Guru
15. dec 2009
11.645
2.692
113
še v SLO - ampak komaj
ne-ne-1.gif


Ni tako simpl - poglej si zgoraj kaj je napisano o štetju delovne dobe.

@avtor
Loti se tako, da začneš s izračunom skupne delovne dobe do zaposlitve pri "vas" - to vnesi v prva tri polja (leta, mesece, dni - prepis iz delovne knjižice) - naslednje vpis je začetek dela pri vas - dalje potem "dinamični" izračun delovne dobe do danes (upam, da bom imel zvečer čas in da poišče - sem že delal nekaj na formulah za izračun, da je skladen s "ZPIZovim" - samo kam sem shranil
sprasujem se.gif
).
 

MadMitch

Fizikalc
29. sep 2008
6.163
0
36
dej prilepi, kar imaš zdaj, kopijo fileja, samo imena si izmisli in pusti samo 10 primerov.
 

Jodlarcek

Fizikalc
16. avg 2007
3.321
19
38
MB
Citat:
Uporabnik MadMitch pravi:
dej prilepi, kar imaš zdaj, kopijo fileja, samo imena si izmisli in pusti samo 10 primerov.
neimenovana.JPG

Sedaj ežlim zvedeti, kdaj bo nekdo izpolnil polna leta
 

tesfalar

Fizikalc
1. nov 2008
1.133
96
48
Citat:
Uporabnik gr69 pravi:
ne-ne-1.gif


Ni tako simpl - poglej si zgoraj kaj je napisano o štetju delovne dobe.
Seveda je tako simpl... Ob znanih predpostavkah (znan datum zaposlitve, neprekinjena doba) je moja formula naenostavnejša pot do datuma ko dopolniš naslednje polno leto delovne dobe. Seveda se pa lahko stvari vmes neizmerno zakomplicirajo, ampak odpiralec teme tega na začetku ni povedal, kasneje je začel z dodatnimi robnimi pogoji.
 

gr69

Guru
15. dec 2009
11.645
2.692
113
še v SLO - ampak komaj
ha - da spustim na "isti imenovalec":

1. izračunati kdaj bo "polno leto" od nekega datuma ni pretirano težko (da bom odkrti sploh nisem šel preverjat tvojega izračuna - predpostavkjam pa da je točen)

2. težava nastane, če želi izračunati "delovno dobo" po "pravilih ZPIZa" - in prvo je treba to doreči

Tudi pri nas uporabljamo "poenostavljeno" izračunavanje za dopust in podobno (pač z rizikom, da fališ - verjetnost je precej majhna) - za izračun dejanske delovne dobe pa naši računajo še kar "peš".

Rešitev "problema" je v nekaj IF stavkih (seveda s pravlinim pogoji) in funkcijo DATEDIF - samo sedaj nima časa se s tem ukvarjati - mogoče danes zvečer.
tongue-1.gif


Ups - da ne pozabim - potem je treba pa seveda še uporabi "Iskanje cilja" - ali ustrezen macro (mogoče bi šlo tudi s formulo)
 

Jodlarcek

Fizikalc
16. avg 2007
3.321
19
38
MB
Citat:
Seveda se pa lahko stvari vmes neizmerno zakomplicirajo, ampak odpiralec teme tega na začetku ni povedal, kasneje je začel z dodatnimi robnimi pogoji.
Brez zamere in zahvaljujem se ti za izkazano voljo. Vendar če bi boljše prebra moj tekst bi videl, da sem vse to že v citiran stavku omenil. Nikjer nisem rekel, da je to prvi vstop, nikjer nisem rekel da ni prekinitve. Želel sem ob znani delovni dobi na določen datum izvedeti kdaj ....
Citat:
EDIT: vidim zdaj da je brezveze, glej poišči nekoga da ti to porihta. l
Tukaj si se tudi postavil nad mene in me olepšano označil za idiota..češ daj drugemu za delat [censored].....če ne razumeš kaj ti pametnejši govorijo
Kot vidiš zadeva še zdaleč ni tako enostavna kot si misliš.
 

alfist555

Fizikalc
4. okt 2007
1.823
1
38
NI tko simpl ne. Problem je tudi ker vsake 4 leta imas prestopno leto...neke resitve so na spletu z DATEDIF funkcijo, ki pa je na voljo le v excelu 2007 naprej. Pa se pri teh sesitvah sem jaz opazil napake in je prihajalo do par dni napake pri izracunu.

LP
 

Frenckie

Pripravnik
20. jun 2011
638
3
18
Poznam dva primera, ko sta šla delavca že v pokoj z izračunano pravo delovno dobo.
Po nekaj mesecih pa je sledil šok iz ZPIZa. Novi izračun je pokazal, da enemu manjka 4 mesece delovne dobe, drugemu pa 2,5 meseca.
To je bilo še v časih, ko se je računalništvo šele začelo razvijati in se vključevalo v delovne procese in se je zanašalo še na ročne izračune.
 

tesfalar

Fizikalc
1. nov 2008
1.133
96
48
Ampak stvar JE močno poenostavljena, ker on že pozna delovno dobo na današnji dan.
Če jaz prav razumem SPIZ (ne trdim da ga, da ne bo pomote) in tukajšnji problem, potem ga delovna leta ne zanimajo (ta so itak dopolnjena, se ne spreminjajo), išče pa:
a) kdaj mu pride števec mesecev na 11 POLNIH (tj. če je danes 18y5m17d, potem bo 5.9.2012 18y11m17d), ker SPIZ upošteva polne mesece + razliko v dnevih, kar vodi do
b) kaka je še razlika v dnevih do 30, tj. ko bo 11 mesecev in 30 dni == po spizovo 12 mesecev = eno leto.

Torej iskani datum = date(year(DD_na_dan);month(DD_na_dan)+(11-STMesewcevSS);day(DD_na_dan)+(30-DniSS))

Saj je SPIZova varianta čisto logična, edino ne smeš jemati razlike v dnevih pa mutit z deljenji s 30, 365 pa podobno. Dokler se držiš da je enota POLNI mesec (npr od 15. do 15.) ostalo pa razlika do 30, stvar funkcionira.
 

jgfd

Pripravnik
7. sep 2007
348
0
16
Seveda je stvar zakomplicirana ampak ne toliko zaradi tehničnega problema z Excelom kot zaradi drugih vprasnj

Ko bo in če bo negdo razumljivo napisal kako se izračunava delovna doba peš, bo rešitev v Excelu prisla hitro
Tukaj (od št. 18 naprej) je nekaj nasvetov za racunanje z datumi
 

Leska

Pripravnik
8. sep 2007
268
0
16
=DATE(YEAR(D2)-A2+36;MONTH(D2)-B2;DAY(D2)-C2)
 

Priponke

  • 1444025-q.xls
    27 KB · Ogledi: 180