Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

EXCEL: SOMMA.SE

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

EXCEL: SOMMA.SE

Postdi Santino » 14/02/10 10:10

Buongiorno, ho la necessità di sommare delle cifre entro determinate date . Praticamente ho un foglio di lavoro che in una colonna ha delle dete comprese dal 01/01/2010 al 31/12/2010 e un un'altra delle cifre,io devo sommare, per esempio, le cifre comprese dal 02/02/2010 al 15/04/2010 oppure dal 01/01/2010 al 31/03/2010 e così via. Finora usavo la seguente formula: =SOMMA.SE(A1:A500;"<01/04/2009";H1:H500) poi per sommare un altro gruppo usavo la stessa formula e sottraevo il risultato precedente:=SOMMA.SE(A1:A500;"<01/07/2009";A1:A500)-la somma ottenuta prima. Funziona ma non credo sia il procedimento giusto. Grazie
Win 7 + Office 2007
Santino
Utente Senior
 
Post: 120
Iscritto il: 28/01/06 16:46

Sponsor
 

Re: EXCEL: SOMMA.SE

Postdi Flash30005 » 14/02/10 18:51

Se ottieni il giusto risultato significa quello che hai fatto va bene, sicuramente ci sono altri modi per ottenere quel conteggio.
Se vuoi utilizzare una macro puoi usare questa
Codice: Seleziona tutto
Sub SommaXData()
UR = Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row
UC2 = Worksheets("Foglio2").Range("IV2").End(xlToLeft).Column
For Cs = 1 To UC2 Step 2
    Anno1 = Year(Worksheets("Foglio2").Cells(2, Cs).Value)
    Mese1 = Month(Worksheets("Foglio2").Cells(2, Cs).Value)
    Giorno1 = Day(Worksheets("Foglio2").Cells(2, Cs).Value)
    DataDa = DateSerial(Anno1, Mese1, Giorno1)
    Anno2 = Year(Worksheets("Foglio2").Cells(2, Cs + 1).Value)
    Mese2 = Month(Worksheets("Foglio2").Cells(2, Cs + 1).Value)
    Giorno2 = Day(Worksheets("Foglio2").Cells(2, Cs + 1).Value)
    DataA = DateSerial(Anno2, Mese2, Giorno2)
    Somma = 0
    For RS = 1 To UR
        AnnoE = Year(Worksheets("Foglio1").Cells(RS, 1).Value)
        MeseE = Month(Worksheets("Foglio1").Cells(RS, 1).Value)
        GiornoE = Day(Worksheets("Foglio1").Cells(RS, 1).Value)
        DataE = DateSerial(AnnoE, MeseE, GiornoE)
        If DataE >= DataDa And DataE <= DataA Then Somma = Somma + Worksheets("Foglio1").Range("H" & RS).Value
    Next RS
    Worksheets("Foglio2").Cells(3, Cs + 1).Value = Somma
Next Cs
End Sub

Ho considerato i dati di partenza nel "Foglio1", più precisamente, nella colonna "A" la data e nella colonna "H" il valore da sommare, iniziando dalla Riga 1
Mentre nel "Foglio2" utilizza la seconda riga inserendo le date DataDa e DataA (riga 1 testata)
Quindi avrai
in A2 = 01/01/2010 (DataDa)
in B2 = 14/02/2010 (DataA)
in C2 = 01/03/2010 (DataDa)
in D2 = 10/06/2010 (DataA)
etc
etc

Fai sapere se ok
Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL: SOMMA.SE

Postdi Anthony47 » 15/02/10 01:06

Condivido la valutazione di Flash che "se funziona e' fatto bene"; volendo fare una cosa piu' certa, invece di usare le stringhe per impostare la data di confronto (es "<01/04/2009") userai la funzione data [quindi "<"&Data(2009;4;1)].
Potresti usare anche Matr.Somma.Prodotto, che ti consente di mettere la matrice (A1:A500)>=DataIniziale, la matrice (A1:A500)<=DataFinale e la matrice valori H1:H500 nella stessa funzione, ma la complessita' e' paragonabile a mettere nella stessa formula i due Conta.se [=Conta.se(Rispetto alla data finale)-Conta.se(Rispetto alla data iniziale)]

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL: SOMMA.SE

Postdi Santino » 15/02/10 19:51

Buonasera, grazie per le risposte.
Per Flash, purtroppo non ho mai usato le macro, ho provato ma mi da errore run time alla riga 13 (ho guardato col debug e dice dati non corrispondenti)
Per Antony, ho provato con matr.somma.prodotto ma mil risultato è 0forse imposto male tutta la formula, potresti scriverla come dovrebbe apparire( chiaramente i valori delle date saranno indicativi e metterò quelli che interessano).
Anche per quanto riguarda il resto non ci sono riuscito, nella funzione data non vien fuori quel simbolo davanti.
Sto usando excel 2007.
Abbiate pazienza, grazie
Win 7 + Office 2007
Santino
Utente Senior
 
Post: 120
Iscritto il: 28/01/06 16:46

Re: EXCEL: SOMMA.SE

Postdi Flash30005 » 15/02/10 21:34

prova questo file

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL: SOMMA.SE

Postdi Santino » 16/02/10 00:34

Ciao, provato, ho visto come funziona ma non riesco ad applicare la macro al mio file, mi dà sempre errore di run time'13': tipo non corrispondente.
Grazie
Win 7 + Office 2007
Santino
Utente Senior
 
Post: 120
Iscritto il: 28/01/06 16:46

Re: EXCEL: SOMMA.SE

Postdi Santino » 16/02/10 01:05

Ciao, ho provato su un altro file e funziona egregiamente, evidentemente c'è qualche dato nell'altro che dovrò cercare di correggere ed essendo un file molto grande non trovavo subito.
Grazie mille, alla prossima
Win 7 + Office 2007
Santino
Utente Senior
 
Post: 120
Iscritto il: 28/01/06 16:46

Re: EXCEL: SOMMA.SE

Postdi Santino » 16/02/10 02:15

@Antony
OK grazie, ho provato anche con MATR.SOMMA.PRODOTTO e va benissimo a patto che il formato campo sia uguale per data e per numero.
Grazie mille, alla prossima
Win 7 + Office 2007
Santino
Utente Senior
 
Post: 120
Iscritto il: 28/01/06 16:46

Re: EXCEL: SOMMA.SE

Postdi Anthony47 » 16/02/10 22:16

Bravo, come spesso dico la necessita' aguzza l' ingegno e ce l'hai fatta da solo; non ho capito pero' cosa intendi con "il formato campo sia uguale per data e per numero".

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL: SOMMA.SE

Postdi Santino » 17/02/10 00:47

Giustamente mi fai notare una scarsa spiegazione. Intendevo che nella colonna con campi numerici devono essere tutti campi numerici e cosi nella colonna delle date. Perlomeno non mi funzionava finchè non ho trovato un campo a formattazione personale e solo dopo averlo cambiato in campo numerico ha funzionato.
Grazie ancora, ciao
Win 7 + Office 2007
Santino
Utente Senior
 
Post: 120
Iscritto il: 28/01/06 16:46

Re: EXCEL: SOMMA.SE

Postdi raimea » 02/05/10 08:06

questa funziona :)

Dovrai usare una formula in matrice:

{=SOMMA(SE((H4<=C9:C1400)*(C9:C1400<=I4);(L9:L1400))}

Essendo una matrice dovrai chiudere in parentesi graffe con Ctr-+shift+invio
(da fare dopo l'ultima parentesi alla fine della formula)
Dove:
in H4 scrivi la data di inizio ricerca
in I4 scrivi la data fine ricerca
da L9:L1400 ci sono tutti i numeri , importi in cui cercare

NB. Gli intervalli devono esere scritti uguali in tuti i campi altrimenti da errore.
adatta gli intervalli (colone-righe) in base al tuo foglio
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1098
Iscritto il: 11/02/10 07:33
Località: lago

Re: EXCEL: SOMMA.SE

Postdi ales_10it » 13/05/10 09:16

Salve, ho un problema come questo e girando per la rete ho trovato questo post...

Ho provato ad utilizzare l'ultima funzione postata, ma purtroppo non riesco a farla funzionare, nello specifico io inserico:

In C3
{=SOMMA(SE(("1/04/10">=A1:A2)*(A1:A2<="30/04/10");(B1:B2))}

dopo aver inserito
A B
1 10/04/10 300€
2 01/05/10 500€

E se non inserisco mi ritorna nella cella C3 l'ERRORE #VALORE, mentre con le parentesi graffe inserite mi torna come valore 0€ mentre secondo quanto scritto non dovrebbe uscire 300€???

Avete suggerimenti su come superare questo problema??

Vi ringrazio

Ciao
ales_10it
Newbie
 
Post: 3
Iscritto il: 13/05/10 09:03

Re: EXCEL: SOMMA.SE

Postdi Flash30005 » 13/05/10 09:39

Ciao Ales_10it e benvenuto nel Forum

la formula
Codice: Seleziona tutto
=SOMMA(SE(("1/04/10">=A1:A2)*(A1:A2<="30/04/10");(B1:B2))

va copiata senza le parentesi graffa e incollata in C3
ma per farala funzionare, dopo l'editazione, dovrai premere i tasti Ctrl+Maiu+Invio
In A1 e A2 le date formattate in gg/mm/aa (per avere il dato come da te illustrato)

In ogni caso in C3 avrai sempre la somma di B1 e B2 (nel tuo caso 800)
perché prenderà in esame tutte le date superiori alla data 01/04/2010 e tutte le date inferiori al 30/04/2010
pertanto equivale a sommare le celle B1+B2
tanto vale, a questo punto, fare direttamente la somma della colonna B

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL: SOMMA.SE

Postdi ales_10it » 13/05/10 10:02

Ciao, ti ringrazio per il benvenuto...

Effettivamente hai ragione come scritta da me non aveva molto senso...

La mia necessità sarebbe quella di poter sommare le cifre in B che abbiano nella corrispettiva riga di A una data compresa tra quella che indico io, ad esempio 1/04/10 al 30/04/10...

Concettualemte pensavo che questo possa avvenire ad esempio tramite un AND che cosi facendo nel caso anche solo una delle 2 condizioni non risulti vera la somma non mi sarebbe stata calcolata...

Ma non so tradurre tutto ciò in excel...

Qualche consiglio?
ales_10it
Newbie
 
Post: 3
Iscritto il: 13/05/10 09:03

Re: EXCEL: SOMMA.SE

Postdi Flash30005 » 13/05/10 13:18

Prova questa formula
Codice: Seleziona tutto
=SOMMA(SE((DATA(2010;4;1)<=A1:A1400)*(A1:A1400<=DATA(2010;4;30));(B1:B2)))


da confermare sempre con Ctrl+Maiu+Invio

oppure questa
Codice: Seleziona tutto
=SOMMA(SE((H1<=A1:A1400)*(A1:A1400<=I1);(B1:B2)))

in questo caso la dataInizio la digiterai in H1 (01/04/2010)
e la datafine in I1 (30/04/2010).
Penso sia più pratico intervenire sulle singole celle che non all'interno di una formula

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL: SOMMA.SE

Postdi ales_10it » 14/05/10 10:47

Ti ringrazio per l'aiuto, in questo modo funziona perfettamente...
ales_10it
Newbie
 
Post: 3
Iscritto il: 13/05/10 09:03


Torna a Applicazioni Office Windows


Topic correlati a "EXCEL: SOMMA.SE":


Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti