[Risolto] verifica formula in celle P125-P155

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
sandro merlino
Messaggi: 595
Iscritto il: giovedì 12 gennaio 2012, 20:33

[Risolto] verifica formula in celle P125-P155

Messaggio da sandro merlino »

Ciao a tutti,
Il file sceglie la lingua nella cella Q5
Il file ha 9 colonne che indicano i reparti e per esattezza QK,SB,TS,VJ,XA,YR,AAI,ABZ,ADQ.
I lavoratori sono max 20 per ogni reparto e per ogni lavoratore vengono inserite inizio orario di lavoro e ore lavorate.
Se le 40 celle sono vuote vuol dire che il reparto è chiuso,
se le 20 celle di inizio orario di lavoro sono piene e le 20 celle di ore lavorate sono vuote vuol dire che non sono ancora stati pianificati i turni,
se le 20 celle di inizio orario di lavoro sono vuote e 1 delle 20 celle di ore lavorate è piena vuol dire che c'è un errore di inserimento dati,
altrimenti calcola il numero totale dei turni lavorati per i dipendenti presenti del reparto.

La colonna P125-P155 riassume le opzioni sopra indicate ma per il negozio:
Se la somma delle 9 colonne è 9 CHIUSO o CLOSE deve indicare CHIUSO o CLOSE
Se la somma delle 9 colonne è 9 NON ANCORA PIANIFICATA o NOT PLANNED YET deve indicare NON ANCORA PIANIFICATA o NOT PLANNED YET
Se anche 1 delle 9 colonne è INSERIMENTO ERRATO o ERROR ENTRY deve indicare NON ANCORA PIANIFICATA o NOT PLANNED YET
altrimenti calcola il numero totale dei turni lavorati per i dipendenti presenti nelle 9 colonne

Vi chiedo cortesemente se potete darmi la conferma che la formula inserita da P125 a P155 è corretta perchè temo di aver fatto errori nelle parentesi.

Se esiste una più semplice ogni consiglio è ben accetto come ha fatto unlucky83 in una delle mie precedenti domande

Allego il file

Sono a vostra disposizione per chiarimenti

Grazie 1000

Sandro
Allegati
CONTROLLO J e P.ods
(172.95 KiB) Scaricato 127 volte
Ultima modifica di sandro merlino il mercoledì 31 gennaio 2018, 20:16, modificato 1 volta in totale.
openoffice 4.1.1
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: verifica formula in celle P125-P155

Messaggio da unlucky83 »

La tua formula funziona bene, mi sembra tutto regolare.
Io la semplificherei usando una formula matriciale in P125:

Codice: Seleziona tutto

=SE(SOMMA(QK125:AFF125="CLOSE")+SOMMA(QK125:AFF125="CHIUSO")=9;QK125;
SE(SOMMA(QK125:AFF125="NOT PLANNED YET")+SOMMA(QK125:AFF125="NON ANCORA PIANIFICATA")=9;QK125;
SE(SOMMA(QK125:AFF125="ERROR ENTRY")+SOMMA(QK125:AFF125="INSERIMENTO ERRATO")>=1;SE($Q$119="INGLESE";"ERROR ENTRY";"INSERIMENTO ERRATO");
(QUOZIENTE(SOMMA(QM125:RZ125)*24;8))&",  "&SE(TRONCA(RESTO(SOMMA(QM125:RZ125)*24+0,000000001;8))<8;TRONCA(RESTO(SOMMA(QM125:RZ125)*24+0,000000001;8));0)&":"&TESTO((RESTO((ARROTONDA(RESTO(SOMMA(QM125:RZ125)*24*60;8*60);0));60));"00"))))
al posto di:

Codice: Seleziona tutto

=SE(CONTA.SE(QK125;"CLOSE|CHIUSO")+CONTA.SE(SB125;"CLOSE|CHIUSO")+CONTA.SE(TS125;"CLOSE|CHIUSO")+CONTA.SE(VJ125;"CLOSE|CHIUSO")+CONTA.SE(XA125;"CLOSE|CHIUSO")+CONTA.SE(YR125;"CLOSE|CHIUSO")+CONTA.SE(AAI125;"CLOSE|CHIUSO")+CONTA.SE(ABZ125;"CLOSE|CHIUSO")+CONTA.SE(ADQ125;"CLOSE|CHIUSO")=9;QK125;
SE(CONTA.SE(QK125;"NOT PLANNED YET|NON ANCORA PIANIFICATA")+CONTA.SE(SB125;"NOT PLANNED YET|NON ANCORA PIANIFICATA")+CONTA.SE(TS125;"NOT PLANNED YET|NON ANCORA PIANIFICATA")+CONTA.SE(VJ125;"NOT PLANNED YET|NON ANCORA PIANIFICATA")+CONTA.SE(XA125;"NOT PLANNED YET|NON ANCORA PIANIFICATA")+CONTA.SE(YR125;"NOT PLANNED YET|NON ANCORA PIANIFICATA")+CONTA.SE(AAI125;"NOT PLANNED YET|NON ANCORA PIANIFICATA")+CONTA.SE(ABZ125;"NOT PLANNED YET|NON ANCORA PIANIFICATA")+CONTA.SE(ADQ125;"NOT PLANNED YET|NON ANCORA PIANIFICATA")=9;QK125;
SE(CONTA.SE(QK125;"ERROR ENTRY|INSERIMENTO ERRATO")+CONTA.SE(SB125;"ERROR ENTRY|INSERIMENTO ERRATO")+CONTA.SE(TS125;"ERROR ENTRY|INSERIMENTO ERRATO")+CONTA.SE(VJ125;"ERROR ENTRY|INSERIMENTO ERRATO")+CONTA.SE(XA125;"ERROR ENTRY|INSERIMENTO ERRATO")+CONTA.SE(YR125;"ERROR ENTRY|INSERIMENTO ERRATO")+CONTA.SE(AAI125;"ERROR ENTRY|INSERIMENTO ERRATO")+CONTA.SE(ABZ125;"ERROR ENTRY|INSERIMENTO ERRATO")+CONTA.SE(ADQ125;"ERROR ENTRY|INSERIMENTO ERRATO")>=1;SE($Q$119="INGLESE";"ERROR ENTRY";"INSERIMENTO ERRATO");
(QUOZIENTE(SOMMA(QM125:RZ125)*24;8))&",  "&SE(TRONCA(RESTO(SOMMA(QM125:RZ125)*24+0,000000001;8))<8;TRONCA(RESTO(SOMMA(QM125:RZ125)*24+0,000000001;8));0)&":"&TESTO((RESTO((ARROTONDA(RESTO(SOMMA(QM125:RZ125)*24*60;8*60);0));60));"00"))))
Mi sembra più compatta e pratica
Unica pecca è la somma delle ore lavorate da tutti i dipendenti messi insieme, la formula da te proposta somma solo le ore del dipendente 1
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
sandro merlino
Messaggi: 595
Iscritto il: giovedì 12 gennaio 2012, 20:33

Re: verifica formula in celle P125-P155

Messaggio da sandro merlino »

Ciao unlucky83 ,

Confermo che hai ragione. La tua formula matriciale a me va benissimo ed è molto più leggibile.
Devo solo sostituire SOMMA(QM125:RZ125) con SOMMA(QM125:AFF125) ? Confermi ?

Il dubbio che avevo era questo:
SE(CONTA.SE(QK125;"CLOSE|CHIUSO")+CONTA.SE(SB125;"CLOSE|CHIUSO")+CONTA.SE(TS125;"CLOSE|CHIUSO")+CONTA.SE(VJ125;"CLOSE|CHIUSO")+CONTA.SE(XA125;"CLOSE|CHIUSO")+CONTA.SE(YR125;"CLOSE|CHIUSO")+CONTA.SE(AAI125;"CLOSE|CHIUSO")+CONTA.SE(ABZ125;"CLOSE|CHIUSO")+CONTA.SE(ADQ125;"CLOSE|CHIUSO")=9

Pensavo che =9 si riferisse solo a CONTA.SE(ADQ125;"CLOSE|CHIUSO") e che mancasse una coppia di parentesi come scritto sotto che riunisce tutte le somme,

SE((CONTA.SE(QK125;"CLOSE|CHIUSO")+CONTA.SE(SB125;"CLOSE|CHIUSO")+CONTA.SE(TS125;"CLOSE|CHIUSO")+CONTA.SE(VJ125;"CLOSE|CHIUSO")+CONTA.SE(XA125;"CLOSE|CHIUSO")+CONTA.SE(YR125;"CLOSE|CHIUSO")+CONTA.SE(AAI125;"CLOSE|CHIUSO")+CONTA.SE(ABZ125;"CLOSE|CHIUSO")+CONTA.SE(ADQ125;"CLOSE|CHIUSO"))=9

così anche per gli altri controlli

Ti volevo anche chiedere che livello di pesantezza c'è tra la mia formula e quella tua in forma matriciale ?

Grazie 1000

Sandro
openoffice 4.1.1
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: verifica formula in celle P125-P155

Messaggio da unlucky83 »

Non sò quale delle due formule pesi di più, sò solo che con la formula matriciale è di più facile lettura. Partendo dal pressupposto che le formule siano state preparate da esperti programmatori, penso che meno gli utilizzatori richiamino formule intrinseche e meglio è.
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
sandro merlino
Messaggi: 595
Iscritto il: giovedì 12 gennaio 2012, 20:33

Re: verifica formula in celle P125-P155

Messaggio da sandro merlino »

Ciao unlucky83 ,

Prima di mettere RISOLTO mi confermeresti la formula per mia sicurezza:

=SE(SOMMA(QK125:AFF125="CLOSE")+SOMMA(QK125:AFF125="CHIUSO")=9;QK125;
SE(SOMMA(QK125:AFF125="NOT PLANNED YET")+SOMMA(QK125:AFF125="NON ANCORA PIANIFICATA")=9;QK125;
SE(SOMMA(QK125:AFF125="ERROR ENTRY")+SOMMA(QK125:AFF125="INSERIMENTO ERRATO")>=1;SE($Q$119="INGLESE";"ERROR ENTRY";"INSERIMENTO ERRATO");
(QUOZIENTE(SOMMA(QM125:AFF125)*24;8))&", "&SE(TRONCA(RESTO(SOMMA(QM125:AFF125)*24+0,000000001;8))<8;TRONCA(RESTO(SOMMA(QM125:AFF125)*24+0,000000001;8));0)&":"&TESTO((RESTO((ARROTONDA(RESTO(SOMMA(QM125:AFF125)*24*60;8*60);0));60));"00"))))

E mi spiegheresti perché non c'e bisogno della coppia di parentesi che ho messo nella seconda opzione di formula.

SE(CONTA.SE(QK125;"CLOSE|CHIUSO")+CONTA.SE(SB125;"CLOSE|CHIUSO")+CONTA.SE(TS125;"CLOSE|CHIUSO")+CONTA.SE(VJ125;"CLOSE|CHIUSO")+CONTA.SE(XA125;"CLOSE|CHIUSO")+CONTA.SE(YR125;"CLOSE|CHIUSO")+CONTA.SE(AAI125;"CLOSE|CHIUSO")+CONTA.SE(ABZ125;"CLOSE|CHIUSO")+CONTA.SE(ADQ125;"CLOSE|CHIUSO")=9

Pensavo che =9 si riferisse solo a CONTA.SE(ADQ125;"CLOSE|CHIUSO") e che mancasse una coppia di parentesi come scritto sotto che riunisce tutte le somme,

SE((CONTA.SE(QK125;"CLOSE|CHIUSO")+CONTA.SE(SB125;"CLOSE|CHIUSO")+CONTA.SE(TS125;"CLOSE|CHIUSO")+CONTA.SE(VJ125;"CLOSE|CHIUSO")+CONTA.SE(XA125;"CLOSE|CHIUSO")+CONTA.SE(YR125;"CLOSE|CHIUSO")+CONTA.SE(AAI125;"CLOSE|CHIUSO")+CONTA.SE(ABZ125;"CLOSE|CHIUSO")+CONTA.SE(ADQ125;"CLOSE|CHIUSO"))=9

Grazie 1000

Sandro
openoffice 4.1.1
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: verifica formula in celle P125-P155

Messaggio da unlucky83 »

perchè l'ordine delle operazioni è prima calcoli e poi confronti, quindi prima viene svolto il calcolo a sinistra del simbolo del confronto e poi il risultato viene confrontato con il risultato di destra. Nel dubbio, mettere le parentesi è cosa buona, così si è certi di non sbagliare

Usare QM125:AFF125 va bene, perchè Somma() ignora tutte le celle contenenti testo, quindi vai a sommare soltanto le ore
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
sandro merlino
Messaggi: 595
Iscritto il: giovedì 12 gennaio 2012, 20:33

Re: verifica formula in celle P125-P155

Messaggio da sandro merlino »

Ciao unlucky83 ,

Grazie 1000

Sandro
openoffice 4.1.1
Rispondi