La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
Buongiorno, ho questo file che mi "avvisa" del massimo delle ore e la consecutività dei giorni solo in determinati range di celle, vorrei se possibile far si che il calcolo delle ore segua la settimana da lun. a dom. compresa mentre la consecutività sia al max di 6 gg indipendentemente dal periodo.
Grazie in anticipo
ciao
in C1 metti e tirala a destra
=NUM.SETTIMANA(C2;2)
in AM3 da tirare a destra
=SE.ERRORE(INDICE($C$1:$AK$1;;CONFRONTA(0;INDICE(CONTA.SE($AL$3:AL$3;$C$1:$AK$1&""););0));"")
in AM5 da tirare a destra
=SOMMA.SE($C$1:$AK$1;AM$3;$C$40:$AK$40)
e la prima parte mi sembra fatta
la seconda non la capisco proprio
vuoi segnalare se i gioni lavorati in una settimana sono più di 6?
chiaro che i risultati in riga 1 puoi nasconderli colorando il carattere di bianco
@gianfranco55, innanzitutto ti ringrazio, vorrei far in modo che vengano segnalati/bloccati piu di 6 giorni lavorativi consecutivi anche se si trovano a cavallo di due settimane
ciao
ho usato una colonna con
=MAX(FREQUENZA(SE($C5:$AK5<>"";RIF.COLONNA($C5:$AK5));SE($C5:$AK5="";RIF.COLONNA($C5:$AK5))))
e formattato se >6
ti allego il file
poi possiamo cambiare
il totale l'ho fatto
=SE.ERRORE(MATR.SOMMA.PRODOTTO((C5:AK5=Tabella3[cod])*$B$41:$B$58);"")
NB
F e R vanno messe sulla
riga sotto
@gianfranco55 ok testata e funziona, unico piccolo problema è il dover mettere F e R nella riga sotto ( non sono io che compilo il foglio) penso che dovrò in qualche modo bloccare con convalida dati oppure c'è qualche soluzione anche VBA?
ciao
prova questa matriciale
=MAX(FREQUENZA(SE(SOSTITUISCI(SOSTITUISCI(C5:AK5;"f";"");"r";"")<>"";RIF.COLONNA($C5:$AK5));SE(SOSTITUISCI(SOSTITUISCI(C5:AK5;"f";"");"r";"")="";RIF.COLONNA($C5:$AK5))))
non mi ricordo se funziona nella tua versione
per il vba
non sono la persona giusta vediamo se ti leggono i vbaisti
@gianfranco55 peccato non funziona mi da "VALORE!", oggi provo con il pc dove dovrà funzionare che mi pare abbia Office 2019 se non 365, grazie ancora
( magari scrivo una stupidata ) e se invece di cercare valori in =MAX(FREQUENZA(SE($C5:$AK5<>""..... cercassimo numeri 0 o 1, che sono risultati di formule nelle righe 7 o 8?. ci ho provato ma mi da sempre 35 come totale
ciao
con il 365 funziona di sicuro ma dal 2019 in giù non accetta l'espansione.
perchè hai delle formule
ma le formule in 7 e 8 sommano 2 righe
comunque si si può fare
=MAX(FREQUENZA(SE($C7:$AK7<>0;RIF.COLONNA($C7:$AK7));SE($C7:$AK7=0;RIF.COLONNA($C7:$AK7))))
@gianfranco55 funziona ma non conta il risultato se questo è ottenuto dalla cella in riga "d", ora devo staccare ma domani mattina approfondisco grazie
ciao
mi spiegherai meglio domani cosa intendi
se questo è ottenuto dalla cella in riga "d",
@gianfranco55 ho scritto di corsa e male , il risultato in C7 è ottenuto dalle celle C5 e C6, ma la formula mi conta solo i risultati ottenuti dalla cella C5 non quelli dalla C6, spero di aver scritto giusto stavolta
ok ora usando la riga 7
funziona per tutti e due
=MAX(FREQUENZA(SE($C7:$AK7<>0;RIF.COLONNA($C7:$AK7));SE($C7:$AK7=0;RIF.COLONNA($C7:$AK7))))
ma in C7 metti
=MATR.SOMMA.PRODOTTO((Tabella3[cod]=C5)+(Tabella3[cod]=C6))
così eliminiamo tutte le variabili a 0 ore
@gianfranco55 che dire, Meraviglioso !!!, funziona alla grande, grazie mille
ciao
grazie per il riscontro