Pannello di Controllo Moderatore ]

Inserire valori del giorno prima anno corrente e precedente

Discussioni sull'applicazione per i fogli di calcolo

Re: Inserire valori del giorno prima anno corrente e precede

Messaggioda sandro merlino » mercoledì 2 maggio 2018, 22:11

Ciao gioh66,
se sostituisco le ultime due formule che mi hai fatto per K126 e L126 il risultato è
err:512 Formula troppo lunga Compilatore: il numero totale dei segni interni (ovvero operatori, variabili, parentesi) nella formula supera 8192.


Grazie 1000
Sandro
openoffice 4.1.1
sandro merlino
 
Messaggi: 408
Iscritto il: giovedì 12 gennaio 2012, 21:33

Re: Inserire valori del giorno prima anno corrente e precede

Messaggioda gioh66 » mercoledì 2 maggio 2018, 22:35

Non mi pare, copiando la formula in una casella (senza il segno =) e usando la funzione LUNGHEZZA() mi da 1172 caratteri.
Libreoffice 6 / PcLinuxOS
Libreoffice 5.1 / Ubuntu 16.04 - LinuxMint 18
Avatar utente
gioh66
Volontario
Volontario
 
Messaggi: 379
Iscritto il: lunedì 31 luglio 2017, 14:57

Re: Inserire valori del giorno prima anno corrente e precede

Messaggioda sandro merlino » mercoledì 2 maggio 2018, 23:00

Ciao gioh66,
Non capisco cosa sia ma purtroppo è uno dei problemi che a volte mi capita soprattutto con formule complicate si ripete spesso.
La mia versione di openoffice spezza la tua formula
eccola:
=SE(OGGI()=DATA(ANNO(OGGI());12;31);INDICE(sv!Q$125:Q$1255;CONFRONTA(DATA(ANNO(OGGI());1;1);sv!$F$125:$F$1255;0));SE(E(ANNO.BISESTILE(DATA(ANNO(OGGI())-1;1;1));OGGI()=DATA(ANNO(OGGI());12;31));INDICE(sv!Q$125:Q$1255;CONFRONTA(DATA(ANNO(OGGI());1;2);sv!$F$125:$F$1255;0));SE(E(ANNO.BISESTILE(DATA(ANNO(OGGI());1;1));OGGI()=DATA(ANNO(OGGI());12;31));INDICE(sv!H$125:H$1255;CONFRONTA(DATA(ANNO(OGGI());1;1);sv!$F$125:$F$1255;0)); SE(O(E(ANNO.BISESTILE(DATA(ANNO(OGGI());1;1));OGGI()>DATA(ANNO(OGGI());2;29));E(ANNO.BISESTILE(DATA(ANNO(OGGI())-1;1;1));OGGI()<DATA(ANNO(OGGI());3;1)));INDICE(sv!Q$125:Q$1255;CONFRONTA(OGGI()+1;sv!$F$125:$F$1255;0));SE(O(E(GIORNO.SETTIMANA(DATA(ANNO(OGGI());12;30);2)=1;GIORNO.SETTIMANA(DATA(ANNO(OGGI())-1;12;30);2)=3);E(GIORNO.SETTIMANA(DATA(ANNO(OGGI());12;31);2)=1;GIORNO.SETTIMANA(DATA(ANNO(OGGI())-1;12;31);2)=2));INDICE(sv!I$125:I$1255;CONFRONTA(DATA(ANNO(OGGI());1;1);sv!$F$125:$F$1255;0));SE(E(GIORNO.SETTIMANA(DATA(ANNO(OGGI());12;31);2)=1;GIORNO.SETTIMANA(DATA(ANNO(OGGI())-1;12;31);2)=3);INDICE(sv!I$125:I$1255;CONFRONTA(DATA(ANNO(OGGI());1;2);sv!$F$125:$F$1255;0));INDICE(sv!Q$125:Q$1255

Grazie 1000

Sandro
openoffice 4.1.1
sandro merlino
 
Messaggi: 408
Iscritto il: giovedì 12 gennaio 2012, 21:33

Re: Inserire valori del giorno prima anno corrente e precede

Messaggioda unlucky83 » giovedì 3 maggio 2018, 3:07

buonasera
La situazione è:
file pesante perchè vengono impiegate formule lunghissime
le formule probabilmente sono accorciabili impiegando celle ausiliarie e ciò in alcuni casi eviterebbe di ripetere dei calcoli ( quasi certamente anche nelle formattazioni condizionali sei costretto ad adoperare le formule lunghe)
il layout del foglio non agevola la scrittura compatta delle formule
la possibilità di rivedere la struttura del foglio è praticamente zero ed è quasi zero la possibilità di impiegare le celle di appoggio (utili per le formattazioni condizionali).
Già così mi sembra un circolo vizioso da cui mi sembra difficile uscire

Inoltre mettiamoci dentro anche il fatto che la versione del programma opensource sembra debba essere per forza openoffice, che presenta la limitazione della lunghezza delle formule.
Stavo seguendo in silenzio la discussione perchè ho visto due validi utenti cercare di capire cosa vuoi ottenere e come darti una mano. Mi dispiace notare che gli complichi la vita pasticciando con le versioni degli allegati. Al momento evito di entrare nel discorso su come darti realmente una mano perchè nella precedente discussione mi hai messo in seria difficoltà a comprenderti e in questa sono restio ad inserirmi perchè ho visto che stai facendo quasi la stessa cosa con gioh66
ed Eramad.
Noto che stai andando meglio con gli interventi, ma proponendo un esercizio complicato devi essere più che chiaro...cristallino :D
Cerca di mantenere la discussione ordinata e lineare in modo che sia comprensibile e che susciti interesse in chi potrebbe intervenire dandoti un valido aiuto, ma soprattutto nel rispetto di chi già si sta impegnando attivamente.
LibO5.1.6.2-Ubuntu 16.04.2 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio
Avatar utente
unlucky83
Volontario
Volontario
 
Messaggi: 1756
Iscritto il: lunedì 7 gennaio 2013, 2:23
Località: Latina

Re: Inserire valori del giorno prima anno corrente e precede

Messaggioda sandro merlino » giovedì 3 maggio 2018, 8:35

Ciao unlucky83,
Ti ringrazio per la spiegazione che hai dato sul problema della formula.
Per quanto riguarda le persone che stanno provando ad aiutarmi che sono gioh66 ed Eramad confermo la loro massima disponibilità e competenza.
Cercherò di migliorare per quanto riguarda la chiarezza dei miei messaggi ma per me è difficile spiegare qualcosa che non conosci completamente.

Per quanto riguarda il problema in corso ho fatto questo:
Ho lasciato l'ultima versione del file che gioh66 ha fatto con le date sulla colonna F perché ripeto che in G e M ho problemi di numero di formattazioni.
In DM H126 e DM126 funzionano (sulla base dei controlli che ho fatto. In futuro quando il file sarà completato ne farò altri)
Per le formule in K126 e L126 Eramad mi ha dato una spiegazione molto interessante nel precedente messaggio del 17 aprile 2018
I miei limiti non mi permettono di convertire la formula considerando che era stata fatta sulle colonne G e M impostate come date.

Lui dice:
=CERCA.VERT(OGGI()-365;SV.J14:O468;2;0)
nel file nominato inserimento dati per confronto - N°4.ods


Scusate ancora per il disturbo

Grazie 1000

Sandro
Allegati
inserimento dati per confronto - N°1(bis3).1.ods
(135.65 KiB) Scaricato 6 volte
openoffice 4.1.1
sandro merlino
 
Messaggi: 408
Iscritto il: giovedì 12 gennaio 2012, 21:33

Re: Inserire valori del giorno prima anno corrente e precede

Messaggioda gioh66 » giovedì 3 maggio 2018, 20:03

Prendendo spunto dalle formule di Ermand e se ti va bene di aggiungere una colonna di supporto, che io ho messo in S del foglio SV, si possono accorciare le formule.
Dunque nella colonna F restano le date per l'anno corrente, mentre in S ho messo le formule per le date dell'anno passato. La formula è come quella di colonna F, solo che l'anno è preso dalla colonna R. Una volta fatto il compilamento gli ho dato un colore del testo bianco per nascondere i valori.
Con questa modifica, le formule per i controlli nel foglio DM diventano:
in H137
Codice: Seleziona tutto   Espandi visualeStringi visuale
=SE($J$131=DATA(ANNO($J$131);1;1);INDICE(SV.$N$125:$N$1255;CONFRONTA(DATA(ANNO($J$131);12;31)-365;SV.$S$125:$S$1255;0));CERCA.VERT($J$131-1;SV.$F$125:$K$1255;3;0))

in I137
Codice: Seleziona tutto   Espandi visualeStringi visuale
=SE($J$131=DATA(ANNO($J$131);1;1);INDICE(SV.$Q$125:$Q$1255;CONFRONTA(DATA(ANNO($J$131);12;31)-365;SV.$S$125:$S$1255;0));CERCA.VERT($J$131-1;SV.$F$125:$K$1255;6;0))

in k137
Codice: Seleziona tutto   Espandi visualeStringi visuale
=SE(O(E(GIORNO.SETTIMANA(DATA(ANNO($J$131);12;31);2)=1;GIORNO.SETTIMANA(DATA(ANNO($J$131);12;31)-365;2)=2);E(GIORNO.SETTIMANA(DATA(ANNO($J$131);12;30);2)=1;GIORNO.SETTIMANA(DATA(ANNO($J$131);12;30)-365;2)=3));CERCA.VERT(DATA(ANNO($J$131);1;1);SV.$F$125:$K$1255;3;0);SE(E(GIORNO.SETTIMANA(DATA(ANNO($J$131);12;31);2)=1;GIORNO.SETTIMANA(DATA(ANNO($J$131);12;31)-365;2)=3);CERCA.VERT(DATA(ANNO($J$131);1;2);SV.$F$125:$K$1255;3;0);INDICE(SV.$N$125:$N$1255;CONFRONTA(DATA(ANNO($J$131);MESE($J$131);GIORNO($J$131))-365;SV.$S$125:$S$1255;0))))

in L137
Codice: Seleziona tutto   Espandi visualeStringi visuale
=SE(O(E(GIORNO.SETTIMANA(DATA(ANNO($J$131);12;31);2)=1;GIORNO.SETTIMANA(DATA(ANNO($J$131);12;31)-365;2)=2);E(GIORNO.SETTIMANA(DATA(ANNO($J$131);12;30);2)=1;GIORNO.SETTIMANA(DATA(ANNO($J$131);12;30)-365;2)=3));CERCA.VERT(DATA(ANNO($J$131);1;1);SV.$F$125:$K$1255;3;0);SE(E(GIORNO.SETTIMANA(DATA(ANNO($J$131);12;31);2)=1;GIORNO.SETTIMANA(DATA(ANNO($J$131);12;31)-365;2)=3);CERCA.VERT(DATA(ANNO($J$131);1;2);SV.$F$125:$K$1255;3;0);INDICE(SV.$Q$125:$Q$1255;CONFRONTA(DATA(ANNO($J$131);MESE($J$131);GIORNO($J$131))-365;SV.$S$125:$S$1255;0))))
Allegati
inserimento dati per confronto - N°1(bis4).1.ods
(139.57 KiB) Scaricato 8 volte
Libreoffice 6 / PcLinuxOS
Libreoffice 5.1 / Ubuntu 16.04 - LinuxMint 18
Avatar utente
gioh66
Volontario
Volontario
 
Messaggi: 379
Iscritto il: lunedì 31 luglio 2017, 14:57

Re: Inserire valori del giorno prima anno corrente e precede

Messaggioda sandro merlino » giovedì 3 maggio 2018, 20:54

Ciao gioh66,
Ci provo e poi ti dico. Gli farò vedere le conversazioni per dimostrargli che è molto difficile senza aggiungere colonne.
Temo però che la risposta sarà negativa e a quel punto sarò nei guai.

Da incompetente mi è venuta un'idea ovviamente maccheronica.
E' possibile fare una formula che fa questi controlli:
1) trova la data con oggi()-1 nell'intervallo F125:F1255
2)confronta le colonne G e M della riga della data con oggi()-1
3)
a)se nella riga della data con oggi()-1 i giorni sono uguali riporta il valore della colonna N della riga della data con oggi()-1 in K126 oppure della colonna Q della riga della data con oggi()-1 in L126 del foglio DM
b)se nella riga della data con oggi()-1 i giorni sono diversi di un giorno (esempio martedì in G e mercoledì in M) riporta il valore della colonna N della riga della data con oggi() in K126 oppure della colonna Q della riga della data con oggi() in L126 del foglio DM
c)se nella riga della data con oggi()-1 i giorni sono diversi di due giorni (esempio lunedi in G e mercoledì in M) riporta il valore della colonna N della riga della data con oggi()+1 in K126 oppure della colonna Q della riga della data con oggi()+1 in L126 del foglio DM

Considerando sempre il discorso che I miei superiori vogliono al 31/12 questo calcolo che secondo me non è veritiero: Esempi

Anno corrente/30 lunedi -anno passato/mercoledì -> nelle celle dell'anno precedente K e L deve essere inserito i dati del 1 gennaio anno corrente

Anno corrente/31 lunedi -anno passato/martedi -> nelle celle dell'anno precedente K e L deve essere inserito i dati del 1 gennaio anno corrente

Anno corrente/31 lunedi -anno passato/mercoledì -> nelle celle dell'anno precedente K e L deve essere inserito i dati del 2 gennaio anno corrente

Non ti preoccupare puoi dirmene di tutti i colori non mi offendo.
Conosco i miei limiti ed è per questo che spero in un aiuto da tutti voi

Grazie 1000

Sandro
openoffice 4.1.1
sandro merlino
 
Messaggi: 408
Iscritto il: giovedì 12 gennaio 2012, 21:33

Re: Inserire valori del giorno prima anno corrente e precede

Messaggioda sandro merlino » venerdì 4 maggio 2018, 19:15

Ciao Gioh66,
Purtroppo come ti avevo detto i capi non vogliono questa soluzione.
Chiarisco che non voglio confondere le idee a nessuno anzi vorrei una soluzione da poter consegnare anche domani. Purtroppo faccio quello che posso e anche voi come sempre mi state dando una grande mano. Purtroppo ancora manca un pochino all'obiettivo.
Vi spiego quello che ho fatto:
Sono tornato indietro e ho ripreso il file che mi sembrava piu corretto perchè nonostante debba fare
sempre i controlli le formule dovrebbero essere corrette tranne quelle relative a 31 dicembre anno corrente e 1 gennaio anno successivo (considerando che devo calcolare un giorno in meno)
Per quanto riguarda queste 2 date che sarebbe il problema piu volte detto:
Considerando sempre il discorso che I miei superiori vogliono al 31/12 questo calcolo che secondo me non è veritiero: Esempi
Anno corrente/30 lunedi -anno passato/mercoledì -> nelle celle dell'anno precedente K e L deve essere inserito i dati del 1 gennaio anno corrente
Anno corrente/31 lunedi -anno passato/martedi -> nelle celle dell'anno precedente K e L deve essere inserito i dati del 1 gennaio anno corrente
Anno corrente/31 lunedi -anno passato/mercoledì -> nelle celle dell'anno precedente K e L deve essere inserito i dati del 2 gennaio anno corrente


ho sviluppato queste due formule (accrocchi per voi) che ho messo in

K127:
=SE(O(E((F1254=30/12/SV.L120);SV.G1254=SV.M1255);SV.N1255;E((F1254=30/12/SV.L120);SV.G1254=SV.G125);SV.H125;E((F1255=31/12/SV.L120);SV.G1255=SV.G125);SV.H125;E((F1255=31/12/SV.L120);SV.G1255=SV.G126);SV.H126))

L127:=SE(O(E((F1254=30/12/SV.L120);SV.G1254=SV.M1255);SV.Q1255;E((F1254=30/12/SV.L120);SV.G1254=SV.G125);SV.K125;E((F1255=31/12/SV.L120);SV.G1255=SV.K125);SV.K125;E((F1255=31/12/SV.L120);SV.G1255=SV.G126);SV.K126))

che secondo me potrebbero unite a quelle in K126 e L126 risolvere il problema dei due giorni detti precedentemente

Ho provato ad unirle nelle celle K128 e L128 ma con scarso risultato

Spero che tu o altri mi possa dare una mano perchè capisco che ti sei rotto ampiamnte

Allego il file

Grazie 1000

Sandro
Allegati
inserimento dati per confronto - N°1(bis2).1.ods
(135.16 KiB) Scaricato 9 volte
openoffice 4.1.1
sandro merlino
 
Messaggi: 408
Iscritto il: giovedì 12 gennaio 2012, 21:33

Re: Inserire valori del giorno prima anno corrente e precede

Messaggioda sandro merlino » domenica 6 maggio 2018, 13:25

Ciao gioh66,
Mi sono accorto che le formule che avevo inserito ne file nel foglio DM in K127 e L127 erano sbagliate quindi le ho corrette
Ora dovrevbbero funzionare e riguardano i giorni 30-31/12 e considerano il caso che i giorni delle colonne G e M siano
uguali, con uno slittamento di un giorno (es:lunedi-martedi etc),con uno slittamento di due giorni (es:lunedi-mercoledi etc).
Nel foglio DM in K128 e L128 ho unito le mie formule con quelle tue.
Considerando che quelle tue avevamo notato che avevano il problema di restituire #N/D nel caso il confronto dovesse eccedere l'anno per i giorni 30-31/12
ho inserito la mia formula prima in modo che a quelle date non ci arrivase.
Ora vorrei che, che se ancora vuoi, mi aiutassi a rivedere il tutto e a fare arrivare la formula fino al 29/12 perchè per 30-31/12 le ho fatte io
Nel foglio DM in J131 c'è una data che mi serve per fare i controlli in K128 e L128. Come posso sostituirla nella formula finale se funziona ?
Mettere la mia formula alla fine della tua.

Scusate se sono pressante ma sto arrancando per arrivare alla fine

Allego il file

Grazie 1000

Sandro
Allegati
inserimento dati per confronto - N°1(bis2).1.ods
(135.36 KiB) Scaricato 8 volte
openoffice 4.1.1
sandro merlino
 
Messaggi: 408
Iscritto il: giovedì 12 gennaio 2012, 21:33

Re: Inserire valori del giorno prima anno corrente e precede

Messaggioda gioh66 » martedì 8 maggio 2018, 22:55

Ho ripreso in mano il file per fare le formule basandomi solo sulla colonna F, per la ricerca e durante le varie prove mi sono accorto che le condizioni
Codice: Seleziona tutto   Espandi visualeStringi visuale
Anno corrente/30 lunedi -anno passato/mercoledì -> nelle celle dell'anno precedente K e L deve essere inserito i dati del 1 gennaio anno corrente
Anno corrente/31 lunedi -anno passato/martedi -> nelle celle dell'anno precedente K e L deve essere inserito i dati del 1 gennaio anno corrente
Anno corrente/31 lunedi -anno passato/mercoledì -> nelle celle dell'anno precedente K e L deve essere inserito i dati del 2 gennaio anno corrente

non sono realistiche.
Se guardi un calendario ti accorgi che se il 31 dicembre cade di lunedì, l'anno precedente sarà o domenica o sabato, a seconda degli anni bisestili, e mai un giorno successivo.
Detto la formula in k126 diventa così
Codice: Seleziona tutto   Espandi visualeStringi visuale
=SE(O(E(ANNO.BISESTILE(OGGI()-365);OGGI()<DATA(ANNO(OGGI());3;1));E(ANNO.BISESTILE(OGGI());OGGI()>=DATA(ANNO(OGGI());3;1)));CERCA.VERT(OGGI()+1;SV.F225:Q1255;9;0);CERCA.VERT(OGGI();SV.F225:Q1255;9;0))

e in L126
Codice: Seleziona tutto   Espandi visualeStringi visuale
=SE(O(E(ANNO.BISESTILE(OGGI()-365);OGGI()<DATA(ANNO(OGGI());3;1));E(ANNO.BISESTILE(OGGI());OGGI()>=DATA(ANNO(OGGI());3;1)));CERCA.VERT(OGGI()+1;SV.F225:Q1255;12;0);CERCA.VERT(OGGI();SV.F225:Q1255;12;0))

Quello che mi manca è invece il confronto con il primo giorno dell'anno, cioè se lo devi confrontare con il 31 dicembre dell'anno precedente, questa data poi con cosa la confronti? Secondo il tuo foglio la data prima del 1/1/18 è il 31/12/17 e andrebbe confrontato con il corrispondente giorno della settimana dell'anno prima (2016), ma dove prendi il dato?
Ps.: un'altra cosa che ti faccio notare è che con la struttura del tuo file, se l'anno corrente è bisestile hai uno slittamento del giorno della settimana di una posizione fino al 29/2 e di due posizioni successivamente, fino al 28/2 dell'anno successivo, dopo tale data lo slittamento torna di una riga fino 29/2 del prossimo anno bisestile.
Allegati
inserimento dati per confronto - N°1(bis5).1.ods
(134.56 KiB) Scaricato 6 volte
Libreoffice 6 / PcLinuxOS
Libreoffice 5.1 / Ubuntu 16.04 - LinuxMint 18
Avatar utente
gioh66
Volontario
Volontario
 
Messaggi: 379
Iscritto il: lunedì 31 luglio 2017, 14:57

Re: Inserire valori del giorno prima anno corrente e precede

Messaggioda sandro merlino » mercoledì 9 maggio 2018, 10:07

Ciao gioh66,
Tu dici:
Ho ripreso in mano il file per fare le formule basandomi solo sulla colonna F, per la ricerca e durante le varie prove mi sono accorto che le condizioni
Anno corrente/30 lunedi -anno passato/mercoledì -> nelle celle dell'anno precedente K e L deve essere inserito i dati del 1 gennaio anno corrente
Anno corrente/31 lunedi -anno passato/martedi -> nelle celle dell'anno precedente K e L deve essere inserito i dati del 1 gennaio anno corrente
Anno corrente/31 lunedi -anno passato/mercoledì -> nelle celle dell'anno precedente K e L deve essere inserito i dati del 2 gennaio anno corrente

Questo è quello che deve fare il calcolo alla fine dell'anno

Tu dici:
non sono realistiche.
Se guardi un calendario ti accorgi che se il 31 dicembre cade di lunedì, l'anno precedente sarà o domenica o sabato, a seconda degli anni bisestili, e mai un giorno successivo.
Detto la formula in k126 diventa così


Se guardi il calendario i giorni dell'anno corrente possono corrispondere allo stesso giorno (es domenica-domenica), ad un giorno dopo (es domenica-lunedi) a due giorni dopo (domenica-martedi). E' per questo che se guardi il giorno 29/12 di qualunque anno non avrai mai problemi per il confronto con l'anno precedente. I problemi sorgono quando come detto prima
Anno corrente/30 lunedi -anno passato/mercoledì -> nelle celle dell'anno precedente K e L deve essere inserito i dati del 1 gennaio anno corrente . Capisco che potrebbe sembrare strano ma la settimana è fatta in questo modo (es 31/12/2017 domenica -1/1/2018 lunedi) quindi per il calcolo passeremo a H125 e K125. Se è lo stesso giorno oppure lo scarto è di un giorno si trovano i dati sempre nello stesso anno
Stesso concetto per il 31/12 anno corrente

Per chiarimenti fammi sapere

Tu dici:
Quello che mi manca è invece il confronto con il primo giorno dell'anno, cioè se lo devi confrontare con il 31 dicembre dell'anno precedente, questa data poi con cosa la confronti? Secondo il tuo foglio la data prima del 1/1/18 è il 31/12/17 e andrebbe confrontato con il corrispondente giorno della settimana dell'anno prima (2016), ma dove prendi il dato?

Questo non lo devo mai fare. Forse non mi ero spiegato bene in precedenza. Si parte con i confronti dal 1/1/ corrente anno con i valori dell'anno precedente stesso giorno (come ho detto prima possono essere: stessa riga, riga sotto, 2 righe sotto) fino ad arrivare al 30/12 dove ci sono le problematiche dette sopra

Tu dici:
Ps.: un'altra cosa che ti faccio notare è che con la struttura del tuo file, se l'anno corrente è bisestile hai uno slittamento del giorno della settimana di una posizione fino al 29/2 e di due posizioni successivamente, fino al 28/2 dell'anno successivo, dopo tale data lo slittamento torna di una riga fino 29/2 del prossimo anno bisestile.


Per questo i capi non mi hanno mai detto niente. Vogliono il confronto giorno del mese (colonna F)e corrispondente (stesso giorno settimana anno corrente e precedente colonne G e M)

Non allego file perchè usiamo lo stesso

Grazie 1000

Sandro
openoffice 4.1.1
sandro merlino
 
Messaggi: 408
Iscritto il: giovedì 12 gennaio 2012, 21:33

Re: Inserire valori del giorno prima anno corrente e precede

Messaggioda unlucky83 » mercoledì 9 maggio 2018, 11:55

Provo ad inserirmi
Allego file in cui ho aggiunto il foglio3 per capire bene quali date dell'anno corrente devono corrispondere a quelle dell'anno passato.
Forse faccio un ragionamento troppo semplice io, ma invece di partire dalla data attuale e andare indietro di 365 per poi aggiungere uno o due giorni tenendo conto dell'anno bisestile, non si può direttamente partire dalla data attuale e sottrarre 364 giorni (52*7=364)? Mi sembra che le corrispondenze tra i due anni così siano quelle volute.
Per condurre prove sul foglio3, basta modificare gli anni delle due celle evidenziate. In alto ho messo una tabella di sintesi per le corrispondenze del primo e dell'ultimo dell'anno, mentre in basso il calendario completo.
Se fosse corretto ciò che penso, credo che le formule del foglio2 siano facili da modificare.
Spero di essere stato utile.
Allegati
inserimento dati per confronto - 364.ods
(177.1 KiB) Scaricato 6 volte
LibO5.1.6.2-Ubuntu 16.04.2 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio
Avatar utente
unlucky83
Volontario
Volontario
 
Messaggi: 1756
Iscritto il: lunedì 7 gennaio 2013, 2:23
Località: Latina

Re: Inserire valori del giorno prima anno corrente e precede

Messaggioda sandro merlino » mercoledì 9 maggio 2018, 13:16

Ciao unlucky83
Non ho capito il ragionamento che hai fatto per arrivare a questo risultato ma non mi importa.
Super complimenti per quello che hai fatto. Mi si intrecciavano gli occhi solo a leggerlo, figurati a farlo. Hai capito al 99,99% quello che i capi volgliono
Ho verificato 3 anni a confronto e mi sembravano corretti.
Faccio alcune precisazioni:

Se l'anno in C18 è 2016 va bene che la colonna A arrivi a giorni 366 perchè noi vogliamo controllare l'anno corrente e l'anno corrente è di 366 giorni

Se l'anno in C18 è 2017 non va bene che la colonna A arrivi a giorni 366 perchè a noi non interessa che l'anno precedente sia bisestile. Deve arrivare a 365 giorni.
Se il calcolo fosse susseguente come noi vogliamo in dove vedo 366 dovrebbe esserci il calcolo relativo al 1/1/2018 che mi perderei

Mi sembra che tu abbia capito che se considero l'anno corrente come es il 2018 e sono a fine anno 31 lunedi e il lunedi che devo considerare per l'anno precedente è il 1/1/2018
Puo capitare anche per il 30/12 in altri confronti

Mi scriveresti per cortesia le formule finali nel foglio DM in H126, I126, K126, L126
Non vorrei fare danni.
Non vedo l'ora di consegnarlo

Grazie 1000
Sandro
openoffice 4.1.1
sandro merlino
 
Messaggi: 408
Iscritto il: giovedì 12 gennaio 2012, 21:33

Re: Inserire valori del giorno prima anno corrente e precede

Messaggioda unlucky83 » mercoledì 9 maggio 2018, 13:51

sandro merlino ha scritto:Ciao unlucky83
Non ho capito il ragionamento che hai fatto per arrivare a questo risultato ma non mi importa.

Vado indietro sottraendo 364 giorni. Vedi celle E3 e F20 del foglio che ho aggiunto.
Faccio alcune precisazioni:
Se l'anno in C18 è 2016 va bene che la colonna A arrivi a giorni 366 perchè noi vogliamo controllare l'anno corrente e l'anno corrente è di 366 giorni
Se l'anno in C18 è 2017 non va bene che la colonna A arrivi a giorni 366 perchè a noi non interessa che l'anno precedente sia bisestile. Deve arrivare a 365 giorni.
Se il calcolo fosse susseguente come noi vogliamo in dove vedo 366 dovrebbe esserci il calcolo relativo al 1/1/2018 che mi perderei

E' un elenco di esempio, tu non vuoi una colonna con tutte le date dell'anno, quindi che sia di 365, 366 o 4000 giorni non ti interessa.
Mi scriveresti per cortesia le formule finali nel foglio DM in H126, I126, K126, L126
Non vorrei fare danni.
Non vedo l'ora di consegnarlo

Le formule del secondo foglio in H126 e in I126 sono già corrette. Le riporto a titolo informativo e per capire meglio come modificarle per ottenere le formule delle altre due celle.
In H126
Codice: Seleziona tutto   Espandi visualeStringi visuale
=INDICE($SV.$H$125:$H$1256;CONFRONTA(OGGI()-1;$SV.$F$125:$F$1256;0))

In I126
Codice: Seleziona tutto   Espandi visualeStringi visuale
=INDICE($SV.$K$125:$K$1256;CONFRONTA(OGGI()-1;$SV.$F$125:$F$1256;0))

In K126 va:
Codice: Seleziona tutto   Espandi visualeStringi visuale
=SE(ANNO(OGGI()-1)=ANNO(OGGI()-1-364);
INDICE($SV.$H$125:$H$1256;CONFRONTA(Data(ANNO(OGGI()-1);MESE(OGGI()-1-364);Giorno(OGGI()-1-364));$SV.$F$125:$F$1256;0));
INDICE($SV.$N$125:$N$1256;CONFRONTA(Data(ANNO(OGGI()-1);MESE(OGGI()-1-364);Giorno(OGGI()-1-364));$SV.$F$125:$F$1256;0))
)

In L126 va:
Codice: Seleziona tutto   Espandi visualeStringi visuale
=SE(ANNO(OGGI()-1)=ANNO(OGGI()-1-364);
INDICE($SV.$K$125:$K$1256;CONFRONTA(Data(ANNO(OGGI()-1);MESE(OGGI()-1-364);Giorno(OGGI()-1-364));$SV.$F$125:$F$1256;0));
INDICE($SV.$Q$125:$Q$1256;CONFRONTA(Data(ANNO(OGGI()-1);MESE(OGGI()-1-364);Giorno(OGGI()-1-364));$SV.$F$125:$F$1256;0))
)

Allego file con formule modificate in foglio2. Come piace a te, testale cambiando la data del sistema operativo :)
Allegati
inserimento dati per confronto - 364.ods
(176.57 KiB) Scaricato 9 volte
LibO5.1.6.2-Ubuntu 16.04.2 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio
Avatar utente
unlucky83
Volontario
Volontario
 
Messaggi: 1756
Iscritto il: lunedì 7 gennaio 2013, 2:23
Località: Latina

Re: Inserire valori del giorno prima anno corrente e precede

Messaggioda sandro merlino » martedì 15 maggio 2018, 13:32

Ciao unlucky83,
Scusa il ritardo ma mi hanno dirottato su altri progetti di calcolo.
Devo sempre iniziare a fare I controlli
Conto di concludere la cosa al piu presto e mettere risolto al piu presto

Grazie 1000

Sandro
openoffice 4.1.1
sandro merlino
 
Messaggi: 408
Iscritto il: giovedì 12 gennaio 2012, 21:33

Precedente

Torna a Calc

Chi c’è in linea

Visitano il forum: Google [Bot], Rare e 10 ospiti