Sommare un intervallo in prese



  • Sommare un intervallo in prese
    di Verbo (utente non iscritto) data: 22/02/2010

    Ciao a tutti scusate il disturbo ho un problemino
    in una colonna ho degli importi nella successiva delle date
    come faccio ad ottenre la somma delle righe comprese in una certa data
    io ho provato con somma.se 01/01/2008<>31/12/2008, ma ottengo errore
    qualcuno può per piacere aiutarmi?
    grazie



  • di Rp71 (utente non iscritto) data: 22/02/2010

    Soluzione volante xchè vado a magnà :
    somma tutto l'intervallo e poi sottrai prima il somma.se inferiore e poi il somma.se superiore
    bye bye
    r
    ps: occhio che con le date devi usare il numero sequenziale nella formula oppure un riferimento ad una cella che riporta la data



  • di Rp71 (utente non iscritto) data: 22/02/2010

    Errata corrige:
    non considerare il ps ... funziona anche con le date gg/mm/aa



  • di Franco_44 (utente non iscritto) data: 22/02/2010

    Ciao
    intanto permettimi un consiglio: riservati 2 celle (es f1 e g1)per l'inserimento delle 2 date del quale vuoi fare la somma (ciò ti consente , cambiando le date, di fare i calcoli più volte senza modificare la formula)
    poi, mettiamo tu abbia nel range a2:a50 le varie date e nel range b2:b50 i vari importi; nella cella dove vuoi il totale scrivi:
    =(matr.somma.prodotto(((a2:a50>=f1)*(a2:a50<=g1));(b2:b50)))
    in questo modo se vuoi la somma per altri periodi, basta cambiare le date in f1 e g1
    devi adattare il tutto al tuo range



  • di Verbo (utente non iscritto) data: 22/02/2010

    Grazie sia a rp71 che a franco per le risposte, ma ho l'impressione di essermi spiegato male
    nel senso che io nella colonna a ho diversi importi
    per esempio 1000 500 2000 4000 200 e nella attigua colonna b ho diverse date 20/5/2008 21/4/2009 5/6/2008 7/7/2008 11/11/2009
    quello che voglio è che in una cella di altro foglio mi faccia la somma di tutti gli importi corrispondenti a tutte le date del 2008, che nell'esempio deve essere 7000; ed in altra cella la somma di tutti gli importi relativi alle date del 2009 che nell'esempio dovra essere 700
    grazie per le risposte



  • di Enzo (utente non iscritto) data: 23/02/2010

    Presumo che tu sia la stessa persona che ha posto il problema in un altro forum
    eccoti la stessa risposta

    ...vuoi una funzione, eccola , personalizzata
    devi copiarla all'interno di un modulo nel tuo foglio
    la dovrai richiamare da inserimento, funzione,definite dall'utente
    troverai la funzione sommadati
    ti si apre lo schermetto con due richieste
    dataelenco - dovrai evidenziare le celle contenenti le date e anno - dovrai inserire l'anno che vuoi controllare
    nella cella ti dovrebbe apparire il valore trovato
    funziona indipendentemente che le colonne siano "b" o "c" o "d" etc. o che partano dalla cella 2 3 4 8 etc
    l'importante che prima ci sia la colonna dei valori e successivamente la colonna delle date
    era quello che volevi?
    ps. mi devi una pizza





     
    Function SOMMADATI(DATAELENCO As Range, ANNO As String) As Double
    Application.Volatile
    Dim cc As Range
    VALORE = 0
    For Each cc In DATAELENCO
    x = Mid(cc, 7, 4)
    If x = ANNO Then
    VALORE = VALORE + cc.Offset(0, -1).Value
    End If
    Next
    SOMMADATI = VALORE
    End Function
    


  • Boh
    di Rp71 (utente non iscritto) data: 23/02/2010

    Non ho analizzato la soluzione di enzo ...
    xò a mio avviso franco ti ha dato la soluzione ottimale e flessibile utilizzando le funzioni std di xl.
    la mia era una soluzione "furba" e poco flessibile in quanto nella formula bisogna riportare le date di riferimento in modo statico
    se ti interessa raggruppare le somme x anno e non da data1 variabile a data2 variabile puoi anche usare le pivot > funzione raggruppa > x anno
    ti allego un file con tutte le soluzioni proposte
    bye
    r
    ps: grande franco ! alla tua soluzione non avevo pensato !! ottimo spunto



  • di Verbo (utente non iscritto) data: 23/02/2010

    Al momento la soluzionedi franco la trovo la più confacente alle mie conoscenze di formule di excel
    oggiin ufficio vedro i suggerimetni di rp ed enzo che mi servono sopratutto per avvicinarmi al vba
    grazie cmq a tutti per l'aiuto
    visto il lavoro che svolgo il contribuente onesto vi sarà riconoscente



  • di Franco_44 (utente non iscritto) data: 23/02/2010

    Ciao
    un'altra soluzione, che poi potrebbe essere la più semplice, può essere quella delle tabell pivot; prova a vedere nell'allegato il foglio 3 e fai sapere cosa ne pensi (il range è quello delle col da n a r
    un saluto



  • di Enzo (utente non iscritto) data: 24/02/2010

    Ti ho allegato un file con la mia funzione prova a vedere se puo' andar bene



  • di Verbo (utente non iscritto) data: 24/02/2010

    Ciao premesso che tutte le soluzioni sugeritemi le trovo interesanti
    alla fine ho optato per la prima
    anche se secondo me la più elastica è quella delle tabelle pivot, ma io non so usarla.
    una domanda con le tabelle pivot posso fare la sommma di un periodo compreso anche a cavallo di un anno?



  • di Rp71 (utente non iscritto) data: 24/02/2010

    Non con i dati "nudi e crudi".
    tra le proprietà della pivot è previsto il raggruppamento e nel caso delle date vengono proposti i raggruppamenti automatici std (x anno, x trim, x mese).
    quindi ... the winner is : franco !!



  • di Franco_44 (utente non iscritto) data: 24/02/2010

    Confermo ciò che ha detto rp71; se vuoi fare una somma tra date a cavallo di mesi o anni si può fare tramite una macro
    ciao



  • di Verbo (utente non iscritto) data: 26/02/2010

    Scusate l'ignoranza quando parlate di macro intendete codicivba oppure la normale registrazione di un'operazione?



  • di Rp71 (utente non iscritto) data: 26/02/2010

    La macro implica inevitabilmente la registrazione di un codice vba sottostante (ovvero l'istruzione che la m deve eseguire)
    r