[RISOLTO]Totale numero turni mensili

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

[RISOLTO]Totale numero turni mensili

Messaggio da sandro merlino »

Ciao a tutti,
Ho un grosso problema a trovare questa formula. In passato abbiamo gia parlato di formule simili ma modificandole non sono riuscito a fare niente di buono.
I miei capi mi hanno detto che:
-Devo trovare una formula che per ogni mese mi calcola la somma dei turni che sono i valori prima della vergola nella colonna J(e sono di 8 ore). Devo mettere 2 spazi e inserire le ore residue. Dopo devo mettere i due punti e inserire i minuti residui.
-Devo utilizzare la colonna F che contiene la funzione data
-Devo utilizzare le funzioni K17, K18, K19 per estrarre le ore, minuti e ore.
Per ora ho queste direttive e non so dove mettere le mani
Ho inserito nella colonna E alcuni esempi fino a MAGGIO
Aiutooooooo. Sono a vostra disposizione
La formula dovrebbe andare in K14 del foglio1
Allego file
Grazie 1000
sandro
Allegati
conta turni.ods
(126.37 KiB) Scaricato 89 volte
Ultima modifica di sandro merlino il martedì 23 ottobre 2018, 21:57, modificato 1 volta in totale.
openoffice 4.1.1
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1721
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Totale numero turni mensili

Messaggio da gioh66 »

Buondì, ho dato un'occhiata al file e ho provato a buttar giù una formula per gennaio

Codice: Seleziona tutto

=MATR.SOMMA.PRODOTTO(VALORE(SE(VAL.ERRORE(STRINGA.ESTRAI($J$126:$J$155;1;TROVA(",";$J$126:$J$155)-1));0;STRINGA.ESTRAI($J$126:$J$155;1;TROVA(",";$J$126:$J$155)-1))))&",  "&TESTO(MATR.SOMMA.PRODOTTO(VALORE(SINISTRA(ANNULLA.SPAZI(SE(VAL.ERRORE(RIMPIAZZA($J$126:J$155;1;TROVA(",";$J$126:$J$155);""));0;RIMPIAZZA($J$126:J$155;1;TROVA(",";$J$126:$J$155);"")));2)));"00")&":"&MATR.SOMMA.PRODOTTO(VALORE(DESTRA(ANNULLA.SPAZI(SE(VAL.ERRORE(RIMPIAZZA($J$126:$J$155;1;TROVA(",";$J$126:$J$155);""));0;RIMPIAZZA($J$126:$J$155;1;TROVA(",";$J$126:$J$155);"")));2)))
e mi son detto funziona, poi ho visto che a febbraio se la somma delle ore residue arriva a 8 bisogna aumentare di uno la prima cifra...e forse sarebbe anche fattibile, ma se le ore eccedenti fossero di più di 8 e ci fosse pure un avanzo.... :crazy: :crazy: :crazy: :crazy: :crazy:
Ci rinuncio mi viene mal di testa solo a pensare a una possibile, kilometrica, formula...
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
sandro merlino
Messaggi: 595
Iscritto il: giovedì 12 gennaio 2012, 20:33

Re: Totale numero turni mensili

Messaggio da sandro merlino »

Ciao gioh66,
Intanto molte grazie per averci provato. Proverò a spiegare ai capi della difficoltà di fare una formula sola in una cella.
Visto che devo però trovare un valore. Ti volevo chiedere se fosse per te più facile se la mettiamo in questo modo:
Fare una formula per gennaio, febbraio,marzo,....,dicembre e
considerare che se il mese di oggi() è uguale a 01 parte la formula di gennaio,
considerare che se il mese di oggi() è uguale a 02 parte la formula di febbraio,
etc
Fammi sapere che riferisco
Grazie 1000
sandro
openoffice 4.1.1
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1721
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Totale numero turni mensili

Messaggio da gioh66 »

Devo chiederti scusa, stamattina mi sono fasciato la testa prima di romperla...o forse a forza di sbatterla su quel muro ( :crazy: ) ne è uscito qualcosa. :mrgreen:
Facendo qualche tentativo sono arrivato a questa formula, provala e vedi se va bene. Io per verificarla l'ho messa in A125 e copiata nelle celle sotto, (A125, A225, A355, ecc...) all'inizio di ogni mese e funziona (A125, A225, A355, ecc...).
Lascio a te sistemarla all'interno del tuo file come ti serve.

Codice: Seleziona tutto

=MATR.SOMMA.PRODOTTO(VALORE(SE(VAL.ERRORE(STRINGA.ESTRAI(J125:J155;1;TROVA(",";J125:J155)-1));0;STRINGA.ESTRAI(J125:J155;1;TROVA(",";J125:J155)-1))))+INT(MATR.SOMMA.PRODOTTO(SE(VAL.ERRORE(VALORE(DESTRA(J125:J155;5)));0;VALORE(DESTRA(J125:J155;5))))*24/8)&",  "&TESTO(RESTO(MATR.SOMMA.PRODOTTO(SE(VAL.ERRORE(VALORE(DESTRA(J125:J155;5)));0;VALORE(DESTRA(J125:J155;5))))*24;8)/24;"hh:mm")
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
sandro merlino
Messaggi: 595
Iscritto il: giovedì 12 gennaio 2012, 20:33

Re: Totale numero turni mensili

Messaggio da sandro merlino »

Ciao gioh66,
Grazie per la formula. Volevo fare quello che mi hai detto ma temo di aver sbagliato qualcosa.
Ogni mese ottengo sempre 0, 00:00
Ti allego il file
Grazie1000
sandro
Allegati
conta turni.ods
(128.31 KiB) Scaricato 65 volte
openoffice 4.1.1
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1721
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Totale numero turni mensili

Messaggio da gioh66 »

Dopo vari tentativi ho capito i problemi, il più grosso, e che mi ha fatto perdere più tempo è che openoffice non riconosce il ":" come divisore delle ore, vuole il ".".
Secondo openoffice vuole una formula matriciale, con libre e usando il MATR.SOMMA.PRODOTTO l'avevo evitata, ma openoffice non ne vuole sapere.
Alla luce di tutto ciò la formula diventa così: maticiale (CTRL+MAIUSCOLO+INVIO)

Codice: Seleziona tutto

=SOMMA(SE(VAL.ERRORE(VALORE(STRINGA.ESTRAI(J125:J155;1;TROVA(",";J125:J155)-1)));0;VALORE(STRINGA.ESTRAI(J125:J155;1;TROVA(",";J125:J155)-1))))+INT(SOMMA(SE(VAL.ERRORE(VALORE(SOSTITUISCI(DESTRA(J125:J155;5);":";".")));0;VALORE(SOSTITUISCI(DESTRA(J125:J155;5);":";"."))))*24/8)&",  "&TESTO(RESTO(SOMMA(SE(VAL.ERRORE(VALORE(SOSTITUISCI(DESTRA(J125:J155;5);":";".")));0;VALORE(SOSTITUISCI(DESTRA(J125:J155;5);":";"."))))*24;8)/24;"hh:mm")
Ps.: se usi questo file con excel potrebbe non riconoscere la formula perchè excel come calc di libreoffice riconoscono come divisore il ":", inoltre come openoffice vuole una formula matriciale, per tanto potresti usare quella che ti ho messo sopra
viewtopic.php?f=9&t=9369&p=51561#p51551
ma sostituendo il MATR.SOMMA.PRODOTTO con il SOMMA e confermandola matriciale CTRL+MAIUSCOLO+INVIO
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Totale numero turni mensili

Messaggio da unlucky83 »

In passato abbiamo gia parlato di formule simili ma modificandole non sono riuscito a fare niente di buono.
Forse potrebbero essere di aiuto le formule mancanti di foglio D cella J122 o J123. Se non ricordo male in una delle due abbiamo preparato le somme del singolo mese fino alla data odierna. Forse non si trattava del foglio D, ma ricordo delle somme mensili fino alla data odierna.
Mi riporti il link della discussione "simile" così riscarichiamo il file? Almeno @gioh66 può prendere spunto dal file simile funzionante e adattarlo. Forse si riesce ad evitare l'impiccio dei ":".
Ti volevo chiedere se fosse per te più facile se la mettiamo in questo modo:
Fare una formula per gennaio, febbraio,marzo,....,dicembre e
considerare che se il mese di oggi() è uguale a 01 parte la formula di gennaio,
considerare che se il mese di oggi() è uguale a 02 parte la formula di febbraio,
etc
Detta così sembra che sia possibile usare delle celle di appoggio e ricordo che i tuoi capi non le approvino facilmente. Questa possibilità potrebbe ridurre la lunghezza della formula.

p.s.
i tuoi capi devono decidere di assumere un programmatore.Stanno creando dei mostri con il foglio di calcolo quando basterebbe un db fatto da uno capace. Una query li, una query la, qualche bel formulario e tutti i report che vogliono. :lol: Chiedi un aumento!!
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: Totale numero turni mensili

Messaggio da sandro merlino »

Ciao unlucky83
Ti ringrazio per essere intervenuto nella discussione ed avermi dato il consiglio di inserire le formule da te fatte nelle celle mancanti. Lo faccio volentieri se queste possono dare un aiuto a ridurre la lunghezza della formula e riuscire a non usare celle di appoggio. Scusatemi ma non pensavo potessero essere di aiuto.
Ora sono in trasferta, ma appena rientro le inserisco nel file e lo allego.
Ti ricordi bene anche quando dici che i miei capi non vogliono celle di appoggio ma se non c'è soluzione che posso fare.
Per quanto riguarda l'assunzione di un programmatore o aumento, che te lo dico affare. Si aumenta il lavoro ma non le spese aziendali.

Ciao gioh66 ,
Confermo che la formula applicata mensilmente funziona.
Se i capi mi avessero accordato la possibilità di usare celle di appoggio ne avrei usate meno possibili utilizzando
=SE(MESE(OGGI())=01;gennaio;SE(MESE(OGGI())=02;febbraio;"222222")) etc fino a dicembre oppure fino a numero di caratteri consentiti in una celle
Al mio rientro allego le formule che diceva unlucky83 e mi chiedevo se puoi verificare se si possono unire le precedenti 12. A me aiuterebbe a non litigare
con quelle teste di ..... . Altrimenti concludo il messaggio con [RISOLTO]

Grazie 1000
sandro
openoffice 4.1.1
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1721
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Totale numero turni mensili

Messaggio da gioh66 »

unlucky83 ha scritto: Detta così sembra che sia possibile usare delle celle di appoggio e ricordo che i tuoi capi non le approvino facilmente. Questa possibilità potrebbe ridurre la lunghezza della formula.

p.s.
i tuoi capi devono decidere di assumere un programmatore.Stanno creando dei mostri con il foglio di calcolo quando basterebbe un db fatto da uno capace. Una query li, una query la, qualche bel formulario e tutti i report che vogliono. :lol: Chiedi un aumento!!
Concordo con quanto detto da unlucky83. Se il tuo file semplificato che usi per le richieste ci mette sul mio pc, che non è proprio scarso di risorse, una trentina di secondi per aprirsi (con libreoffice, con openoffice anche di più) non riesco a immaginare quanto ci possa mettere il file originale.
Poi non capisco l'avversione verso le colonne d'appoggio visto che non devono stare a ridosso delle tabelle per funzionare, possono stare anche in un punto remoto del foglio, tanto viste le dimensioni dubito che verrebbe usato tutto.
Giusto per avere un'idea un foglio se fosse su carta sarebbe un nastro largo 23 metri per un altezza/lunghezza di 4,6 chilometri.
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Totale numero turni mensili

Messaggio da unlucky83 »

Te lo dico perché forse potrebbero essere usate come celle d’appoggio proprio le celle J122/123 di foglio D. Quindi potremmo rendere i tuoi capi contenti. Il condizionale è d’obbligo
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
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Totale numero turni mensili

Messaggio da unlucky83 »

Riaprendo l'allegato mi sono accorto che le formule che ti chiedevo le hai lasciate al mese di ottobre (J1023 e M1021).
Non funzionano più perchè ora nella colonna F hai messo delle date.
Quindi in M1021 (formula matriciale) invece di:

Codice: Seleziona tutto

=SOMMA(SE(VAL.ERRORE(TROVA(",";J1025:J1055));0; (VALORE(STRINGA.ESTRAI(J1025:J1055;1;TROVA(",";J1025:J1055)-1))*8*60+VALORE(STRINGA.ESTRAI(DESTRA(J1025:J1055;LUNGHEZZA(J1025:J1055)-TROVA(",";J1025:J1055));1;TROVA(":";DESTRA(J1025:J1055;LUNGHEZZA(J1025:J1055)-TROVA(",";J1025:J1055)))-1))*60+VALORE(DESTRA(J1025:J1055;LUNGHEZZA(J1025:J1055)-TROVA(":";J1025:J1055)))) *(SE(OGGI()>=DATA(L1020;M1024;F1025:F1055);1;0))*(F1025:F1055<=GIORNI.MESE(DATA(L1020;M1024;1))) ) )
Andrebbe messa (formula matriciale)

Codice: Seleziona tutto

=SOMMA(SE(VAL.ERRORE(TROVA(",";J1025:J1055));0; (VALORE(STRINGA.ESTRAI(J1025:J1055;1;TROVA(",";J1025:J1055)-1))*8*60+VALORE(STRINGA.ESTRAI(DESTRA(J1025:J1055;LUNGHEZZA(J1025:J1055)-TROVA(",";J1025:J1055));1;TROVA(":";DESTRA(J1025:J1055;LUNGHEZZA(J1025:J1055)-TROVA(",";J1025:J1055)))-1))*60+VALORE(DESTRA(J1025:J1055;LUNGHEZZA(J1025:J1055)-TROVA(":";J1025:J1055)))) *(SE(OGGI()>=F1025:F1055;1;0)) ) )
In questo modo hai le somme del mese fino alla data di oggi inJ1023. Ripetendo questo per tutti i mesi hai le "celle di appoggio" per la nuova formula di foglio1.K14

Codice: Seleziona tutto

=SE(Mese(oggi())=1;D.J123;
SE(Mese(oggi())=2;D.J223;
SE(Mese(oggi())=3;D.J323;
SE(Mese(oggi())=4;D.J423;
SE(Mese(oggi())=5;D.J523;
SE(Mese(oggi())=6;D.J623;
SE(Mese(oggi())=7;D.J723;
SE(Mese(oggi())=8;D.J823;
SE(Mese(oggi())=9;D.J923;
SE(Mese(oggi())=10;D.J1023;
SE(Mese(oggi())=11;D.J1123;D.J1223)))))))))))
Il tutto funziona se nelle colonne J usi formati del tipo:
"115, 03:00" (due spazi)
"10, 00:45" (uno spazio)
Non funziona con i formati impiegati a settembre, del tipo:
"15: 0:02"
"13 4:00"
Allego file
Allegati
conta turni.ods
(133.06 KiB) Scaricato 51 volte
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: Totale numero turni mensili

Messaggio da sandro merlino »

Ciao
Intanto esordisco con un grande GRAZIE spassionato a tutti e due.
Poi provo a rispondere passo dopo passo a tutti i vostri dubbi.
-Nemmeno io capisco l'avversione verso le colonne d'appoggio ma tutti ripetono la stessa cosa.
-Le formule che ora ho inserito e prima no devo dirvi che è colpa mia e la giustificazione è che pensavo di alleggerire il file
- I formati usati a settembre sono stati involontariamente inseriti da me ma i formati giusti sono quelli di ottobre

Qello che vi chiedo è se mi potete correggere le formule anche in M1020, M1022, M1023 cosi li copio e incollo cosi funzionano anche H122,N122,P122
Invece se ho capito bene utilizzando questa formula ho la somma dei turni, ore residue:minuti residui fino al giorno attuale mentre loro vogliono all'inizio del mese
la somma totale
Allego file
Grazie
sandro
Allegati
conta turni.ods
(134.68 KiB) Scaricato 49 volte
openoffice 4.1.1
sandro merlino
Messaggi: 595
Iscritto il: giovedì 12 gennaio 2012, 20:33

Re: Totale numero turni mensili

Messaggio da sandro merlino »

Ciao gioh66
Ti volevo chiedere se pensi che la formula che mi hai dato in precedenza è la migliore anche con l'aggiunta da parte mia di formule d'appoggio
Nel caso lo fosse vado da i capi e che Dio ce la mandi buona. Altrimenti li faccio aspettare

Ciao unlucky83
Ho visto che M120 è uguale a M121 quindi lo posso fare io
Mi correggeresti una tra M122 e M123 che non mi fanno funzionare la somma della colonna?

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: Totale numero turni mensili

Messaggio da unlucky83 »

M1020 (matriciale)

Codice: Seleziona tutto

=SOMMA(SE(VAL.ERRORE(TROVA(",";H1025:H1055));0; (VALORE(STRINGA.ESTRAI(H1025:H1055;1;TROVA(",";H1025:H1055)-1))*8*60+VALORE(STRINGA.ESTRAI(DESTRA(H1025:H1055;LUNGHEZZA(H1025:H1055)-TROVA(",";H1025:H1055));1;TROVA(":";DESTRA(H1025:H1055;LUNGHEZZA(H1025:H1055)-TROVA(",";H1025:H1055)))-1))*60+VALORE(DESTRA(H1025:H1055;LUNGHEZZA(H1025:H1055)-TROVA(":";H1025:H1055)))) *(SE(OGGI()>=F1025:F1055;1;0)) ) )
M1022 (matriciale)

Codice: Seleziona tutto

=SOMMA( SE(VAL.ERRORE(TROVA(",";N1025:N1055));0; (VALORE(STRINGA.ESTRAI(N1025:N1055;1;TROVA(",";N1025:N1055)-1))*8*60+VALORE(STRINGA.ESTRAI(DESTRA(N1025:N1055;LUNGHEZZA(N1025:N1055)-TROVA(",";N1025:N1055));1;TROVA(":";DESTRA(N1025:N1055;LUNGHEZZA(N1025:N1055)-TROVA(",";N1025:N1055)))-1))*60+VALORE(DESTRA(N1025:N1055;LUNGHEZZA(N1025:N1055)-TROVA(":";N1025:N1055)))) *(SE((ANNO.BISESTILE(DATA(R1020;1;1))*SE(E(GIORNO(OGGI())=28;MESE(OGGI())=2;M1024=2))+OGGI())>=F1025:F1055;1;0))  ) )
M1023 (matriciale)

Codice: Seleziona tutto

=SOMMA( SE(VAL.ERRORE(TROVA(",";P1025:P1055));0; (VALORE(STRINGA.ESTRAI(P1025:P1055;1;TROVA(",";P1025:P1055)-1))*8*60+VALORE(STRINGA.ESTRAI(DESTRA(P1025:P1055;LUNGHEZZA(P1025:P1055)-TROVA(",";P1025:P1055));1;TROVA(":";DESTRA(P1025:P1055;LUNGHEZZA(P1025:P1055)-TROVA(",";P1025:P1055)))-1))*60+VALORE(DESTRA(P1025:P1055;LUNGHEZZA(P1025:P1055)-TROVA(":";P1025:P1055)))) *(SE((ANNO.BISESTILE(DATA(R1020;1;1))*SE(E(GIORNO(OGGI())=28;MESE(OGGI())=2;M1024=2))+OGGI())>=F1025:F1055;1;0))  ) )
Però le formule di M1020 e M1022 non hanno senso per questa tabella, perchè fanno riferimento alle colonne H e N che prevedono come dati da inserire non "T, hh:mm", bensì dei semplici numeri. Probabilmente sull'altro foglio, per il quale erano state pensate, avevi dei tempi. Per questo particolare foglio la somma delle colonne H e N dovrebbe essere semplicemente:
M1020 (non matriciale)

Codice: Seleziona tutto

=SOMMA.SE(F1025:F1055;"<=" &OGGI();H1025:H1055)

M1022 (non matriciale)

Codice: Seleziona tutto

=SOMMA.SE(F1025:F1055;"<=" &OGGI();N1025:N1055)
Invece se ho capito bene utilizzando questa formula ho la somma dei turni, ore residue:minuti residui fino al giorno attuale mentre loro vogliono all'inizio del mese
la somma totale
Con queste formule hai la somma dal primo del mese corrente al giorno corrente oppure dal primo del mese passato a fine mese passato. Quindi per la formula in K14 ti interessano che tipo di somme? Se oggi è 13 ottobre vuoi per ottobre la somma di tutti i turni che vanno dal primo di ottobre al 31 ottobre o ti sta bene dal primo al 13 ottobre?
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: Totale numero turni mensili

Messaggio da sandro merlino »

Ciao unlucky83

Grazie molte per M1020,M1022,M1023
-Se oggi è il 13 ottobre vorrebbero e sottolineo vorrebbero ottobre la somma di tutti i turni che vanno dal primo di ottobre al 31 ottobre per i 31 giorni di ottobre poi novembre etc
I dati M1020,M1022 sono sempre in T, hh:mm (non ho il file di riferimento a portata di mano) ma a memoria ti dico che le colonne H e N prendono dati da un gruppo di celle mentre J e Q hanno prima un sottogruppo.
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: Totale numero turni mensili

Messaggio da unlucky83 »

Ok, quindi bene per le formule di foglio D.
Per K14 torna il problema del formulone, perchè le formule di foglio D non vanno bene dato che vogliono la somma di tutto il mese anche se il mese non è passato tutto.
Ora, mi sembra che hai due sole strade possibili:
usare celle di appoggio
abusare in modo pesante di nomi d'area e nomi di formule (questa l'ho scoperta di recente viewtopic.php?f=26&t=9300#p51174)

La seconda strada è quella che piacerebbe ai tuoi capi, ma per te che devi costruire il foglio (per noi di riflesso) sarebbe un incubo. Ho fatto alcune prove sul mese di Ottobre ed è complicato gestire i nomi di formule con i riferimenti relativi, quindi la strada più sicura sarebbe quella di usare nelle definizioni delle formule i riferimenti assoluti. Essendo dodici mesi, interessandoti le colonne F e J, avresti come minimo 12 definizioni da mettere che aumenterebbero di molto nel caso in cui dovessi spezzettare qualche formula per qualche motivo. Non sò se ho reso l'idea.
Quando ho più tempo preparo un allegato.
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
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1721
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Totale numero turni mensili

Messaggio da gioh66 »

Buondì Sandro, la formula che ti ho dato io e che devi mettere in K14, deve darti solo il risultato del mese corrente? Perchè se fosse così si potrebbe forse
costruire l'intervallo di celle con la formula INDIRETTO e MESE(OGGI()).
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
sandro merlino
Messaggi: 595
Iscritto il: giovedì 12 gennaio 2012, 20:33

Re: Totale numero turni mensili

Messaggio da sandro merlino »

Ciao gioh66
Ti confermo che dall'inizio a fine mese deve dare la stessa somma e cioè quella totale dei turni,ore residue e minuti residui
Prendetevi il tempo che vi serve perchè cercherò di posticipare l'incontro con i capi .
Vi prego, se decidete di non provarci più ditemelo così faccio con quello che mi avete dato

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

Re: Totale numero turni mensili

Messaggio da unlucky83 »

foglio1.K14 mi calcola tutto il mese corrente e solo il mese corrente.
In foglio1.K14 ho messo la formula matriciale

Codice: Seleziona tutto

=Somma_J_Thhmm_Mese_Corrente
Con Ctrl+F3 ho definito due formule, una che si chiama "Somma_J_Thhmm_Mese_Corrente"

Codice: Seleziona tutto

=INT(INT(Somma_J_Mese_Corrente/60)/8)&",  "&RESTO(INT(Somma_J_Mese_Corrente/60);8)&":"&TESTO(RESTO(Somma_J_Mese_Corrente;60);"00")
L'altra si chiama "Somma_J_Mese_Corrente"

Codice: Seleziona tutto

=SOMMA(SE(VAL.ERRORE(TROVA(",";$D.$J$125:$J$1255));0; (VALORE(STRINGA.ESTRAI($D.$J$125:$J$1255;1;TROVA(",";$D.$J$125:$J$1255)-1))*8*60+VALORE(STRINGA.ESTRAI(DESTRA($D.$J$125:$J$1255;LUNGHEZZA($D.$J$125:$J$1255)-TROVA(",";$D.$J$125:$J$1255));1;TROVA(":";DESTRA($D.$J$125:$J$1255;LUNGHEZZA($D.$J$125:$J$1255)-TROVA(",";$D.$J$125:$J$1255)))-1))*60+VALORE(DESTRA($D.$J$125:$J$1255;LUNGHEZZA($D.$J$125:$J$1255)-TROVA(":";$D.$J$125:$J$1255)))) *(SE(MESE(OGGI())=Mese($D.$F$125:$F$1255);1;0)) ) )
In questo modo non ho usato celle ausiliarie. Fai prove.

p.s.
per il foglio D, usando i nomi di funzioni e sfruttando il fatto che in colonna F hai messo delle date, potresti fare a meno delle 5 celle di appoggio che hai per ciascun mese (quelle di ottobre sono M1020:M1024),ma se non lo dici ai capi è meglio :lol:
Allegati
conta turni_nomi_funzioni.ods
(132.78 KiB) Scaricato 62 volte
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
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1721
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Totale numero turni mensili

Messaggio da gioh66 »

Bene se risolvi con quanto ti suggerisce unlucky83 bene, se no la mia formula modificata, che ti da il risultato mensile è, per K14

Codice: Seleziona tutto

=SOMMA(SE(VAL.ERRORE(VALORE(STRINGA.ESTRAI(INDIRETTO("J"&125+100*(MESE(oggi())-1)&":"&"J"&155+100*(MESE(oggi())-1));1;TROVA(",";INDIRETTO("J"&125+100*(MESE(oggi())-1)&":"&"J"&155+100*(MESE(oggi())-1)))-1)));0;VALORE(STRINGA.ESTRAI(INDIRETTO("J"&125+100*(MESE(oggi())-1)&":"&"J"&155+100*(MESE(oggi())-1));1;TROVA(",";INDIRETTO("J"&125+100*(MESE(oggi())-1)&":"&"J"&155+100*(MESE(oggi())-1)))-1))))+INT(SOMMA(SE(VAL.ERRORE(VALORE(SOSTITUISCI(DESTRA(INDIRETTO("J"&125+100*(MESE(oggi())-1)&":"&"J"&155+100*(MESE(oggi())-1));5);":";".")));0;VALORE(SOSTITUISCI(DESTRA(INDIRETTO("J"&125+100*(MESE(oggi())-1)&":"&"J"&155+100*(MESE(oggi())-1));5);":";"."))))*24/8)&",  "&TESTO(RESTO(SOMMA(SE(VAL.ERRORE(VALORE(SOSTITUISCI(DESTRA(INDIRETTO("J"&125+100*(MESE(oggi())-1)&":"&"J"&155+100*(MESE(oggi())-1));5);":";".")));0;VALORE(SOSTITUISCI(DESTRA(INDIRETTO("J"&125+100*(MESE(oggi())-1)&":"&"J"&155+100*(MESE(oggi())-1));5);":";"."))))*24;8)/24;"hh:mm")
Sempre matriciale.
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
sandro merlino
Messaggi: 595
Iscritto il: giovedì 12 gennaio 2012, 20:33

Re: Totale numero turni mensili

Messaggio da sandro merlino »

Ciao
Vi ringrazio molto per le vostre fantastiche soluzioni
Conto vi vederle al più presto e presentarle.
Vi faccio sapere e chiudiamo il messaggio
sandro
openoffice 4.1.1
sandro merlino
Messaggi: 595
Iscritto il: giovedì 12 gennaio 2012, 20:33

Re: Totale numero turni mensili

Messaggio da sandro merlino »

Ciao gioh66
Mi diresti come devo modificare la formula per mettela nel foglio1. Al momento lavora nel foglio D
Grazie
sandro
openoffice 4.1.1
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1721
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Totale numero turni mensili

Messaggio da gioh66 »

In che senso? La formula io l'ho fatta già sul foglio1. Se la copi e incolli in K14 del foglio1 di da il risultato che vuoi.
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
sandro merlino
Messaggi: 595
Iscritto il: giovedì 12 gennaio 2012, 20:33

Re: Totale numero turni mensili

Messaggio da sandro merlino »

Ciao gioh66
Ti allego il file così mi dici quello che sbaglio
Poi così inizio a controllare

Grazie

sandro
Allegati
conta turni.ods
(136.07 KiB) Scaricato 60 volte
openoffice 4.1.1
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1721
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Totale numero turni mensili

Messaggio da gioh66 »

Ok!...se postavi subito questo file... comunque se i dati sono in foglio D e il risultato lo vuoi in foglio1 la formula diventa così

Codice: Seleziona tutto

=SOMMA(SE(VAL.ERRORE(VALORE(STRINGA.ESTRAI(INDIRETTO("D.J"&125+100*(MESE(OGGI())-1)&":"&"J"&155+100*(MESE(OGGI())-1));1;TROVA(",";INDIRETTO("D.J"&125+100*(MESE(OGGI())-1)&":"&"J"&155+100*(MESE(OGGI())-1)))-1)));0;VALORE(STRINGA.ESTRAI(INDIRETTO("D.J"&125+100*(MESE(OGGI())-1)&":"&"J"&155+100*(MESE(OGGI())-1));1;TROVA(",";INDIRETTO("D.J"&125+100*(MESE(OGGI())-1)&":"&"J"&155+100*(MESE(OGGI())-1)))-1))))+INT(SOMMA(SE(VAL.ERRORE(VALORE(SOSTITUISCI(DESTRA(INDIRETTO("D.J"&125+100*(MESE(OGGI())-1)&":"&"J"&155+100*(MESE(OGGI())-1));5);":";".")));0;VALORE(SOSTITUISCI(DESTRA(INDIRETTO("D.J"&125+100*(MESE(OGGI())-1)&":"&"J"&155+100*(MESE(OGGI())-1));5);":";"."))))*24/8)&",  "&TESTO(RESTO(SOMMA(SE(VAL.ERRORE(VALORE(SOSTITUISCI(DESTRA(INDIRETTO("D.J"&125+100*(MESE(OGGI())-1)&":"&"J"&155+100*(MESE(OGGI())-1));5);":";".")));0;VALORE(SOSTITUISCI(DESTRA(INDIRETTO("D.J"&125+100*(MESE(OGGI())-1)&":"&"J"&155+100*(MESE(OGGI())-1));5);":";"."))))*24;8)/24;"hh:mm")
In pratica bastava aggiungere il nome del foglio all'inizio della funzione INDIRETTO
INDIRETTO("D.J"&125+100*(MESE(OGGI())-1)&...ecc...
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
sandro merlino
Messaggi: 595
Iscritto il: giovedì 12 gennaio 2012, 20:33

Re: Totale numero turni mensili

Messaggio da sandro merlino »

Ciao unlucky83
Ti volevo dire che le formule corrette in M120, M121, M122, M123 funzionano sicuramente per tutti i mesi. Ho un dubbio su Febbraio
Ho inserito un piccolo commento che se ti va di verificare mi faresti un piacere.
Non so se è dovuto al fatto che da quando ho cambiato la colonna F in data non funzionano più neanche H124 e N124
Allego il file

Grazie

sandro
Allegati
conta turni.ods
(135.41 KiB) Scaricato 63 volte
openoffice 4.1.1
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Totale numero turni mensili

Messaggio da unlucky83 »

sandro merlino ha scritto:<...>
Ho inserito un piccolo commento <...>
Non so se è dovuto al fatto che da quando ho cambiato la colonna F in data non funzionano più neanche H124 e N124
Il commento è piccolo, non lo trovo nel foglio, dove sta? DIci che non funzionano neanche H124 e N124, quindi ci sono altre celle in cui non funzionano le formule?
Qual è il problema? a febbraio non ti tornano i numeri?
Queste 4 sono giuste?

Codice: Seleziona tutto

H222 è formula dipendente da M224, M220
J222 è formula dipendente da M224, M221 
N222 è formula dipendente da M224, M222 
P222 è formula dipendente da M224, M223
Siccome M224 è semplicemente 2, tutto dipende da M220, M221, M222, M223. 
Se queste sono giuste, allora sono giuste anche le altre perchè:

Codice: Seleziona tutto

H223 è formula dipendente da M224, N222,H222, M220, M222
J223 è formula dipendente da M224, P222, J222, M221, M223 
N223 è formula dipendente da M224, M220, M222 
P223 è formula dipendente da M224, M221, M223
Invece, le formule di H124 e N124 dipendono da L120, R120 e N22 e servono solo per scrivere "Anno Bisestile" e non dipendono dalla colonna F.
N22 però dovrebbe essere Q5
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: Totale numero turni mensili

Messaggio da sandro merlino »

Ciao unlucky83
Quello che volevo dire era molto semplice.
A febbraio come hai detto tu non mi tornano i numeri e ho scritto come tornano e come dovrebbero tornare.
Il resto era solo supposizione per ricordare che dall'inizio di questo file erano state fatte delle formule in un modo poi è cambiata
l'impostazione della colonna e ora non danno più il risultato voluto.
Grazie

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

Re: Totale numero turni mensili

Messaggio da unlucky83 »

Scusa ma il commento nel foglio non l’ho proprio trovato. Che valori dovrebbero esserci al posto di quelli calcolati?
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: Totale numero turni mensili

Messaggio da sandro merlino »

Ciao unlucky83
Non ti preoccuare allego il file
Per la formula in questione Totale numero turni mensili
Vi volevo dire che sono un po indietro e ci lavorerò nei prossimi giorni

Grazie

sandro
Allegati
conta turni.ods
(135.32 KiB) Scaricato 55 volte
openoffice 4.1.1
Rispondi