Condividi:        

Calcolo giorni lavorativi sabato compreso

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: Calcolo giorni lavorativi sabato compreso

Postdi Karistotele » 12/07/10 11:06

[quoteLunedì: =INT((A2+5)/7)-INT((A1+4)/7)
Martedì: =INT((A2+4)/7)-INT((A1+3)/7)
Mercoledì: =INT((A2+3)/7)-INT((A1+2)/7)
Giovedì: =INT((A2+2)/7)-INT((A1+1)/7)
Venerdì: =INT((A2+2)/7-INT((A1+1)/7)
Sabato: =INT((A2)/7)-INT((A1-1)/7)
Domenica: =INT((A2-1)/7)-INT((A1-2)/7)[/quote]

Un copia e incolla mi ha tradito. Le formule non sono esatte. Ritorno alla mia tesi.

L'uomo spesso ragiona per "Gestalt".
A me sembra che lo schema di Ry abbia tutta la forma dell'"atto mancato" freudiano di GIORNI.LAVORATIVI.TOT. Codesta funzione elimina, indipendentemente dalle festività i SABATO e DOMENICA.

Perché allora non fargli acquisire il SABATO, lasciandogli manducare solo la domenica? E se qualche sabato è festivo? Non è influente poiché esso sarà allocato in Festività.

http://depositfiles.com/files/hsk1mnovo
.K
Avatar utente
Karistotele
Utente Junior
 
Post: 45
Iscritto il: 01/05/10 06:28
Località: PADOVA

Sponsor
 

Re: Calcolo giorni lavorativi sabato compreso

Postdi Anthony47 » 12/07/10 15:03

Le due formule [=INT((A2)/7)-INT((A1-1)/7) e '=INT((B2-7)/7)-INT((A2-8)/7)] danno lo stesso risultato.
Come pure dimentichi di computare eventuali Sabati festivi, nel senso che se aggiungi (come nel foglio pubblicato) 4 sabati e' perche' trascuri che il 25 dic, sabato, e' festivo.

Visto che hai ripreso la discussione, ne approfitto per dire che secondo me le uniche formule sicure sono quelle che si basano sul calcolo del giorno.settimana fatti direttamente da excel, tipo
Codice: Seleziona tutto
MATR.SOMMA.PRODOTTO((GIORNO.SETTIMANA(RIF.RIGA(INDIRETTO(A2&":"&B2));3 )<6) etc etc
(vedi viewtopic.php?f=26&t=87181#p495759); negli altri casi il calcolo va a pallino se l' utente impostasse l' opzione "base data 1904".

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Calcolo giorni lavorativi sabato compreso

Postdi Karistotele » 12/07/10 16:52

La mia formula funziona in qualsiasi condizione di data iniziale e data finale e con un elenco di festività fino a quando Mister B. non deciderà di togliergli. La domanda di Ricky è molto precisa. Io non escudo le altre soluzioni. La mia seppur "bizzarra" funziona.

Se qualcuno ne ha voglia si prenda in mano un qualsiasi calendario di carta di qualsiasi anno e procede a manina. Avrà solo una conferma. Ove vi fossero sabato festivi esse sarebbero nell'elenco delle festività.

Non capisco altresì perchè Ricky avrebbe bisogno di date negative. Non ha senso. Avrebbe fatto un'altro tipo di domanda.
Cercare l'universalismo ad ogni costo distrugge la logica.
Passo, ma non chiudo.
.K
Avatar utente
Karistotele
Utente Junior
 
Post: 45
Iscritto il: 01/05/10 06:28
Località: PADOVA

Re: Calcolo giorni lavorativi sabato compreso

Postdi Anthony47 » 12/07/10 21:21

Codice: Seleziona tutto
=GIORNI.LAVORATIVI.TOT(A2;B2;F2:F9)+INT((B2-7)/7)-INT((A2-8)/7)
Se questa e' la tua formula, essa non e' "bizzarra", e' linearissima; ma monca. Basta guardare il file che hai postato per vedere che restituisce il risultato sbagliato.
Vedere immagine
Immagine

Uploaded with ImageShack.us

Tra il 1° dic e il 31 dic, con quel calendario di festivita', ci sono 24 giorni "lavorativi per Ricky", NON 25.
Il motivo dell' errore? calcoli e sommi 4 sabati lavorativi, ma di lavorativi ce ne sono 3, capitando il 25-12 di sabato.
Non per nulla qualche giorno fa tu stesso avevi scritto
HAI RAGIONE ANTHONY!!!
Bisogna compensare i sabato festivi. Evidentemente quando l'ho provato io non c'era questa occorrenza.

Hai cambiato idea, sul fatto che bisogna compensare i sabati festivi?

Per il resto, approfittando della riaprtura della discussione ho dato la mia opinione sulle tante formule che sono state postate dai vari utenti; perche' in un forum si discute, o no?
Con la "tardiva premessa" che considero l' ottimo il primo nemico del buono.

Ciao.

PS: se nell' immagine non vedete la colonna F, cliccate su di essa per vedere l' immagine completa, oppure Tasto dx, Visualizza immagine.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Calcolo giorni lavorativi sabato compreso

Postdi Karistotele » 12/07/10 21:59

"Quelli che non cambiano idea sono solo i morti e gli imbecilli" (noto uomo politico italiano).

Provo ancora a spiegare.
Il calcolo dei sabati fra date è senz'altro 4 (quattro). Uno di questi sabato però è festivo.

Non ho fatto l'esempio di Dicembre a caso.
Ho voluto proprio cercare un periodo dove fra le festività ci fosse proprio un sabato allo scopo di falsificare, in senso Popperiano, la mia tesi.

Il Sabato festivo viene tolto "successivamente" poichè è inserito , come nella realtà, nell'elenco delle festività.

Visto che ci hai dato in visione il calendario di sistema ... prova a fare un calcolo con le dita, rispettando le condizioni.

Ciao Ricky ... sei contento di questo simpatico inferno? SADICO!!!!
.K
Avatar utente
Karistotele
Utente Junior
 
Post: 45
Iscritto il: 01/05/10 06:28
Località: PADOVA

Re: Calcolo giorni lavorativi sabato compreso

Postdi Anthony47 » 12/07/10 22:36

Ok, ho capito.
Calcoli 25, poi "successivamente" togli 1 e fa, da qualche parte, 24 giorni :D :D
In particolare sono i giorni: 1, 2, 3, 4, 6, 7, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31
Mancano 4 domeniche e mancano i gg 8, 9 e 25 perche' dichiarati festivi da karis; totale 31, come da antica convenzione.

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Calcolo giorni lavorativi sabato compreso

Postdi ricky53 » 13/07/10 02:20

Ciao a tutti,
che bella canizza ...

Karistotele: ribadisco che con la tua soluzione non viene calcolato bene il sabato festivo.
Applicandola ottengo "26" (da noi il 9 dicembre è lavorativo) giorni:
"22" da GIORNI.LAVORATIVI.TOT
e
"4" dal resto delle tua formula.

Antohny non ho capito il tuo ultimo intervento (causa anche l'ora tarda) ma hai concluso che la soluzione di Karistotele è esatta ???


Al momento ho adottato la seguente
Codice: Seleziona tutto
 = (INT((B2 * 6) / 7) - INT((A2 * 6 + 1) / 7) +1) - MATR.SOMMA.PRODOTTO((GIORNO.SETTIMANA(Festività; 2) < 7) * (Festività >= A2) * (Festività <= B2))

Che vi avevo già proposto e che - alla luce di tutto quanto discusso qui ed in altri forum - ritengo sia la migliore, la più efficace / efficiente e, per ultimo ma non ultimo, la più semplice.

Karistotele: tanto per alimentare la canizza: qualcuno non è d’accordo ???
Allora si faccia avanti e scriva che gli risponderò …

Ciao da Ricky53
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Calcolo giorni lavorativi sabato compreso

Postdi Karistotele » 13/07/10 08:25

Mi dispiace di aver indotto il grande Anthony in errore a cui, pronato, chiedo umilmente scusa.

Oltretutto la sua prima osservazione sulla compensazione dei sabato era senz'altro giusta e peraltro condivisa da me. E’ inutile negare che la piacevole discussione innescata dal folletto maledetto inteso Ricky53 è stata condizionata da una tempesta emotiva in cui ciascuno è stato portato a privilegiare la propria soluzione.

LA MIA FORMULA DA’ UN GIORNO IN PIÙ’.

Fra quelle date esiste nell’elenco dei festivi un sabato (potrebbe esistere anche diversi sabato considerando un range più ampio). Ergo io aggiungo i sabato con la mia formula ma, la formula per funzionare ha bisogno di compensare i sabato festivi indicati nell’elenco festività.

Bisogna quindi contare i sabato nell’elenco dei festivi e detrarli dalla formula.

Ancora però non si arriva alla soluzione se nell’elenco dei festivi insistono celle vuote che darebbero la possibilità di inserire altre festività che potrebbero insorgere per qualsiasi motivo, al di là della festa patronale.

Per continuare a “difendere” il mio approccio spero che sia da considerare insindacabile la seguente:

=GIORNI.LAVORATIVI.TOT(A2;B2;F2:F9)+INT((B2-7)/7)-INT((A2-8)/7)-MATR.SOMMA.PRODOTTO(--(F2:F9<>"");--(RESTO(F2:F9;7)=0))


Riguardo l’estetica delle varie formule … de gustibus, riguardo le energie assorbite e la velocità di esecuzione ci si può affidare ad una macro.

Un riscontro tecnico è gradito, soprattutto da parte di Anthony a cui offrirò un caffè se per caso ci incontriamo da qualche parte.

http://www.megaupload.com/?d=325JN2HC
.K
Avatar utente
Karistotele
Utente Junior
 
Post: 45
Iscritto il: 01/05/10 06:28
Località: PADOVA

Re: Calcolo giorni lavorativi sabato compreso

Postdi Anthony47 » 13/07/10 08:57

Mi dispiace di aver indotto il grande Anthony in errore a cui, pronato, chiedo umilmente scusa.
Eh, vedo che ne' Ricky ne' Karistotele sono cultori dell' impalpabile ironia.
Non ho mai smesso di dire che la formula di K era errata, ma di fronte all' insistenza con cui si negava l' evidenza ho provato a ripresentargli i termini dell' errore in altro modo. D' altra parte se una formula restituisce 25 e ne ribadisco 24, si puo' dire che la formula sia corretta?
Comunque, K, qui non arriviamo mai a queste forme di punizione; quindi rialzati e riscrivi...

Il caffe' virtuale e' accettato.

Ciao a tutti.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Calcolo giorni lavorativi sabato compreso

Postdi Karistotele » 13/07/10 09:13

Grazie Anthony, adesso aspetto "il Folletto Maledetto" ....
.K
Avatar utente
Karistotele
Utente Junior
 
Post: 45
Iscritto il: 01/05/10 06:28
Località: PADOVA

Re: Calcolo giorni lavorativi sabato compreso

Postdi Flash30005 » 13/07/10 10:01

Tra folletti, magie e alchimie... Mi sono perso :undecided:

Ancora non ho capito se esiste questa formula "perfetta".

Ricapitoliamo:
dal 1° dicembre al 31 dicembre 2010 abbiamo
31 giorni
4 domeniche
1 sabato festivo (il 25 dicembre) e
1 giorno infrasettimanale festivo (8 dicembre)
Totale giorni lavorativi = 25 (31-6)
Io ho risolto con una tabella delle festività (in H1:J12)
Codice: Seleziona tutto
Descrizione   Giorno   Mese
Capodanno          1   1
Festa del Lavoro   1   5
Tutti i santi      1   11
Anniv Repubblica   2   6
Epifania           6   1
Patrono            6   7       '<<<<< Giorno e Mese del Patrono della città
Immacolata         8   12
Ferragosto        15   8
Anniv Liberazione 25   4
Natale            25   12
S. Stefano        26   12

e questa macro:
Codice: Seleziona tutto
Public Anno, ContaF As Integer, GPasqua, I As Date
Sub GiorniLav()
ContaG = 0
ContaF = 0
For I = [A1] To [B1]
Call Pasqua
Call Festività
If Weekday(I, vbUseSystemDayOfWeek) < 7 And I <> GPasqua Then ContaG = ContaG + 1
Next I
MsgBox ContaG - ContaF
End Sub
Sub Festività()
For F = 2 To 12
If Range("I" & F).Value = Day(I) And Range("J" & F).Value = Month(I) And Weekday(I, vbUseSystemDayOfWeek) <> 7 Then ContaF = ContaF + 1
Next F
End Sub
Private Sub Pasqua()
    Dim a, b, c, d, e, M, N As Integer
    Dim Giorno, Mese, Anno As Integer
    Anno = Year(I)
    Select Case Anno
    Case 1583 To 1699
        M = 22
        N = 2
    Case 1700 To 1799
        M = 23
        N = 3
    Case 1800 To 1899
        M = 23
        N = 4
    Case 1900 To 2099
        M = 24
        N = 5
    Case 2100 To 2199
        M = 24
        N = 6
    Case 2200 To 2299
        M = 25
        N = 0
    Case 2300 To 2399
        M = 26
        N = 1
    Case 2400 To 2499
        M = 25
        N = 1
    Case Else
        GPasqua = False
        Exit Sub
    End Select
   
    a = Anno Mod 19
    b = Anno Mod 4
    c = Anno Mod 7
   
    d = (19 * a + M) Mod 30
    e = (2 * b + 4 * c + 6 * d + N) Mod 7
   
    If d + e < 10 Then
        Giorno = d + e + 22
        Mese = 3
    Else
        Giorno = d + e - 9
        Mese = 4
    End If
    'GPasqua = Format(Str(Giorno) & "/" & Str(Mese) & "/" & Str(Anno))
    GPasqua = DateSerial(Str(Anno), Str(Mese), Str(Giorno))
    GPasqua = GPasqua + 1
End Sub

che non dovrebbe dare errore nel calcolo dei giorni lavorativi che comprendono anche il sabato

Ciao

P.s. In A1 la data inizio, B1 la data fine
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Calcolo giorni lavorativi sabato compreso

Postdi ricky53 » 13/07/10 12:36

Ciao,

Flash: grazie per la macro (la guardo solo per l'aspetto didattico mio personale visto che l'utilizzo di macro non rientra nei requisiti del mio cliente: "mia moglie" e quindi un cliente che va rispettato oltre ogni necessità)

Karistotele: la tua soluzione con
1-12-2010 e 31-12-2010
e con le seguenti festività
Data Descrizione
01/01/2010 ven Capodanno
06/01/2010 mer Epifania
05/04/2010 lun Pasquetta
25/04/2010 dom Liberazione
01/05/2010 sab Festa del Lavoro
02/06/2010 mer Festa della Repubblica
15/08/2010 dom Assunzione
29/09/2010 mer Santo Patrono
01/11/2010 lun Tutti i Santi
02/11/2010 mar Commemorazione Defunti (calendario scolastico regionale)
08/12/2010 mer Immacolata Concezione
25/12/2010 sab Natale
26/12/2010 dom Santo Stefano

calcola "24" invece di "25" giorni lavorativi. (Controlla anche tu potrei aver errato vista la temperatura della stanza in cui mi trovo)

e quindi “A Karì STACCE!!!”
Il folletto ha sentenziato …

Anthony: ti avevo detto che l’ora condizionava la mia capacità interpretativa e non avevo assolutamente visto ironia nel tuo intervento … ne me dolgo.

RAGAZZI: però semplifichiamoci la vita … altrimenti il cervello va in surriscaldamento … vista anche la temperatura esterna …

Ciao da Ricky53
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Calcolo giorni lavorativi sabato compreso

Postdi Karistotele » 13/07/10 13:10

Nun ce stò ... perchè tu hai un intervallo di un mese e imposti le festività per tutto l'anno.

L'intervallo festività deve stare all'interno del range da considerare. Altrimenti stiamo facendo la gara del coriandolo controvento.
.K
Avatar utente
Karistotele
Utente Junior
 
Post: 45
Iscritto il: 01/05/10 06:28
Località: PADOVA

Re: Calcolo giorni lavorativi sabato compreso

Postdi Flash30005 » 13/07/10 13:49

ricky53 ha scritto:(la guardo solo per l'aspetto didattico mio personale visto che l'utilizzo di macro non rientra nei requisiti del mio cliente)

Se il cliente è un utente al quale interessa effettuare il solo calcolo,
che sia formula o macro poco importa
(ci sono mille modo per attivare una macro senza che il cliente se ne accorga ;) )

Se, invece, il cliente è un'insegnante che deve spiegare agli alunni come ottenere questo calcolo attraverso formule native di excel allora ti do ragione.

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Calcolo giorni lavorativi sabato compreso

Postdi ricky53 » 13/07/10 14:37

Ciao,
chiarisco.
Flash: l'insegnante (mia moglie) deve gestire il calendario scolastico e redigere l'orario e loro non possono/vogliono utilizzare le macro per vari motivi (semplicità nell’utilizzo del file (non tutti sono utenti ...) non ultimo quello della condivisione del file su un PC che funge da server: al file accedono gli insegnanti da varie postazioni di lavoro e la condivisone (office 2003) di un file non consente l’utilizzo di macro.

Karistotele: l'intervallo di date varia di anno in anno (e varie anche negli utilizzi che ne vengono fatti da tutti) e le festività devono essere scritte una volta sola e devono valere per sempre, non si può chiedere agli utilizzatori di modificare le festività al cambiare dell'intervallo di date: pensa agli errori manuali ...
Come direbbero a Roma “A Karì e Stacce NO!!!”.

Ciao da Ricky53
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Calcolo giorni lavorativi sabato compreso

Postdi ricky53 » 13/07/10 15:21

Ciao Flash,
dalle prove che ho fatto sulla tua macro: mi sembra calcoli male le festività, faccio altri controlli e ci risentiamo.

Ciao da Ricky53
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Calcolo giorni lavorativi sabato compreso

Postdi ricky53 » 13/07/10 22:39

FLASH:
confermo quanto scritto in precedenza: calcolo festività errato.

Ciao da Ricky53
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Calcolo giorni lavorativi sabato compreso

Postdi Flash30005 » 13/07/10 23:06

ricky53 ha scritto:FLASH:
confermo quanto scritto in precedenza: calcolo festività errato.



:?:

(vorrei replicare ciò che hai nella tua firma) :D
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Calcolo giorni lavorativi sabato compreso

Postdi ricky53 » 13/07/10 23:17

Ciao,
allora:
con le seguenti festività
Data Descrizione
01/01/2010 ven Capodanno
06/01/2010 mer Epifania
05/04/2010 lun Pasquetta
25/04/2010 dom Liberazione
01/05/2010 sab Festa del Lavoro
02/06/2010 mer Festa della Repubblica
15/08/2010 dom Assunzione
29/09/2010 mer Santo Patrono
01/11/2010 lun Tutti i Santi
02/11/2010 mar Commemorazione Defunti
08/12/2010 mer Immacolata Concezione
25/12/2010 sab Natale
26/12/2010 dom Santo Stefano

Con 1-12-2010 e 31-12-2010 come intervallo

Con la tua macro ottengo "27" giorni
Il valore esatto è “25”

Chiaro fui adesso?

Scherzi a parte questo è quanto posso dirti.

Ciao da Ricky53
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Calcolo giorni lavorativi sabato compreso

Postdi ricky53 » 13/07/10 23:19

Ciao,
altri dati

con 1-1-2010 e 31-12-2010
stesse festività
ottengo "312" al posto di "303" che è il valore esatto.

Ciao da Ricky53
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "Calcolo giorni lavorativi sabato compreso":


Chi c’è in linea

Visitano il forum: Nessuno e 47 ospiti