Discussione:
Calcolare i giorni mese per mese tra due date
(troppo vecchio per rispondere)
Marcello Vulcano
2019-01-30 11:26:47 UTC
Permalink
Buongiorno e buon tutto!
Cercando ho trovato questo argomento
- Calcolare i giorni di un mese tra due date di mesi diversi (del 10.02.2017)-
e se possibile, ringraziando in anticipo, desidererei tentare la soluzione per un'estensione del problema già esposto:

i miei dati sono organizzati in egual modo ovvero
_data.inizio (col.A)
_data.fine (col.B)
Sono tutti periodi variabili: da pochi giorni 4 o 5 a numerosi giorni 180 o 200.


Inserendo degli esempi vorrei ottenere questo tipo di risultato:
(_data.inizio) 15/09/2018 (_data.fine) 22/09/2018
risultato atteso 09/2018 8gg

(_data.inizio) 22/09/2018 (_data.fine) 21/10/2018
risultato atteso 09/2018 9gg
................................... 10/2018 21gg

(_data.inizio) 02/11/2018 (_data.fine) 21/01/2019
risultato atteso 11/2018 29gg
................................... 12/2018 31gg
................................... 01/2019 21gg

e così via...
dividere, ovvero, i periodi relativi a mese/i incluso/i.

Ho approssimativamente provato a risolvere utilizzando solo formule ma non son riuscito del tutto.

Come adattare le soluzioni? Quali ulteriori soluzioni?

Grazie, in ogni caso!
Buon tutto a tutti!
Marcello
b***@gmail.com
2019-01-30 15:48:17 UTC
Permalink
Post by Marcello Vulcano
Buongiorno e buon tutto!
Cercando ho trovato questo argomento
- Calcolare i giorni di un mese tra due date di mesi diversi (del 10.02.2017)-
i miei dati sono organizzati in egual modo ovvero
_data.inizio (col.A)
_data.fine (col.B)
Sono tutti periodi variabili: da pochi giorni 4 o 5 a numerosi giorni 180 o 200.
(_data.inizio) 15/09/2018 (_data.fine) 22/09/2018
risultato atteso 09/2018 8gg
(_data.inizio) 22/09/2018 (_data.fine) 21/10/2018
risultato atteso 09/2018 9gg
................................... 10/2018 21gg
(_data.inizio) 02/11/2018 (_data.fine) 21/01/2019
risultato atteso 11/2018 29gg
................................... 12/2018 31gg
................................... 01/2019 21gg
e così via...
dividere, ovvero, i periodi relativi a mese/i incluso/i.
Ho approssimativamente provato a risolvere utilizzando solo formule ma non son riuscito del tutto.
Come adattare le soluzioni? Quali ulteriori soluzioni?
Grazie, in ogni caso!
Buon tutto a tutti!
Marcello
Da A2:B4 i tuoi dati (lascio la prima riga vuota per eventuale riga di controllo come sarà chiaro alla fine)

In C2:
=SE(DATA(ANNO(A2);MESE(A2);1)=DATA(ANNO(B2);MESE(B2);1);GIORNI(B2;A2)+1;GIORNI(DATA(ANNO(A2);MESE(A2)+1;0);A2)+1)
da copiare sulla stessa colonna fino in fondo alla fine dei dati

In D2:
SE(DATA(ANNO($A2);MESE($A2);1)=DATA(ANNO($B2);MESE($B2);1);"";SE(DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0)<=$B2;GIORNO(DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0));SE(DATA(ANNO($B2);MESE($B2)+1;0)=DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0);GIORNO($B2);0)))

da copiare sulla stessa colonna fino in fondo alla fine dei dati

Selezionare le celle utilizzate sulla colonna D e copiarle sulle colonne sulla destra fino a quando non compariranno tutti zero
Puoi usare la prima riga per testare per ogni colonna se la somma dei dati (giorni fa zero) immaginando che nell'applicazione reale potresti avere anche miglia di righe

Comunque non mi pare che quello che si ottiene ( che è quello che chiedi ) sia un gran risultato perché i dati di ogni singola riga non sono allineati, nel senso del mese, con quelli delle altre righe. Metterei come intestazioni di colonne mesi fissi del calendario ( l'intervallo poi lo scegli tu ) con formule quanti giorni di quel mese entrano nell'intervallo tra data inizio e data fine
Non essendo chiaro a cosa ti servono i risultati delle formule è anche difficile suggerirti quale struttura è più confacente alle tue necessità
Ciao
Elio
Marcello Vulcano
2019-01-30 16:46:52 UTC
Permalink
Post by b***@gmail.com
Post by Marcello Vulcano
Buongiorno e buon tutto!
Cercando ho trovato questo argomento
- Calcolare i giorni di un mese tra due date di mesi diversi (del 10.02.2017)-
i miei dati sono organizzati in egual modo ovvero
_data.inizio (col.A)
_data.fine (col.B)
Sono tutti periodi variabili: da pochi giorni 4 o 5 a numerosi giorni 180 o 200.
(_data.inizio) 15/09/2018 (_data.fine) 22/09/2018
risultato atteso 09/2018 8gg
(_data.inizio) 22/09/2018 (_data.fine) 21/10/2018
risultato atteso 09/2018 9gg
................................... 10/2018 21gg
(_data.inizio) 02/11/2018 (_data.fine) 21/01/2019
risultato atteso 11/2018 29gg
................................... 12/2018 31gg
................................... 01/2019 21gg
e così via...
dividere, ovvero, i periodi relativi a mese/i incluso/i.
Ho approssimativamente provato a risolvere utilizzando solo formule ma non son riuscito del tutto.
Come adattare le soluzioni? Quali ulteriori soluzioni?
Grazie, in ogni caso!
Buon tutto a tutti!
Marcello
Da A2:B4 i tuoi dati (lascio la prima riga vuota per eventuale riga di controllo come sarà chiaro alla fine)
=SE(DATA(ANNO(A2);MESE(A2);1)=DATA(ANNO(B2);MESE(B2);1);GIORNI(B2;A2)+1;GIORNI(DATA(ANNO(A2);MESE(A2)+1;0);A2)+1)
da copiare sulla stessa colonna fino in fondo alla fine dei dati
SE(DATA(ANNO($A2);MESE($A2);1)=DATA(ANNO($B2);MESE($B2);1);"";SE(DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0)<=$B2;GIORNO(DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0));SE(DATA(ANNO($B2);MESE($B2)+1;0)=DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0);GIORNO($B2);0)))
da copiare sulla stessa colonna fino in fondo alla fine dei dati
Selezionare le celle utilizzate sulla colonna D e copiarle sulle colonne sulla destra fino a quando non compariranno tutti zero
Puoi usare la prima riga per testare per ogni colonna se la somma dei dati (giorni fa zero) immaginando che nell'applicazione reale potresti avere anche miglia di righe
Comunque non mi pare che quello che si ottiene ( che è quello che chiedi ) sia un gran risultato perché i dati di ogni singola riga non sono allineati, nel senso del mese, con quelli delle altre righe. Metterei come intestazioni di colonne mesi fissi del calendario ( l'intervallo poi lo scegli tu ) con formule quanti giorni di quel mese entrano nell'intervallo tra data inizio e data fine
Non essendo chiaro a cosa ti servono i risultati delle formule è anche difficile suggerirti quale struttura è più confacente alle tue necessità
Ciao
Elio
Grazie!!!!
Mi metto subito all'opera e provo la soluzione.

I risultati così ottenuti dai periodi forniti mi servono per molti usi:
rielaborare i giorni di attività secondo i mesi dell'anno
ricalcolare l'incidenza di spesa mese per mese per i giorni reali di utilizzo di qualunque utenza...
tutti calcoli che facevo a mente finché non mi son trovato davanti alla difficoltà di circa una cinquantina di periodi che devo essere frazionati.

Ci aggiorniamo sugli sviluppi.
Grazie!
Buon tutto...
Marcello Vulcano
2019-01-30 16:53:08 UTC
Permalink
Post by Marcello Vulcano
Post by b***@gmail.com
Post by Marcello Vulcano
Buongiorno e buon tutto!
Cercando ho trovato questo argomento
- Calcolare i giorni di un mese tra due date di mesi diversi (del 10.02.2017)-
i miei dati sono organizzati in egual modo ovvero
_data.inizio (col.A)
_data.fine (col.B)
Sono tutti periodi variabili: da pochi giorni 4 o 5 a numerosi giorni 180 o 200.
(_data.inizio) 15/09/2018 (_data.fine) 22/09/2018
risultato atteso 09/2018 8gg
(_data.inizio) 22/09/2018 (_data.fine) 21/10/2018
risultato atteso 09/2018 9gg
................................... 10/2018 21gg
(_data.inizio) 02/11/2018 (_data.fine) 21/01/2019
risultato atteso 11/2018 29gg
................................... 12/2018 31gg
................................... 01/2019 21gg
e così via...
dividere, ovvero, i periodi relativi a mese/i incluso/i.
Ho approssimativamente provato a risolvere utilizzando solo formule ma non son riuscito del tutto.
Come adattare le soluzioni? Quali ulteriori soluzioni?
Grazie, in ogni caso!
Buon tutto a tutti!
Marcello
Da A2:B4 i tuoi dati (lascio la prima riga vuota per eventuale riga di controllo come sarà chiaro alla fine)
=SE(DATA(ANNO(A2);MESE(A2);1)=DATA(ANNO(B2);MESE(B2);1);GIORNI(B2;A2)+1;GIORNI(DATA(ANNO(A2);MESE(A2)+1;0);A2)+1)
da copiare sulla stessa colonna fino in fondo alla fine dei dati
SE(DATA(ANNO($A2);MESE($A2);1)=DATA(ANNO($B2);MESE($B2);1);"";SE(DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0)<=$B2;GIORNO(DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0));SE(DATA(ANNO($B2);MESE($B2)+1;0)=DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0);GIORNO($B2);0)))
da copiare sulla stessa colonna fino in fondo alla fine dei dati
Selezionare le celle utilizzate sulla colonna D e copiarle sulle colonne sulla destra fino a quando non compariranno tutti zero
Puoi usare la prima riga per testare per ogni colonna se la somma dei dati (giorni fa zero) immaginando che nell'applicazione reale potresti avere anche miglia di righe
Comunque non mi pare che quello che si ottiene ( che è quello che chiedi ) sia un gran risultato perché i dati di ogni singola riga non sono allineati, nel senso del mese, con quelli delle altre righe. Metterei come intestazioni di colonne mesi fissi del calendario ( l'intervallo poi lo scegli tu ) con formule quanti giorni di quel mese entrano nell'intervallo tra data inizio e data fine
Non essendo chiaro a cosa ti servono i risultati delle formule è anche difficile suggerirti quale struttura è più confacente alle tue necessità
Ciao
Elio
Grazie!!!!
Mi metto subito all'opera e provo la soluzione.
rielaborare i giorni di attività secondo i mesi dell'anno
ricalcolare l'incidenza di spesa mese per mese per i giorni reali di utilizzo di qualunque utenza...
tutti calcoli che facevo a mente finché non mi son trovato davanti alla difficoltà di circa una cinquantina di periodi che devo essere frazionati.
Ci aggiorniamo sugli sviluppi.
Grazie!
Buon tutto...
errata corridge
*devono essere frazionati.
Marcello Vulcano
2019-01-30 17:57:25 UTC
Permalink
Post by b***@gmail.com
Post by Marcello Vulcano
Buongiorno e buon tutto!
Cercando ho trovato questo argomento
- Calcolare i giorni di un mese tra due date di mesi diversi (del 10.02.2017)-
i miei dati sono organizzati in egual modo ovvero
_data.inizio (col.A)
_data.fine (col.B)
Sono tutti periodi variabili: da pochi giorni 4 o 5 a numerosi giorni 180 o 200.
(_data.inizio) 15/09/2018 (_data.fine) 22/09/2018
risultato atteso 09/2018 8gg
(_data.inizio) 22/09/2018 (_data.fine) 21/10/2018
risultato atteso 09/2018 9gg
................................... 10/2018 21gg
(_data.inizio) 02/11/2018 (_data.fine) 21/01/2019
risultato atteso 11/2018 29gg
................................... 12/2018 31gg
................................... 01/2019 21gg
e così via...
dividere, ovvero, i periodi relativi a mese/i incluso/i.
Ho approssimativamente provato a risolvere utilizzando solo formule ma non son riuscito del tutto.
Come adattare le soluzioni? Quali ulteriori soluzioni?
Grazie, in ogni caso!
Buon tutto a tutti!
Marcello
Da A2:B4 i tuoi dati (lascio la prima riga vuota per eventuale riga di controllo come sarà chiaro alla fine)
=SE(DATA(ANNO(A2);MESE(A2);1)=DATA(ANNO(B2);MESE(B2);1);GIORNI(B2;A2)+1;GIORNI(DATA(ANNO(A2);MESE(A2)+1;0);A2)+1)
da copiare sulla stessa colonna fino in fondo alla fine dei dati
SE(DATA(ANNO($A2);MESE($A2);1)=DATA(ANNO($B2);MESE($B2);1);"";SE(DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0)<=$B2;GIORNO(DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0));SE(DATA(ANNO($B2);MESE($B2)+1;0)=DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0);GIORNO($B2);0)))
da copiare sulla stessa colonna fino in fondo alla fine dei dati
Selezionare le celle utilizzate sulla colonna D e copiarle sulle colonne sulla destra fino a quando non compariranno tutti zero
Puoi usare la prima riga per testare per ogni colonna se la somma dei dati (giorni fa zero) immaginando che nell'applicazione reale potresti avere anche miglia di righe
Comunque non mi pare che quello che si ottiene ( che è quello che chiedi ) sia un gran risultato perché i dati di ogni singola riga non sono allineati, nel senso del mese, con quelli delle altre righe. Metterei come intestazioni di colonne mesi fissi del calendario ( l'intervallo poi lo scegli tu ) con formule quanti giorni di quel mese entrano nell'intervallo tra data inizio e data fine
Non essendo chiaro a cosa ti servono i risultati delle formule è anche difficile suggerirti quale struttura è più confacente alle tue necessità
Ciao
Elio
Rieccomi,
Elio innanzitutto grazie ancora.
Sì il risultato si avvicina a quanto sperato...
In effetti manca la parte che tu hai messo in evidenza ovvero l'associazione al mese specifico per poter operare calcoli tra le varie frazioni ottenute con questo tipo di risultato come racchiuso tra <<>>:
(_data.inizio) 15/09/2018 (_data.fine) 22/09/2018
risultato atteso <<09/2018 8gg>>

(_data.inizio) 22/09/2018 (_data.fine) 21/10/2018
risultato atteso <<09/2018 9gg>>
................................... <<10/2018 21gg>>

(_data.inizio) 02/11/2018 (_data.fine) 21/01/2019
risultato atteso <<11/2018 29gg>>
................................... <<12/2018 31gg>>
................................... <<01/2019 21gg>>

e così via...
dividere, ovvero, i periodi relativi a mese/i incluso/i.

Per ora comunque il risultato del frazionamento è ok.
A presto, grazie!
Marcello Vulcano
2019-01-30 18:05:41 UTC
Permalink
Post by Marcello Vulcano
Post by b***@gmail.com
Post by Marcello Vulcano
Buongiorno e buon tutto!
Cercando ho trovato questo argomento
- Calcolare i giorni di un mese tra due date di mesi diversi (del 10.02.2017)-
i miei dati sono organizzati in egual modo ovvero
_data.inizio (col.A)
_data.fine (col.B)
Sono tutti periodi variabili: da pochi giorni 4 o 5 a numerosi giorni 180 o 200.
(_data.inizio) 15/09/2018 (_data.fine) 22/09/2018
risultato atteso 09/2018 8gg
(_data.inizio) 22/09/2018 (_data.fine) 21/10/2018
risultato atteso 09/2018 9gg
................................... 10/2018 21gg
(_data.inizio) 02/11/2018 (_data.fine) 21/01/2019
risultato atteso 11/2018 29gg
................................... 12/2018 31gg
................................... 01/2019 21gg
e così via...
dividere, ovvero, i periodi relativi a mese/i incluso/i.
Ho approssimativamente provato a risolvere utilizzando solo formule ma non son riuscito del tutto.
Come adattare le soluzioni? Quali ulteriori soluzioni?
Grazie, in ogni caso!
Buon tutto a tutti!
Marcello
Da A2:B4 i tuoi dati (lascio la prima riga vuota per eventuale riga di controllo come sarà chiaro alla fine)
=SE(DATA(ANNO(A2);MESE(A2);1)=DATA(ANNO(B2);MESE(B2);1);GIORNI(B2;A2)+1;GIORNI(DATA(ANNO(A2);MESE(A2)+1;0);A2)+1)
da copiare sulla stessa colonna fino in fondo alla fine dei dati
SE(DATA(ANNO($A2);MESE($A2);1)=DATA(ANNO($B2);MESE($B2);1);"";SE(DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0)<=$B2;GIORNO(DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0));SE(DATA(ANNO($B2);MESE($B2)+1;0)=DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0);GIORNO($B2);0)))
da copiare sulla stessa colonna fino in fondo alla fine dei dati
Selezionare le celle utilizzate sulla colonna D e copiarle sulle colonne sulla destra fino a quando non compariranno tutti zero
Puoi usare la prima riga per testare per ogni colonna se la somma dei dati (giorni fa zero) immaginando che nell'applicazione reale potresti avere anche miglia di righe
Comunque non mi pare che quello che si ottiene ( che è quello che chiedi ) sia un gran risultato perché i dati di ogni singola riga non sono allineati, nel senso del mese, con quelli delle altre righe. Metterei come intestazioni di colonne mesi fissi del calendario ( l'intervallo poi lo scegli tu ) con formule quanti giorni di quel mese entrano nell'intervallo tra data inizio e data fine
Non essendo chiaro a cosa ti servono i risultati delle formule è anche difficile suggerirti quale struttura è più confacente alle tue necessità
Ciao
Elio
Rieccomi,
Elio innanzitutto grazie ancora.
Sì il risultato si avvicina a quanto sperato...
(_data.inizio) 15/09/2018 (_data.fine) 22/09/2018
risultato atteso <<09/2018 8gg>>
(_data.inizio) 22/09/2018 (_data.fine) 21/10/2018
risultato atteso <<09/2018 9gg>>
................................... <<10/2018 21gg>>
(_data.inizio) 02/11/2018 (_data.fine) 21/01/2019
risultato atteso <<11/2018 29gg>>
................................... <<12/2018 31gg>>
................................... <<01/2019 21gg>>
e così via...
dividere, ovvero, i periodi relativi a mese/i incluso/i.
Per ora comunque il risultato del frazionamento è ok.
A presto, grazie!
[...Metterei come intestazioni di colonne mesi fissi del calendario ( l'intervallo poi lo scegli tu ) con formule quanti giorni di quel mese entrano nell'intervallo tra data inizio e data fine ...]
Aggiungo che nel foglio, usato per i calcoli da sviluppare, le intestazioni sono così organizzate:

r.2 -> inizio.mese
r.3 -> fine.mese

per tutti i mesi a partire dal gennaio 2010 ad oggi: attualmente sono circa 110 colonne con le intestazioni descritte.
b***@gmail.com
2019-01-31 14:02:49 UTC
Permalink
Post by Marcello Vulcano
Post by Marcello Vulcano
Post by b***@gmail.com
Post by Marcello Vulcano
Buongiorno e buon tutto!
Cercando ho trovato questo argomento
- Calcolare i giorni di un mese tra due date di mesi diversi (del 10.02.2017)-
i miei dati sono organizzati in egual modo ovvero
_data.inizio (col.A)
_data.fine (col.B)
Sono tutti periodi variabili: da pochi giorni 4 o 5 a numerosi giorni 180 o 200.
(_data.inizio) 15/09/2018 (_data.fine) 22/09/2018
risultato atteso 09/2018 8gg
(_data.inizio) 22/09/2018 (_data.fine) 21/10/2018
risultato atteso 09/2018 9gg
................................... 10/2018 21gg
(_data.inizio) 02/11/2018 (_data.fine) 21/01/2019
risultato atteso 11/2018 29gg
................................... 12/2018 31gg
................................... 01/2019 21gg
e così via...
dividere, ovvero, i periodi relativi a mese/i incluso/i.
Ho approssimativamente provato a risolvere utilizzando solo formule ma non son riuscito del tutto.
Come adattare le soluzioni? Quali ulteriori soluzioni?
Grazie, in ogni caso!
Buon tutto a tutti!
Marcello
Da A2:B4 i tuoi dati (lascio la prima riga vuota per eventuale riga di controllo come sarà chiaro alla fine)
=SE(DATA(ANNO(A2);MESE(A2);1)=DATA(ANNO(B2);MESE(B2);1);GIORNI(B2;A2)+1;GIORNI(DATA(ANNO(A2);MESE(A2)+1;0);A2)+1)
da copiare sulla stessa colonna fino in fondo alla fine dei dati
SE(DATA(ANNO($A2);MESE($A2);1)=DATA(ANNO($B2);MESE($B2);1);"";SE(DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0)<=$B2;GIORNO(DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0));SE(DATA(ANNO($B2);MESE($B2)+1;0)=DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0);GIORNO($B2);0)))
da copiare sulla stessa colonna fino in fondo alla fine dei dati
Selezionare le celle utilizzate sulla colonna D e copiarle sulle colonne sulla destra fino a quando non compariranno tutti zero
Puoi usare la prima riga per testare per ogni colonna se la somma dei dati (giorni fa zero) immaginando che nell'applicazione reale potresti avere anche miglia di righe
Comunque non mi pare che quello che si ottiene ( che è quello che chiedi ) sia un gran risultato perché i dati di ogni singola riga non sono allineati, nel senso del mese, con quelli delle altre righe. Metterei come intestazioni di colonne mesi fissi del calendario ( l'intervallo poi lo scegli tu ) con formule quanti giorni di quel mese entrano nell'intervallo tra data inizio e data fine
Non essendo chiaro a cosa ti servono i risultati delle formule è anche difficile suggerirti quale struttura è più confacente alle tue necessità
Ciao
Elio
Rieccomi,
Elio innanzitutto grazie ancora.
Sì il risultato si avvicina a quanto sperato...
(_data.inizio) 15/09/2018 (_data.fine) 22/09/2018
risultato atteso <<09/2018 8gg>>
(_data.inizio) 22/09/2018 (_data.fine) 21/10/2018
risultato atteso <<09/2018 9gg>>
................................... <<10/2018 21gg>>
(_data.inizio) 02/11/2018 (_data.fine) 21/01/2019
risultato atteso <<11/2018 29gg>>
................................... <<12/2018 31gg>>
................................... <<01/2019 21gg>>
e così via...
dividere, ovvero, i periodi relativi a mese/i incluso/i.
Per ora comunque il risultato del frazionamento è ok.
A presto, grazie!
[...Metterei come intestazioni di colonne mesi fissi del calendario ( l'intervallo poi lo scegli tu ) con formule quanti giorni di quel mese entrano nell'intervallo tra data inizio e data fine ...]
r.2 -> inizio.mese
r.3 -> fine.mese
per tutti i mesi a partire dal gennaio 2010 ad oggi: attualmente sono circa 110 colonne con le intestazioni descritte.
Struttura tabella a campi incrociati con:
2 intestazioni per riga corrispondenti a data inizio e data fine ( Da D4:E4 a seguire in basso

2 intestazioni per colonna corrispondenti a data inizio e data fine per ogni mese ( Da F2:F3 a seguire verso destra)
In F4 la formula:
=SE(O(F$2>$E4;$D4>F$3);0;SE(E($D4>=F$2;F$3>=$E4);GIORNI($E4;$D4)+1;SE(E($D4<F$2;$E4>F$3);GIORNI(F$3;F$2)+1;SE($E4>=F$3;GIORNI(F$3;$D4)+1;GIORNI($E4;F$2)+1))))
da copiare sia verticalmente che orizzontalmente

Nel file (indirizzo in fondo al messaggio):
in E1 la data di inizio mese del mese precedente al calendario tabellato e le intestazioni di colonna con formule da trascinare verso destra per l'intero intervallo desiderato
In colonna A e B (nascoste con raggruppamento sicché con il pulsante + possono essere rese visibili) formule di controllo.
In C2 e C3 i warnings con le'faccine' grazie a caratteri windgins ( carattere L per faccina triste e carattere J per faccina allegra) e formattazione condizionale a rosso per faccina triste e formattazione statica a verde; nelle stesse celle i commenti per la tipologia di errore monitorato; in D2 e D3 la descrizione di riga di errore. Il check del secondo errore è esteso staticamente per una lunghezza di calendario di 180 mesi

Come puoi vedere cambiando la struttura di base le formule sono molto diverse da quelle dell'intervento precedente. La cosa ti dovrebbe far riflettere sulla necessità di indicare con precisione ciò che si vuole per evitare che chi ti aiuta lavori per soluzioni che poi non servono pur soddisfacendo in senso stretto la richiesta almeno come inizialmente esposta (nel tuo caso splitting per mese tra 2 date SENZA sincronizzazione tra righe diverse)
Qui il file:
https://www.dropbox.com/s/i4mme705pyj0i0y/Splitting%20giorni%20mese%20tra%202%20date_2.xlsx?dl=0

Ciao
Elio
Marcello Vulcano
2019-02-01 11:43:35 UTC
Permalink
Post by b***@gmail.com
Post by Marcello Vulcano
Post by Marcello Vulcano
Post by b***@gmail.com
Post by Marcello Vulcano
Buongiorno e buon tutto!
Cercando ho trovato questo argomento
- Calcolare i giorni di un mese tra due date di mesi diversi (del 10.02.2017)-
i miei dati sono organizzati in egual modo ovvero
_data.inizio (col.A)
_data.fine (col.B)
Sono tutti periodi variabili: da pochi giorni 4 o 5 a numerosi giorni 180 o 200.
(_data.inizio) 15/09/2018 (_data.fine) 22/09/2018
risultato atteso 09/2018 8gg
(_data.inizio) 22/09/2018 (_data.fine) 21/10/2018
risultato atteso 09/2018 9gg
................................... 10/2018 21gg
(_data.inizio) 02/11/2018 (_data.fine) 21/01/2019
risultato atteso 11/2018 29gg
................................... 12/2018 31gg
................................... 01/2019 21gg
e così via...
dividere, ovvero, i periodi relativi a mese/i incluso/i.
Ho approssimativamente provato a risolvere utilizzando solo formule ma non son riuscito del tutto.
Come adattare le soluzioni? Quali ulteriori soluzioni?
Grazie, in ogni caso!
Buon tutto a tutti!
Marcello
Da A2:B4 i tuoi dati (lascio la prima riga vuota per eventuale riga di controllo come sarà chiaro alla fine)
=SE(DATA(ANNO(A2);MESE(A2);1)=DATA(ANNO(B2);MESE(B2);1);GIORNI(B2;A2)+1;GIORNI(DATA(ANNO(A2);MESE(A2)+1;0);A2)+1)
da copiare sulla stessa colonna fino in fondo alla fine dei dati
SE(DATA(ANNO($A2);MESE($A2);1)=DATA(ANNO($B2);MESE($B2);1);"";SE(DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0)<=$B2;GIORNO(DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0));SE(DATA(ANNO($B2);MESE($B2)+1;0)=DATA(ANNO($A2);MESE($A2)+RIF.COLONNA()-2;0);GIORNO($B2);0)))
da copiare sulla stessa colonna fino in fondo alla fine dei dati
Selezionare le celle utilizzate sulla colonna D e copiarle sulle colonne sulla destra fino a quando non compariranno tutti zero
Puoi usare la prima riga per testare per ogni colonna se la somma dei dati (giorni fa zero) immaginando che nell'applicazione reale potresti avere anche miglia di righe
Comunque non mi pare che quello che si ottiene ( che è quello che chiedi ) sia un gran risultato perché i dati di ogni singola riga non sono allineati, nel senso del mese, con quelli delle altre righe. Metterei come intestazioni di colonne mesi fissi del calendario ( l'intervallo poi lo scegli tu ) con formule quanti giorni di quel mese entrano nell'intervallo tra data inizio e data fine
Non essendo chiaro a cosa ti servono i risultati delle formule è anche difficile suggerirti quale struttura è più confacente alle tue necessità
Ciao
Elio
Rieccomi,
Elio innanzitutto grazie ancora.
Sì il risultato si avvicina a quanto sperato...
(_data.inizio) 15/09/2018 (_data.fine) 22/09/2018
risultato atteso <<09/2018 8gg>>
(_data.inizio) 22/09/2018 (_data.fine) 21/10/2018
risultato atteso <<09/2018 9gg>>
................................... <<10/2018 21gg>>
(_data.inizio) 02/11/2018 (_data.fine) 21/01/2019
risultato atteso <<11/2018 29gg>>
................................... <<12/2018 31gg>>
................................... <<01/2019 21gg>>
e così via...
dividere, ovvero, i periodi relativi a mese/i incluso/i.
Per ora comunque il risultato del frazionamento è ok.
A presto, grazie!
[...Metterei come intestazioni di colonne mesi fissi del calendario ( l'intervallo poi lo scegli tu ) con formule quanti giorni di quel mese entrano nell'intervallo tra data inizio e data fine ...]
r.2 -> inizio.mese
r.3 -> fine.mese
per tutti i mesi a partire dal gennaio 2010 ad oggi: attualmente sono circa 110 colonne con le intestazioni descritte.
2 intestazioni per riga corrispondenti a data inizio e data fine ( Da D4:E4 a seguire in basso
2 intestazioni per colonna corrispondenti a data inizio e data fine per ogni mese ( Da F2:F3 a seguire verso destra)
=SE(O(F$2>$E4;$D4>F$3);0;SE(E($D4>=F$2;F$3>=$E4);GIORNI($E4;$D4)+1;SE(E($D4<F$2;$E4>F$3);GIORNI(F$3;F$2)+1;SE($E4>=F$3;GIORNI(F$3;$D4)+1;GIORNI($E4;F$2)+1))))
da copiare sia verticalmente che orizzontalmente
in E1 la data di inizio mese del mese precedente al calendario tabellato e le intestazioni di colonna con formule da trascinare verso destra per l'intero intervallo desiderato
In colonna A e B (nascoste con raggruppamento sicché con il pulsante + possono essere rese visibili) formule di controllo.
In C2 e C3 i warnings con le'faccine' grazie a caratteri windgins ( carattere L per faccina triste e carattere J per faccina allegra) e formattazione condizionale a rosso per faccina triste e formattazione statica a verde; nelle stesse celle i commenti per la tipologia di errore monitorato; in D2 e D3 la descrizione di riga di errore. Il check del secondo errore è esteso staticamente per una lunghezza di calendario di 180 mesi
Come puoi vedere cambiando la struttura di base le formule sono molto diverse da quelle dell'intervento precedente. La cosa ti dovrebbe far riflettere sulla necessità di indicare con precisione ciò che si vuole per evitare che chi ti aiuta lavori per soluzioni che poi non servono pur soddisfacendo in senso stretto la richiesta almeno come inizialmente esposta (nel tuo caso splitting per mese tra 2 date SENZA sincronizzazione tra righe diverse)
https://www.dropbox.com/s/i4mme705pyj0i0y/Splitting%20giorni%20mese%20tra%202%20date_2.xlsx?dl=0
Ciao
Elio
Buongiorno Elio!
Sì vero, ho notato le differenze.
Ora mi è chiaro il tuo modo di risolvere il problema.
Ti ringrazio.
Ad maiora!
Buon tutto.
Marcello

Loading...