| Formula in Excel di
Tiziana |
| Ho necessità di creare una formula che mi consenta
di rilevare un certo importo lungo una intera colonna. Questo
importo deve però coincidere con un periodo mensile, esempio maggio,
o meglio deve rientrare nei gg/05/2005, e non nei gg/05/2004. Quindi
la necessità di poter sommare per mese tutti gli importi relativi al
mese di maggio 2005, giugno 2005, e via dicendo. Grazie |
|
| di Mauro |
Ho provato a riprodurre il problema in excel. Come
vedi dall'immagine, ci sono due colonne a sx una con la data ed una
con l'importo. A destra ho creato delle colonne che ridistribuiscono
gli importi in base alla formula che vedi nella barra. Di ogni
colonna viene fatta la sommatoria degli importi. Era questo che
volevi fare? Per funzionare però le date devono avere tutte lo
stesso giorno del mese.
 |
|
| di Tiziana |
Ciò che sto cercando di risolvere è quanto segue.
Esempio: Data Importo 18/05/2005 15,50 22/03/2005
16.41 28/04/2005 17.62 02/04/2005 13.25 02/05/2005 25.65
03/02/2005 24.12 22/05/2005 32.52
Devo sommare solo
gli importi che corrispendono ad un dato mese. Quindi presumo una
funzione del tipo: CERCA, opp. CERCA.VERT per trovare il mese e
sommare tutti gli importi che corrispondono al mese. Mese di
Febbraio totale: 24,12 Mese di Marzo totale: 16,41 Mese di
Aprile totale: 30.87 Mese di Maggio totale: 73.67
Non
riesco a combinare una formula che esegua il ciclo di somme
sull'intera colonna delle date e degli importi. Ho già risolto dei
problemi con CERCA.VERT ma solo per numeri interi o decimali, mai
con date, e con somme allo stesso momento. Chiedo gentilmente un
aiuto a chi conosce una soluzione. Grazie
|
|
| Soluzione con VBA di
Mauro |
Ho provato a risolvere la questione con una macro.
Inserisci la routine in una macro. Ho supposto di avere in
colonna B le date ed in colonna C gli importi, inoltre
l'elaborazione inizia da riga 2 supponendo che in riga 1 venga
adibita alla descrizione dei campi. I risultati vengono scritti
in colonna E ed F.
Private MatrImp(12) As Single Sub
CalcImpMese() Dim I, J As Integer Dim NuMese As Integer
I = 2 Do Until Range("B" & I).Text = "" NuMese =
Mid(Range("B" & I).Text, 4, 2) Importo = Range("C" &
I).Value MatrImp(NuMese) = MatrImp(NuMese) + Importo I = I +
1 Loop MatrMese = Array("Gennaio", "Febbraio", "Marzo",
"Aprile", _ "Maggio", "Giugno", "Luglio", "Agosto", "Settembre",
_ "Ottobre", "Novembre", "Dicembre") J = 2 For I = 1 To
12 If MatrImp(I) <> 0 Then Range("E" & J) =
MatrMese(I) Range("F" & J) = MatrImp(I) J = J + 1
End If Next End Sub |
|
| di Tiziana |
Ho trovato la soluzione. In un foglio
"Importi", supponiamo di avere una colonna B:B con gli importi, una
colonna A:A con i mesi (Gennaio, Febbraio, Marzo, etc). In un
altro foglio "Riepilogo", una tabella, in cui abbiamo una colonna
A2, A3,..., A13 in cui avremmo tutti i mesi dell'anno Gennaio,
Febbraio, Marzo, etc), e nella colonna B2, B3,...,B13 il riepilogo
di ogni mese dell'anno, ecco la formula:
=SOMMA.SE(Importi!$A:$A;A2;Importi!B:B)
In relazione
nel mese es."Gennaio" del foglio "Riepilogo", vengono sommati solo
gli importi relativi a alla colonna A:A del foglio "Importi".
Grazie a tutti del tempo dedicato.
|
|