Anita ha un foglio di lavoro con oltre 10.000 righe. Ogni riga rappresenta un contratto individuale. Ogni contratto ha una data di inizio (colonna A) e una data di fine (colonna B). Ha bisogno di un modo per elencare nelle colonne C, D, E, ecc.

i singoli mesi coperti dal contratto. Ad esempio, se la colonna A contiene il 1 ° luglio 2017 e la colonna B contiene il 30 settembre 2017, la colonna C deve contenere il 17 luglio, la colonna D il 17 agosto e la colonna E il 17 settembre. Qualunque sia la formula utilizzata, deve soddisfare il contratto lunghezze che possono essere molto diverse.

Esistono diversi modi per svolgere tale compito. È possibile utilizzare alcune colonne intermedie che specificano cose come il mese di inizio e il numero di mesi di ogni contratto, ma risulta che tali colonne intermedie non sono necessarie. Ad esempio, supponendo che i tuoi contratti inizino nella riga 2, potresti inserire la seguente formula nella cella C2:

=TEXT(A2,"mmm yy")

Quindi, iniziando dalla cella D2, potresti inserire questa formula:

=IF(DATE(YEAR($A2),MONTH($A2)+COLUMNS($D2:D2), DAY($A2))>$B2,"",TEXT(DATE(YEAR($A2),MONTH($A2)

+COLUMNS($D2:D2),DAY($A2)),"mmm yy"))

Questa è una formula e utilizza la posizione delle celle contenenti la formula, insieme alla data di inizio del contratto, per calcolare, fondamentalmente, il mese di offset da quel mese di inizio. La formula può essere copiata verso destra (colonne E, F, G, ecc.) Per quanto necessario per visualizzare tutti i mesi e gli anni.

L’unico svantaggio della formula è che se la data di fine del contratto è precedente nel mese rispetto alla data di inizio del contratto, l’ultimo mese non viene visualizzato. Pertanto, se il contratto inizia il 12 giugno 2017 e termina il 05 febbraio 2018, l’ultimo mese (febbraio) non verrà visualizzato dalla formula. Potresti, invece, usare la seguente formula nella cella C2 e copiarla a destra per quanto necessario:

=IF(DATE(YEAR($A2),MONTH($A2)+COLUMN()-2,0)

>DATE(YEAR($A2),MONTH($B2)+1,0),"",TEXT(DATE (YEAR($A2),MONTH($A2)+COLUMN()-2,0),"mmm yy"))

Questa formula si basa anche sulle colonne in cui risiede, utilizzandole per calcolare un offset dalla data di inizio del contratto. La formula funzionerà perfettamente, indipendentemente dalla relazione tra le date di inizio e di fine del contratto.

Se non vuoi fare affidamento sul posizionamento delle colonne, c’è un altro approccio che puoi adottare. Posiziona la seguente formula nella cella C2:

=(A2)

Quindi, nella cella D2, inserisci la seguente formula:

=IF($B2>C2,EOMONTH(C2,1),"")

Copia la formula in D2 a destra del numero di celle necessario, quindi formatta tutte quelle celle (incluse C2 e D2) come date che visualizzano solo il mese e l’anno. La formula esaminerà B2 (la data di fine del contratto) per vedere se è maggiore di C2. In caso affermativo, la formula restituisce in serie il numero di serie dell’ultimo giorno del mese successivo. In caso contrario, viene restituito uno spazio vuoto (“”).

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (12584) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Excel qui: