Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Continuo a non capire, sicuramente per mio difetto, in particolare il calcolare oggi una lettura al 30/11/2007, a meno che non si ipotizzi la corrispondenza dell'anno 2007 con il 2010 e la mancanza di letture nel 2008.
Comunque, non avendo disponibili tutti i dati coinvolti, la formula matriciale proposta ti risolve i due problemi: "valore del profilo nell'intervallo" e "valore del profilo dalla data più lontana alla data voluta", oppure no ?? , visto che i rimanenti calcoli sembrano essere banali.
Guarda, sono casi che capitano più spesso di quanto si pensi, e quando capitano sono immense rotture di scatole, non tanto per il calcolo in se quanto per il tempo che ci vuole a ricostruire la situazione e fare tutte le varie comunicazioni, storni di fatture ecc... Il caso di sopra è dovuto, per esempio, al passaggio da un venditore all'altro, e nel passaggio non si è riusciti a rilevare la lettura (una casa vacanza, infatti mancavano le letture fino ad oggi). Oggi arriva una lettura inferiore a quella del passaggio e innesca questo meccanismo.
Tornando alla formula, oggi non ho avuto modo di provarla ma domani mi ritaglio un pochino di tempo per fare un paio di prove, anche perchè è una delle tante funzioni che non conosco e non vorrei limitarmi a copiare grezzamente la formula ma vorrei capire come funziona, può sempre tornare utile in futuro :-)
Intanto grazie
Scusa Alberto, ma ho riprovato quella formula che purtroppo è sbagliata, per cui non ci perdere altro tempo; stranamente ha funzionato una volta sola ma prove successive fatte stasera hanno rilevato un errore, tra l'altro abbastanza evidente. Sto cercando di capire il perchè ha funzionato e se trovo la soluzione ci risentiamo,altrimenti proverò una soluzione in Vba.
Scusa di nuovo e saluti
Eliano
Ciao Alberto.
Niente da fare per la formula, almeno per me. Ti proporrei una soluzione in Vba.
Aggiungi un foglio al file delle tabelle; dovrebbe essere Foglio1, altrimenti rinominalo.
In B1 La data iniziale, ad esempio: 04/10/2010
in C1 La data finale, ad esempio: 10/10/2010
in D1 un profilo, ad esempio: 001X1
Modifica il nome del foglio: Profili di prelievo standard in: Profili_di_prelievo_standard . Il Vba non gradisce gli spazi nel nome dei fogli e dei file.
Con ALT + F11 vai nel Vbe ed Inserisci-->Modulo; nella pagina bianca che si apre copia/incolla questa macro, (Dovrebbe essere Modulo1)
Public Sub prova()
'definizione delle variabili
Dim sh1 As Worksheet, sh2 As Worksheet
Dim cel As Range, X As Long
Dim tprof As Double, rng2 As Range
Dim urig2 As Long, ucolp As String
'settaggio degli oggetti
Set sh1 = Worksheets("Foglio1")
Set sh2 = Worksheets("Profili_di_prelievo_standard")
'ricerca colonna profilo
ucolp = sh2.Cells(3, Columns.Count).End(xlToLeft).Column
X = 0
For X = 3 To ucolp
If sh2.Cells(2, X).Value = sh1.Range("D1").Value Then Exit For
Next
'calcolo sommatoria profilo per il periodo
urig2 = sh2.Cells(Rows.Count, "A").End(xlUp).Row
Set rng2 = sh2.Range("A3:A" & urig2)
For Each cel In rng2
If cel.Value >= sh1.Range("B1") And cel.Value <= sh1.Range("C1") Then
tprof = tprof + sh2.Cells(cel.Row, X)
Else
'
End If
Next
Range("E1").Value = tprof
End Sub
Chiudi e torna ad Excel. con ALT + F8 esegui la macro prova. La macro scrive nella cella E1 la sommatoria delle percentuali del periodo per quel profilo. Controlla se la cifra è corretta e se è quello che ti serve. Eventualmente dimensiona le celle in modo da non perdere decimali necessari.
Saluti
Eliano