Condividi:        

riepilogo giorni ferie fra 2 mesi

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

riepilogo giorni ferie fra 2 mesi

Postdi raimea » 03/05/21 17:51

ciao

tramite formula conto quanti gg di ferie sono
dalla data di col G Dal a quelli di col H Al
andando ad eliminare i sab_dom_festivi
della tabella rip . nel foglio.

la formula e' questa ed e' ok

Codice: Seleziona tutto
=SE(H6="";0;GIORNI.LAVORATIVI.TOT(G6;H6;$P$7:$P$19))


poi raggruppo i giorni per ogni mese
e utilizzo questa formula

Codice: Seleziona tutto
=SOMMA((MESE($G$6:$G$100)=1)*(ANNO($G$6:$G$100)=$L$7)*($J$6:$J$100))


funziona MA....

ho il problema quando i giorni sono fra 2 mesi
il totale viene fatto con riferimento col >> G Dal

ES .
dal 29-1-21 al 3-2-21 mi dice 4 gg tot ok
ma mi vengono conteggiati tutti in gennaio !
in realta sono 1gg a gennaio e 3 a febbraio

se possibile vorrei avere il conteggio corretto
nella tebella di col L , che li raggruppa per mese.

non mi interessa se verrebbe fatto con formula o macro.

vi allego il file
https://www.dropbox.com/s/ttbbx4kg3ukqt58/date_2mesi.rar?dl=0


grazie

ciao
S.O. win11, Excell 2021
Avatar utente
raimea
Utente Senior
 
Post: 1440
Iscritto il: 11/02/10 07:33
Località: lago

Sponsor
 

Re: riepilogo giorni ferie fra 2 mesi

Postdi Anthony47 » 04/05/21 00:02

Se vuoi farlo con formule, allora viene un po' lungo...
Ad esempio:
In S7 metti la formula
Codice: Seleziona tutto
=SE.ERRORE(SOMMA((MESE(RIF.RIGA(INDIRETTO($G6&":"&$H6)))=RIF.COLONNA(A1))*(GIORNO.SETTIMANA(RIF.RIGA(INDIRETTO($G6&":"&$H6));2)<6)*(ANNO(RIF.RIGA(INDIRETTO($G6&":"&$H6)))=$L$7)*(CONTA.SE($P$7:$P$30;RIF.RIGA(INDIRETTO($G6&":"&$H6)))=0));0)

Questa ti conta i giorni di ferie di Gennaio relativi al range G6:H6
Copiala fino ad AD7 e avrai i giorni dei mesi fino a Dicembre, sempre relativamente al range G6:H6

Copia S7:AD7 verso il basso, per quante righe di input pensi di avere in G:H, e cosi' avrai lo split Genn-Dic per ogni periodo segnato in colonne G:H

Ora ti bastera' fare la somma in verticale, quindi S7:Sxx, T7:Txx, etc etc per avere finalmente i giorni totale di ferie per ogni mese, per tutti i periodi indicati in colonna G:H

Oppure si va con una "funzione" specializzata. Esempio:
In un modulo standard inserisci questo codice
Codice: Seleziona tutto
Function FerieSplit(ByRef aDati As Range, ByRef aFeste As Range, ByVal Anno As Long) As Variant
Dim oArr(1 To 12, 1 To 1), wArr, wHoli(), I As Long, J As Long
Dim cMese As Long
'
wArr = aDati.Value
ReDim wHoli(1 To aFeste.Count)
For I = 1 To aFeste.Rows.Count
    wHoli(I) = CLng(aFeste.Cells(I, 1))
Next I
For I = 1 To UBound(wArr)
    For J = wArr(I, 1) To wArr(I, 2)
        If Weekday(J, vbMonday) < 6 And _
         IsError(Application.Match(CLng(J), wHoli, False)) Then
            cMese = Month(J)
            If Year(J) = Anno Then
                oArr(cMese, 1) = oArr(cMese, 1) + 1
            End If
         End If
    Next J
Next I
FerieSplit = oArr
End Function

Ora seleziona L8:L19 e scrivi nella barra della formula:
Codice: Seleziona tutto
=FerieSplit(G6:H20;P7:P22;L7)

Conferma la formula con Contr-Maiusc-Enter, non il solo Enter, e avrai il frazionamento delle ferie per mese.

La sintassi generale e':
Codice: Seleziona tutto
=FerieSplit(AreaDelleDate;AreaDelleFestività;Anno)

AreaDelleDate e' l'area di colonna G:H dedicata alla registrazione delle ferie; 2 colonne in formato Data
AreaDelleFestività e' l'area dedicata all'elenco delle giornate festive; 1 colonna in formato Data o vuota
Anno e' intuitivo; numero in formato esteso, es 202; o riferimento alla cella che lo contiene.

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

Re: riepilogo giorni ferie fra 2 mesi

Postdi raimea » 04/05/21 03:17

ciao

il conteggio tramite funzione tutto ok

anche con formula ok

un info sulla formula,
c' e' un passaggio che non ho capito.

perche c'e' rif.colonna(A1) ?

quando nel mio fgl in A1 non c'e nulla
a cosa serve aver messo A1
che poi diventa B1...L1 in col AD

grazie

ciao
S.O. win11, Excell 2021
Avatar utente
raimea
Utente Senior
 
Post: 1440
Iscritto il: 11/02/10 07:33
Località: lago

Re: riepilogo giorni ferie fra 2 mesi

Postdi Anthony47 » 04/05/21 11:06

un info sulla formula, c' e' un passaggio che non ho capito.
perche c'e' rif.colonna(A1) ?

Lo spezzone di formula interessato dice:
Codice: Seleziona tutto
MESE(RIF.RIGA(INDIRETTO($G6&":"&$H6)))=RIF.COLONNA(A1)

Rif.Colonna(A1) mi restituisce 1 = Gennaio; mi restituira' 2 = Febbraio nella colonna accanto; e cosi' via fino a Dicembre.
Insomma serve a spalmare nelle varie colonne i dati dei mesi dell'anno

Piu' chiaro?
Avatar utente
Anthony47
Moderatore
 
Post: 19480
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: riepilogo giorni ferie fra 2 mesi

Postdi raimea » 04/05/21 17:32

ciao
ok capito
certo rif.colonna(A1)=1 rif-colonna(B1)=2 ecc ...

grazie

ciao
S.O. win11, Excell 2021
Avatar utente
raimea
Utente Senior
 
Post: 1440
Iscritto il: 11/02/10 07:33
Località: lago


Torna a Applicazioni Office Windows


Topic correlati a "riepilogo giorni ferie fra 2 mesi":


Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti