Excel - creare procedura che calcola la somma rolling

venerdì 18 gennaio 2008 - 22.43

roddik1980 Profilo | Junior Member

Buongiorno a tutti,

devo risolvere il seguente problema con MS Excel 2003 (vba ?). Devo sommare delle quantità in un intervallo dinamico di tempo. Devo automatizzare il tutto.

- Ho una tabella / foglio excel origine di questo tipo:
Colonna A: Intestazione = Codice articolo
Colonna B: Intestazione = Intervallo in giorni
Poi ho 31 colonne che sono i 31 giorni del mese (l’ intestazione è un numero da 1 a 31) con all’ interno un valore numerico che identifica i movimenti di quel determinato CodArticolo in quel determinato giorno del mese.
- Devo creare una tabella finale di questo tipo:
Colonna A: Intestazione = Codice articolo (come prima)
Poi ho 31 colonne che sono i 31 giorni del mese (l’ intestazione è un numero da 1 a 31) con all’ interno un valore numerico di quel determinato CodArticolo calcolato nel seguente modo:

Esempio
Codice articolo = 00001
***Vedi file allegato contenente l' esempio dei calcoli.

La tabella dovrà essere in orizzontale come quella d’ origine con i 31 giorni come intestazione colonne. L’ ho messa in verticale solo per una questione di spazio. Nulla mi vieta di inserire i 31 giorni contenenti i risultati delle formule sulla stessa riga dei 31 giorni di origine.

Algoritmo di calcolo (domanda rolling)
Creo ciclo che mi legge / scorre ogni articolo (ogni riga) uno alla volta.
Prendo il valore del campo “Intervallo in giorni” per esempio = “5”, sommo i movimenti dell’ articolo che trovo nella tabella origine dal giorno 1 al giorno 5 (se fosse stato “10” avrei sommato dal 1 al 10 giorno poi dal 2 al 11 giorno ecc), il risultato lo scrivo nel campo “5” della tabella di destinazione. Successivamente sommo i movimenti dell’ articolo che trovo nella tabella origine dal giorno 2 al giorno 6, il risultato lo scrivo nel campo “6” della tabella di destinazione ………….. e così via fino ad arrivare al giorno 31. L’ ultima somma sarà dal giorno 27 al giorno 31.
Ricapitolando: faccio la somma di un intervallo pari al valore del campo “Intervallo in giorni” che parte da 1 e si sposta in avanti sempre di 1 giorno sia nel limite minore che in quello maggiore.
Calcolo la somma dei movimenti per ogni giorno di calendario in un intervallo pari all’ intervallo in giorni.

Devo automatizzare la procedura in modo da aggiornare i dati ogni volta che carico una nuova tabella di origine.
Attenzione perché il valore del campo “Intervallo in giorni” è un dato che può variare per ogni articolo.

Grazie a tutti in anticipo.

Mark

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5