Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako iz razdoblja izbaciti nedelju

[es] :: Office :: Excel :: Kako iz razdoblja izbaciti nedelju

[ Pregleda: 3374 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Sudarica

Član broj: 119175
Poruke: 209
93.159.71.*



Profil

icon Kako iz razdoblja izbaciti nedelju06.05.2009. u 21:32 - pre 167 meseci
Molim pomoć

Imam razdoblje 14.1. 2009 - 30.4.2009. moram maknuti nedelje iz tog razdoblja

dobila sam približno točno

(30.4.2009 - 1.4.2009)-((30.4.2009 - 1.4.2009)-(NETWORKDAYS,1.4.2009,30.4.2009))/2)

pošto moram imati točan broj dana molim ako mi netko može pomoći.

Hvala
Pozdrav
 
Odgovor na temu

ioblak
Ivan Oblak
Tehnolog
MIN AD Vagonka Niš
Niš

Član broj: 127755
Poruke: 91
87.116.129.*

Sajt: https://extremesolidworks..


+4 Profil

icon Re: Kako iz razdoblja izbaciti nedelju07.05.2009. u 07:59 - pre 167 meseci
B1=14/1/2009
B2=30/4/2009

Ukupno dana izmedju datuma bez nedelje:

B3==B2-B1-ROUND((B2-B1+7-WEEKDAY(B1,2))/7,0)
 
Odgovor na temu

Sudarica

Član broj: 119175
Poruke: 209
87.252.139.*



Profil

icon Re: Kako iz razdoblja izbaciti nedelju07.05.2009. u 18:39 - pre 167 meseci
Hvala to je to

Pozdrav
 
Odgovor na temu

3okc
Χoᴘᴦoѡ

Moderator
Član broj: 811
Poruke: 1303

Jabber: 3okc@elitesecurity.org


+112 Profil

icon Re: Kako iz razdoblja izbaciti nedelju18.05.2009. u 10:59 - pre 167 meseci
Moram priznati da sam kasno video ovo pitanje i odgovor i kada sam ga video - ništa nisam ukapirao! :)
Kako si to rešio problem, na koju "foru"?! Stvarno ništa ne razumem -a ja dok nešto ne razumem, to mi ne da mira. :))

Citat:
ioblakUkupno dana izmedju datuma bez nedelje:

B3==B2-B1-ROUND((B2-B1+7-WEEKDAY(B1,2))/7,0)


Ok, da vidimo, B2-B1 je ukupan broj dana u intervalu, to je lako; a onaj deo iza bi trebalo da je "broj Nedelja u intervalu". Hajde da pojednostavimo problem koliko god možemo, dakle: pitanje bi bilo kako izbrojati pojavu pojedinačnog dana u nedelji za dati vremenski interval. Kod tebe je to
Code:
ROUND((B2-B1+7-WEEKDAY(B1,2))/7,0)


pri tome, treba reći da je Nedelja VII po redu dan u nedelji za indekse "tipa 2", koristeći f-ju WEEKDAY().

Evo, za početak, ručno sam prebrojao i vidim da f-ja ne računa tačno! Dobijam 16 a prebrojao sam 15. Jesi li uopšte testirao ovo što si napisao, Oblače? Jesi proverio kako se ponaša u graničnim slučajevima?!
Mislim, kako vi ljudi dolazite do ovakvih formula? Je li sledite neka elementarna pravila ili otprilike gađate rezultat, pa kako se zadesi!? Nije ni to problem ako to radite iz hobija ili razbibrige ali - za posao!? Obračun zarada? Slobodnih dana?

Nemam reči, radije više ne bih da komentarišem!

Sudarici, jedan vrlo ozbiljan i dobronameran savet: kada ti ubuduće bude zatreba ovaj podatak, tačan, ne približan, evo kako ćeš ga najbrže dobiti: nabavi papirni kalendar na kom su vidljivi svi meseci u godini, dve pribadače. One dve pribadače pobodi na početak i kraj intervala i lako ćeš izbrojati Nedelje između. Lako je i - nema greške!

[Ovu poruku je menjao 3okc dana 18.05.2009. u 12:11 GMT+1]
Have you found helpful examples, solutions or ideas-in-work, please consider the
following:
• Citation of *actual page* you are going to using is welcome.
• Have you saw "Value Added" examples you are going to incorporate to your
profitable blog, daily job or any money making venture: How about online donation?
↗Ana & Vlade Divac Foundation
Hvala!
 
Odgovor na temu

timmy
Jovan Timotijevic

Moderator
Član broj: 37087
Poruke: 633

Sajt: www.e-tim.net


+89 Profil

icon Re: Kako iz razdoblja izbaciti nedelju18.05.2009. u 12:59 - pre 167 meseci
Evo resenja za broj nedelja u nekom vremenskom periodu.

Code:

  =SUM(N(WEEKDAY(ROW(INDIRECT(B1&":"&B2)),2)=7))


Naravno, ovo je matricna formula - zavrsi je sa Ctrl+Shift+Enter

Pozdrav
 
Odgovor na temu

ioblak
Ivan Oblak
Tehnolog
MIN AD Vagonka Niš
Niš

Član broj: 127755
Poruke: 91
*.dynamic.sbb.rs.

Sajt: https://extremesolidworks..


+4 Profil

icon Re: Kako iz razdoblja izbaciti nedelju18.05.2009. u 14:03 - pre 167 meseci
Izvinjavam se svima na ucinjenoj gresci. Napravio sam pocetnicku (sto i jesam) gresku nisam proverio funkciju gada sam je dobio. Jos jednom izvinite na oduzetom prostoru i vremenu.
 
Odgovor na temu

ioblak
Ivan Oblak
Tehnolog
MIN AD Vagonka Niš
Niš

Član broj: 127755
Poruke: 91
*.dynamic.sbb.rs.

Sajt: https://extremesolidworks..


+4 Profil

icon Re: Kako iz razdoblja izbaciti nedelju18.05.2009. u 15:35 - pre 167 meseci
B1=14/1/2009
B2=30/4/2009

Ukupno dana izmedju datuma bez nedelje. Ovo je drugi pokusaj, mislim da sam sada pogodio


=B2-B1-INT((B2-B1)/7)-IF(OR(WEEKDAY(B1,2)=7,WEEKDAY(B2,2)=7),1,0)


Molim 3okc da da svoje misljenje !!!
 
Odgovor na temu

3okc
Χoᴘᴦoѡ

Moderator
Član broj: 811
Poruke: 1303

Jabber: 3okc@elitesecurity.org


+112 Profil

icon Re: Kako iz razdoblja izbaciti nedelju19.05.2009. u 07:48 - pre 167 meseci
Slično timmy-ju i ja bih ovo rešio sa nizovima, ali više volim SUMPRODUCT() nego SUMIF() --makar samo zato što ne moram da krivim zglobove za matrični unos. :)

Formula koja računa broj nedelja za dati interval:
Code:
=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(B1 &":"& B2)))=1))

a formula koja računa sve ostale dane:
Code:
=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(B1 &":"& B2)))>1))


Citat:
ioblak: ..Ovo je drugi pokusaj, mislim da sam sada pogodio

Code:
=B2-B1-INT((B2-B1)/7)-IF(OR(WEEKDAY(B1,2)=7,WEEKDAY(B2,2)=7),1,0)


Molim 3okc da da svoje misljenje !!!


Ovo je drugačiji pristup, sa više računanja.
Iz mog ugla, ovaj način je komplikovaniji i kriptičniji, više bi mi trebalo da izmenim ovakvu formulu (na nekom drugom mestu) pa je i mogućnost greške veća.
Ono što mi se najmanje sviđa u ovakvom pristupu je deljenje pa zaokruživanje (i potom "krpljenje"), jer, ovde radimo sa celim brojevima, nema mesta "približnim vrednostima" i arbitriranju.
Naravno, poenta je da formula radi i to je sasvim dovoljno, ali, tražio si mišljenje. :P

Edit: Dakle, sada i definitivno ne valja, npr za period od 1-11. maja 2009. ne računa tačno!
Obrisao sam svoju rečenicu gde sam napisao da mislim da je u redu.
Mislim da sada može lock!

[Ovu poruku je menjao 3okc dana 20.05.2009. u 12:01 GMT+1]
Have you found helpful examples, solutions or ideas-in-work, please consider the
following:
• Citation of *actual page* you are going to using is welcome.
• Have you saw "Value Added" examples you are going to incorporate to your
profitable blog, daily job or any money making venture: How about online donation?
↗Ana & Vlade Divac Foundation
Hvala!
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2244
*.bisinter.net.

Sajt: www.gowi.rs


+104 Profil

icon Re: Kako iz razdoblja izbaciti nedelju20.05.2009. u 11:05 - pre 167 meseci
Zanimljiva diskusija, pa i ja da se uključim.
ioblak formula koju si dao meni se lično dopada jer je bliža tome kako bi "napamet" sračunali tako nešto:
Koliko je ukupno dana proteklo - Koliko ima celih sedmica - 1(ako ima nedelja u ostatku). Rešenje koje je dao timmy je fantastično ali zaheteva da se razmišljanje na excelovski način i ja lično se toga nikad ne bih setio. Performanse u ovom slučaju mislim da nisu bitne ali pretpostavljam da je tvoja formula nešto brža jer ne računa weekday funkciju za sve dane unutar perioda. (U principu matrične /array/ formule su teška artiljerija i ja izbegavam da ih koristim kad nije neophodno, ali ima i drugačijeg rezonovanja - što bih se mučio ako imam na raspolaganju tešku artiljeriju)

Ipak postoji problem u formuli koju si napisao:
Code:
=B2-B1-INT((B2-B1)/7)-IF(OR(WEEKDAY(B1,2)=7,WEEKDAY(B2,2)=7),1,0)


Za razliku od formule koju je su dali timmy i 3okc ova formula ne uzima poslednji dan perioda u rezultatu(pretpostavimo da to nije nedelja). To i nije greška jer (po meni) nisu jasno definisani uslovi: Da li između dva ponedeljka ima 6 dana ili 7 dana (bez nedelje)? Čini mi se da je generalno pravilo da se ne uzima prvi ili poslednji dan iz perioda.
Problem je korekcija na kraju ukoliko period počinje sa petkom a završava se sa utorkom kod tebe neće biti korekcije, a nedelja sigurno postoji u tom periodu. Zato mislim da bi tvoja formula trebala da bude:
Code:
=B2-B1-INT((B2-B1)/7)-IF(WEEKDAY(B1;2)>WEEKDAY(B2;2);1;0))

Moram da se ogradim jer nisam imao vremena da detaljno testiram.

[Ovu poruku je menjao Jpeca dana 20.05.2009. u 13:53 GMT+1] Izbačeno OR



[Ovu poruku je menjao Jpeca dana 20.05.2009. u 13:54 GMT+1]
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

3okc
Χoᴘᴦoѡ

Moderator
Član broj: 811
Poruke: 1303

Jabber: 3okc@elitesecurity.org


+112 Profil

icon Re: Kako iz razdoblja izbaciti nedelju20.05.2009. u 11:23 - pre 167 meseci
Da, ovo sa Pecinom korekcijom već menja stvar (suvišan je samo OR() koji ti je ostao). Ja sam samo nekoliko minuta pre tebe izmenio svoju poruku gde sam napisao da je u redu..

Međutim, imao bih sada jedno "filozofsko pitanje" :D
iz ove, nove formule se nigde ne uočava šta mi to brojimo: jesu li to nedelje, ponedeljci... ili, šta već!?
Mislim da bi bilo fenomenalno kada bismo jednom formulom mogli univerzalno da dobijemo odgovor na sva ta pitanja ali to prosto nije moguće (bar ne u svim slučajevima), zar ne?!
Have you found helpful examples, solutions or ideas-in-work, please consider the
following:
• Citation of *actual page* you are going to using is welcome.
• Have you saw "Value Added" examples you are going to incorporate to your
profitable blog, daily job or any money making venture: How about online donation?
↗Ana & Vlade Divac Foundation
Hvala!
 
Odgovor na temu

3okc
Χoᴘᴦoѡ

Moderator
Član broj: 811
Poruke: 1303

Jabber: 3okc@elitesecurity.org


+112 Profil

icon Re: Kako iz razdoblja izbaciti nedelju20.05.2009. u 22:23 - pre 167 meseci
Citat:
Jpeca: Za razliku od formule koju je su dali timmy i 3okc ova formula ne uzima poslednji dan perioda u rezultatu(pretpostavimo da to nije nedelja). To i nije greška jer (po meni) nisu jasno definisani uslovi: Da li između dva ponedeljka ima 6 dana ili 7 dana (bez nedelje)? Čini mi se da je generalno pravilo da se ne uzima prvi ili poslednji dan iz perioda.


Ne slažem se sa tobom, meni nije poznato takvo "generalno pravilo": smatram da bi formula trebala da uzima u obzir dane koji se navode u intervalu. Uostalom, pravila određuje onaj ko računa, odnosno piše sebi formulu (trebalo bi da je to ista osoba), pa, ako samo pretpostavimo da je formula namenjena određivanju radnih dana (tako što je i subota radna), onda je logično da se nedelja nikada neće javiti za početak i kraj "ciklusa".

Tako, između dva ponedeljka onda ne može biti ni 6 ni 7, nego 8 dana: puna nedelja počinje danom x i završava se danom x-1 (gde je x redni broj dana u nedelji, po modulu 7). Npr, ako si počeo da radiš 5. maja i završio si sa poslom 5. maja - koliko si radio?! Nula dana?! ;)

Dakle, za pravilnu postavku problema ćemo morati da koristimo računanje po modulu i tu će nam više odgovarati tip 3 indeksa u f-ji WEEKDAY(): 0 za ponedeljak, 6 za nedelju. Za početak, ostavili bismo celobrojno deljenje sa 7, što nam daje broj celih sedmica u intervalu. U idealnom slučaju, ako je ovaj broj deljiv bez ostatka, to je i broj nedelja, odnosno onih dana u nedelji koje prebrojavamo. Međutim, "problem" je kada se javi ostatak i tu je potrebna "korekcija": ispitujemo da li ovaj ostatak, kada ga saberemo sa rednim brojem početnog dana intervala veći ili jednak sa 6.

Ako jeste, dodajemo još jedan na količnik, i to bi otprilike trebalo da je sve.
Have you found helpful examples, solutions or ideas-in-work, please consider the
following:
• Citation of *actual page* you are going to using is welcome.
• Have you saw "Value Added" examples you are going to incorporate to your
profitable blog, daily job or any money making venture: How about online donation?
↗Ana & Vlade Divac Foundation
Hvala!
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2244
*.bisinter.net.

Sajt: www.gowi.rs


+104 Profil

icon Re: Kako iz razdoblja izbaciti nedelju21.05.2009. u 08:02 - pre 167 meseci
Kad sam reko 6 ili 7 dana izuzeo sam nedelju što je postavka problema. Loše sam se izrazio za generalno pravilo jer se za radni staž uzima prvi i poslednji dan ali se npr. za kamatu ako si uzeo pare danas i vratio sutra - obračunava se kamata na jedan dan a ne na dva. Slažemo se da je pravila određuje onaj ko računa - odnosno priroda problema.
Ako se treba da se obuhvate prvi i poslednji dan u periodu formula koju je dao ioblak ne važi jer razlika dana B2-B1 izuzima prvi/poslednji dan iz perioda.
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

Sudarica

Član broj: 119175
Poruke: 209
87.252.129.*



Profil

icon Re: Kako iz razdoblja izbaciti nedelju26.05.2009. u 17:03 - pre 166 meseci
Hvala na ovoj divnoj diskusiji. Primjetila sam da nisam dobila dobar rezultat za travanj. Koristila sam formulu
=(C2-B2+1-ROUND((C2-B2+7-WEEKDAY(B2;2))/7;0))
htjela sam dobiti dane za razdoblje 1.1.2009-30.4.2009 i rezultat je bio 103 dana, ali dok sam imala razdoblje 1.4.2009.-30.4.2009 dobila sam rezultat 25 umjesto 26, tako da sam si formulu prilagođavala razdoblju i nekako uz računanje na prste dobila rezultat
=(C2-B2+1-ROUND((C2-B2+7-WEEKDAY(B2;2))/8;0))
Sada sam na ista razdoblja primjenila formulu od gospodina Jpeca i dobila dobre rezultate uz malu korekciju
=(C1-B1+1)-SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(B1&":"&C1)))=1)) što znači
za razdoblje od 1.1.2009.-30.4.2009 iznosi 103 dana
i 1.4.2009.-30.4.2009 rezultat 26 što odgovara istini. Uglavnom dok tražim broj dana između dva datuma moram dodati +1

Hvala na velikoj pomoći i ovoj divnoj polemici.

Pozdrav
 
Odgovor na temu

[es] :: Office :: Excel :: Kako iz razdoblja izbaciti nedelju

[ Pregleda: 3374 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.