Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Mykia55,
la funzione di Norman, che ringrazio, è la soluzione al problema così come lo avevo posto.
Adesso visto che l'appetito vien mangiando… propongo una variante al mio quesito:
mettiamo adesso, che la colonna A sia il controllo dei numeri negativi , positivi oppure
nulli (=0) e che io voglia sommare i numeri che si trovano nella colonna attigua alla A cioè la B
per esempio :
mettiamo che in a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 (e cosi via fino ad a500)
ho la serie precedente e cioè 1,2,-3,2,-1,1,0,2,-5,7,8
e nelle corrispondenti B1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 (e cosi via fino a b500)
ho per esempio la serie :1, 0, 0, -1,-2,5,8,2,1,7,10 vorrei che il calcolo, di cui sopra
fosse fatto nella colonna B con rifrimento alla colonna A
e che quindi il risultato sia 17 e non 33 vale a dire i numeri positivi in colonna A
(A10 e A11) fanno si che io sommi i corrispettivi b10 e b11 cioè 7 e 10 e non b6---b11
ho cercato di utilizzare la formula matriciale di francocon..res ma non ci sono riuscito.
nella cella dove metto la formula e ctrl+shift ed invio viene zero.
Un grazie per la vostra attenzione
Prova la seguente versione del codice:
'========>>
Option Explicit
'------>>
Public Function mySum(rIntervallo As Range) As Double
Dim i As Long, j As Long
Dim iCtr As Long, jCtr As Long
Dim bFlag As Boolean
With rIntervallo
iCtr = .Columns(1).Cells.Count
If rIntervallo.Cells(iCtr, 1) <= 0 Then
Exit Function
End If
For i = iCtr To 2 Step -1
jCtr = jCtr + 1
bFlag = .Cells(iCtr - jCtr, 1).Value <= 0
If bFlag Then
For j = i To iCtr
mySum = mySum + .Cells(j, 2)
Next j
Exit For
End If
Next i
End With
End Function
'<<========
Potresti scaricare il mio file di prova Mykia20200603.xlsm
===
Regards,
Norman