Risultati da 1 a 16 di 16

Discussione: Somma a gruppi



  1. #1
    L'avatar di Angelo_
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Veneto
    Età
    25
    Messaggi
    17
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    20

    Somma a gruppi

    Ciao tutti,

    ho bisogno di un aiuto per elaborare dei dati pluviometrici... Ho un foglio Excel con 2 colonne, una con data e ora,una con la precipitazione caduta nell'intervallo di tempo considerato,10min, e una con la precipitazione cumulata totale.
    Io vorrei ottenere per ogni ora di ogni giorno (parliamo di un periodo di 5 anni) la somma delle precipitazioni delle 5 celle appartenenti all'ora. E questo dovrei farglielo fare in modo automatico.Non posso farlo manualmente per ogni ora.

    Allego parte del file così capite meglio. Sulla destra ho abbozzato le 2 colonne che vorrei ottenere.

    Avete idea di come fare?
    File Allegati File Allegati

  2. #2
    L'avatar di Pitagora
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Milano
    Età
    54
    Messaggi
    782
    Versione Office
    WIN , 2013 2016
    Likes ricevuti
    318
    Likes dati
    1

    Re: Somma a gruppi

    Buona Sera

    Non ho capito vuoi questo ?

    f2=SOMMA.SE($A$2:$A$960;"<="&$E2;B$2:B$960) copia a destra e in basso

    Saluti
    Window 8.1 Excel 2013/2016

  3. #3
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126

    Re: Somma a gruppi

    Ciao Angelo e benvenuto in forumexcel.it

    Per avere chiara la situazione ho colorato le fascie orarie e ovviamente come puoi vedere ho messo nella colonna E tutte le date e lo scattare dell'ora e quindi nella cella F2 incolla questa formula da trascinare in basso

    =SOMMA.PIÙ.SE($B$2:$B$960;$A$2:$A$960;">="&DATA(ANNO(E2);MESE(E2);GIORNO(E2))+ORARIO(ORA(E2);0;0);$A$2:$A$960;"<"&DATA(ANNO(E3);MESE(E3);GIORNO(E3))+ORARIO(ORA(E3);0;0))


    A
    B
    C
    D
    E
    F
    1
    Data e ora [mm/10min] Precipitazione [mm] cumulata Analisi Oraria [mm/1 ora]
    2
    01/01/2010 00:00
    1
    1,0
    01/01/2010 00:00
    5,00
    3
    01/01/2010 00:10
    0,0
    1,0
    01/01/2010 01:00
    5,0
    4
    01/01/2010 00:20
    2,0
    3,0
    01/01/2010 02:00
    11,0
    5
    01/01/2010 00:30
    0,0
    3,0
    01/01/2010 03:00
    4,0
    6
    01/01/2010 00:40
    0,0
    3,0
    01/01/2010 04:00
    10,0
    7
    01/01/2010 00:50
    2,0
    5,0
    01/01/2010 05:00
    1,00
    8
    01/01/2010 01:00
    3,0
    8,0
    01/01/2010 06:00
    0,00
    9
    01/01/2010 01:10
    0,0
    8,0
    01/01/2010 07:00
    0,00
    10
    01/01/2010 01:20
    0,0
    8,0
    01/01/2010 08:00
    0,00
    11
    01/01/2010 01:30
    0,0
    8,0
    01/01/2010 09:00
    0,00
    12
    01/01/2010 01:40
    0,0
    8,0
    01/01/2010 10:00
    0,00
    13
    01/01/2010 01:50
    2,0
    10,0
    01/01/2010 11:00
    0,00
    14
    01/01/2010 02:00
    6,0
    16,0
    01/01/2010 12:00
    0,00
    15
    01/01/2010 02:10
    0,0
    16,0
    01/01/2010 13:00
    0,00
    16
    01/01/2010 02:20
    1,0
    17,0
    01/01/2010 14:00
    0,00
    17
    01/01/2010 02:30
    0,0
    17,0
    01/01/2010 15:00
    0,00
    18
    01/01/2010 02:40
    1,0
    18,0
    01/01/2010 16:00
    0,00
    19
    01/01/2010 02:50
    3,0
    21,0
    01/01/2010 17:00
    0,00
    20
    01/01/2010 03:00
    2,0
    23,0
    01/01/2010 18:00
    0,00
    21
    01/01/2010 03:10
    0,0
    23,0
    01/01/2010 19:00
    0,00
    22
    01/01/2010 03:20
    0,0
    23,0
    01/01/2010 20:00
    0,00
    23
    01/01/2010 03:30
    0,0
    23,0
    01/01/2010 21:00
    0,00
    24
    01/01/2010 03:40
    0,0
    23,0
    01/01/2010 22:00
    0,00
    25
    01/01/2010 03:50
    2,0
    25,0
    01/01/2010 23:00
    0,00
    26
    01/01/2010 04:00
    1,0
    26,0
    02/01/2010 00:00
    0,00
    27
    01/01/2010 04:10
    0,0
    26,0
    02/01/2010 01:00
    0,00
    28
    01/01/2010 04:20
    0,0
    26,0
    02/01/2010 02:00
    0,00
    29
    01/01/2010 04:30
    0,0
    26,0
    02/01/2010 03:00
    0,00
    30
    01/01/2010 04:40
    6,0
    32,0
    02/01/2010 04:00
    0,00
    31
    01/01/2010 04:50
    3,0
    35,0
    02/01/2010 05:00
    0,00

    EDIT
    Inserimento Allegato
    Angelo In attesa di un tuo riscontro, un Saluto

    PS Angelo visto che sei nuovo ti consiglio di leggere tutto il regolamento QUI
    File Allegati File Allegati
    Ultima modifica fatta da:Gerardo Zuccalà; 08/07/16 alle 00:08

  4. I seguenti 3 utenti hanno dato un "Like" a Gerardo Zuccalà per questo post:


  5. #4
    L'avatar di pkrome59
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Reggio Calabria
    Età
    58
    Messaggi
    1188
    Versione Office
    Office 2013
    Likes ricevuti
    1198
    Likes dati
    2133

    Re: Somma a gruppi

    Ciao Angelo_, un'alternativa alla formula proposta da Gerardo, che saluto, potrebbe essere la seguente:

    In H2:
    =MATR.SOMMA.PRODOTTO(($B$2:$B$960)*($A$2:$A$960>=$E1)*($A$2:$A$960<$E2))
    da tirare giù alla bisogna.

    Poiché tu parli di sommare le cinque celle appartenenti all'ora, ho preparato una variante, che esclude l'estremo inferiore e l'estremo superiore, per cui copia la seguente:

    In F2:
    =MATR.SOMMA.PRODOTTO(($B$2:$B$960)*($A$2:$A$960>$E1)*($A$2:$A$960<$E2))
    da tirare giù alla bisogna.
    Allego il file di prova, fa sapere se vanno bene.
    Ciao.
    File Allegati File Allegati

  6. I seguenti utenti hanno dato un "Like"


  7. #5
    L'avatar di Angelo_
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Veneto
    Età
    25
    Messaggi
    17
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    20

    Re: Somma a gruppi

    @Pitagora ; @Gerardo Zuccalà ; @pkrome59

    Ringrazio tutti e 3 per l'aiuto e per il benvenuto. Non me ne vengano gli altri 2,ma tra i 3 ho trovato più chiaro Gerardo e la tabella da lui creata. Inserendo lì dentro i dati dell'intera serie a mia disposizione(2010-2015) effettivamente sembra funzioni tutti correttamente. Vedrò di imparare come utilizzare la funzione SOMMA.PIù.SE e pure le altre 2 proposte, che mi potrebbero essere utili in casi analoghi.
    Ora,però,ho bisogno di capire come trascinare verso il basso una data facendole,però,aggiungere di cella in cella lungo la colonna un'ora in più e un giorno in più come mi succede. Il giorno deve scalare solo dopo le 24h. Sapreste darmi una mano anche in questo?

  8. #6
    L'avatar di Pitagora
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Milano
    Età
    54
    Messaggi
    782
    Versione Office
    WIN , 2013 2016
    Likes ricevuti
    318
    Likes dati
    1

    Re: Somma a gruppi

    Buona Sera


    Per aggiungere progressivamente 1 ora e variare la data.


    esempio data in A2 del tuo foglio








    A3=A2+1/24 copia in basso


    oppure


    A3=A2+ORARIO(1;;) copia in basso




    Saluti
    Window 8.1 Excel 2013/2016

  9. I seguenti utenti hanno dato un "Like"


  10. #7
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Somma a gruppi

    Ciao a tutti
    Era pronta (tardi per la partita e non sapevo se poteva usare VBA)
    Pensavo ai 5 anni x 365 giorni x 6 ogni ora X 24, diventa pesante??? 268.000 righe credo
    Questo codice l'ho fà (non ho messo controlli vari, basta che il primo in riga2 sia MM:SS = 00:00)
    Codice: 
    Option Explicit
    Sub Somma()
    Dim Ur, X, Rg, Tot
    Ur = Range("A" & Rows.Count).End(xlUp).Row
    Rg = 2
    For X = 2 To Ur
        Cells(Rg, 5) = Int(Cells(X, 1))
        Cells(Rg, 6) = "dalle " & Hour(Cells(X, 1)) & " alle " & Hour(Cells(X, 1)) + 1
        Cells(Rg, 7) = WorksheetFunction.Sum(Range(Cells(X, 2), Cells(X + 5, 2)))
        X = X + 5
        Rg = Rg + 1
    Next X
    MsgBox "fatto"
    End Sub

  11. I seguenti utenti hanno dato un "Like"


  12. #8
    L'avatar di Angelo_
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Veneto
    Età
    25
    Messaggi
    17
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    20

    Re: Somma a gruppi

    @Pitagora @Raffaele_53
    Grazie mille a entrambi! La formula di Pitagora ha funzionato perfettamente.
    Il codice di Raffele mi ha dato problemi in quanto andava avanti all'infinito a compilare la data,andando ben oltre il 2015 e non riuscivo a fermarlo. è la prima volta che uso VBA comunque.

  13. #9
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Somma a gruppi

    Ciao, solo per conoscenza personale
    Mi fai vedere lo stesso allegato dove hai provato il Codice (non credo, però ci mette solo qualche secondo a fare tutto)

  14. I seguenti utenti hanno dato un "Like"


  15. #10
    L'avatar di Angelo_
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Veneto
    Età
    25
    Messaggi
    17
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    20

    Re: Somma a gruppi

    Citazione Originariamente Scritto da Raffaele_53 Visualizza Messaggio
    Ciao, solo per conoscenza personale
    Mi fai vedere lo stesso allegato dove hai provato il Codice (non credo, però ci mette solo qualche secondo a fare tutto)
    https://drive.google.com/file/d/0B1E...ew?usp=sharing
    Ho riprovato e stavolta nessun problema con le date. Solo che non ha scalato l'ora,mettendo di fianco,però,l'indicazione corretta dell'intervallo orario.

  16. #11
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Somma a gruppi

    >>>Solo che non ha scalato l'ora
    Non capisco cosa intendi, in colonna E = formatto DATA giorno
    L'orario lo visualizza tramite testo in colonna F (oppure devo modificare il VBA)

    Ps. Colonna E c'è solo il giorno (non formatto data e ora)
    PPs in effetti non ci mette qualche secondo, devo rivedere il codice

    EDIT EDIT
    Ho messo sotto la riga >>>Rg = 2
    Application.Calculation = xlCalculationManual
    e prima di >>>MsgBox "fatto"
    Application.Calculation = xlCalculationAutomatic

    Meno di un minuto, 305000 record diviso 6, sono circa 51000 cicli e per ognuno fare 5 cose distinte
    Se intendevi che avevi bisogno anche del Totale 1° riga in più
    Codice: 
    Option Explicit
    Sub Somma()
    Dim Ur, X, Rg, Tot
    Ur = Range("A" & Rows.Count).End(xlUp).Row
    Rg = 2
    Application.Calculation = xlCalculationManual
    For X = 2 To Ur
        Cells(Rg, 5) = Int(Cells(X, 1))
        Cells(Rg, 6) = "dalle " & Hour(Cells(X, 1)) & " alle " & Hour(Cells(X, 1)) + 1
        Cells(Rg, 7) = WorksheetFunction.Sum(Range(Cells(X, 2), Cells(X + 5, 2)))
        Cells(Rg, 8) = Cells(X, 3)
        X = X + 5
        Rg = Rg + 1
    Next X
    MsgBox "fatto"
    Application.Calculation = xlCalculationAutomatic
    End Sub
    Ultima modifica fatta da:Raffaele_53; 09/07/16 alle 21:44

  17. I seguenti utenti hanno dato un "Like"


  18. #12
    L'avatar di Angelo_
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Veneto
    Età
    25
    Messaggi
    17
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    20

    Re: Somma a gruppi

    Intendo che nella colonna E venga fuori 01/01/2010 00:00, 01/01/2010 01:00, 01/01/2010 02:00,ec... e che magari non venga fuori il contenuto della colonna F(la spiegazione a parole dell'intervallo orario) e il contenuto della colonna G, la somma dei mm orari,venga messo nella colonna F

  19. #13
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Somma a gruppi

    Capito
    Codice: 
    Option Explicit
    Sub Somma()
    Dim Ur, X, Rg
    Ur = Range("A" & Rows.Count).End(xlUp).Row
    Rg = 2
    Application.Calculation = xlCalculationManual
    For X = 2 To Ur
        Cells(Rg, 5) = Cells(X, 1)
        Cells(Rg, 6) = WorksheetFunction.Sum(Range(Cells(X, 2), Cells(X + 5, 2)))
        X = X + 5
        Rg = Rg + 1
    Next X
    MsgBox "fatto"
    Application.Calculation = xlCalculationAutomatic
    End Sub

  20. I seguenti 2 utenti hanno dato un "Like" a Raffaele_53 per questo post:


  21. #14
    L'avatar di Angelo_
    Clicca e Apri
    Data Registrazione
    Jul 2016
    Località
    Veneto
    Età
    25
    Messaggi
    17
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    20

    Re: Somma a gruppi

    Citazione Originariamente Scritto da Raffaele_53 Visualizza Messaggio
    Capito...
    Ora va,ma a un certo punto scala non più all'ora esatta,ma all'ora e 10 o 20 min.
    Ma non importa. Ho già fatto nell'altro modo
    Ultima modifica fatta da:Canapone; 07/02/17 alle 09:13

  22. #15

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2811
    Versione Office
    Excel 2013
    Likes ricevuti
    1022
    Likes dati
    979

    Re: Somma a gruppi

    Citazione Originariamente Scritto da Raffaele_53 Visualizza Messaggio
    Capito
    Codice: 
    Option Explicit
    Sub Somma()
    Dim Ur, X, Rg
    Ur = Range("A" & Rows.Count).End(xlUp).Row
    Rg = 2
    Application.Calculation = xlCalculationManual
    For X = 2 To Ur
        Cells(Rg, 5) = Cells(X, 1)
        Cells(Rg, 6) = WorksheetFunction.Sum(Range(Cells(X, 2), Cells(X + 5, 2)))
        X = X + 5
        Rg = Rg + 1
    Next X
    MsgBox "fatto"
    Application.Calculation = xlCalculationAutomatic
    End Sub
    Piccolissimo appunto all'ottima routine di @Raffaele_53, che saluto:
    Codice: 
    For X=2 To Ur Step 5
    per evitare
    Codice: 
    X = X + 5

  23. I seguenti utenti hanno dato un "Like"


  24. #16
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Somma a gruppi

    >>>non ho messo controlli vari
    Dal 1° allegato, ho notato che i record a seguire erano validi
    Dal 2° allegato ho notato che diversi orari non esistono
    Sono i Tuoi dati che sono errati e pertanto il codice ha funzionato male.

    Siccome sono Date & Orari (abbastanza complesso gestirli)
    Codice "Controlla" fà due controlli, se non trova la successione giusta (ex 00:00-00:10-00:20,00:30-00:40-00:50-01:00) inserisce una riga e tutto sarà a posto.
    Se non trova date a seguire si ferma e si posiziona sulla cella.
    Ex 1° errore al 15/05/2010 13:40 la riga dopo è 16/05/2010 22:00
    Mettere eventualmente a posto inserendo delle celle e far ripartire il codice da >>>EX For X = 19383 To Ur (un orario che sia minuti=00)
    Ex 2° 25546 mettere a posto o far ripartire il codice da >>>For X = 25547 To Ur
    Ecc Ecc sino alla fine, solo dopo potrai avviare Sub Somma

    Codice: 
    Option Explicit
    Sub Somma()
    Dim Ur, X, Rg
    Ur = Range("A" & Rows.Count).End(xlUp).Row
    Rg = 2
    Application.Calculation = xlCalculationManual
    For X = 2 To Ur Step 6
        Cells(Rg, 5) = Cells(X, 1)
        Cells(Rg, 6) = WorksheetFunction.Sum(Range(Cells(X, 2), Cells(X + 5, 2)))
        Rg = Rg + 1
    Next X
    Application.Calculation = xlCalculationAutomatic
    MsgBox "fatto"
    End Sub
    Sub controlla()
    Dim Ur, X, Rg
    Ur = Range("A" & Rows.Count).End(xlUp).Row
    Rg = 2
    For X = 2 To Ur ' per farlo ripartire cambi il numero davanti
        If Int(DateAdd("n", 10, Cells(X, 1))) = Int(Cells(X + 1, 1)) Then
            If Round(DateAdd("n", 10, Cells(X, 1)), 5) <> Round(Cells(X + 1, 1), 5) Then
                Range("A" & X + 1 & ":C" & X + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
                Cells(X + 1, 1) = DateAdd("n", 10, Cells(X, 1))
            End If
        Else
            Cells(X, 1).Activate
            MsgBox "Errore"
            Exit Sub
        End If
    Next X
    MsgBox "fatto"
    End Sub

  25. I seguenti utenti hanno dato un "Like"


Discussioni Simili

  1. Gestione turni e gruppi di lavoro
    Di gino0o0o nel forum Foglio di calcolo su altre Piattaforme
    Risposte: 13
    Ultimo Messaggio: 14/03/17, 16:37
  2. [Risolto] Estrapolare i gruppi di giorni lavorati continui
    Di tk71 nel forum Domande su Excel in generale
    Risposte: 11
    Ultimo Messaggio: 19/10/16, 19:42
  3. confronto dati in gruppi
    Di StefanoDB nel forum Domande su Excel in generale
    Risposte: 13
    Ultimo Messaggio: 20/06/16, 17:47
  4. Rappresentare due gruppi di dati con un istogramma
    Di migdan nel forum Domande sui Grafici di Excel
    Risposte: 6
    Ultimo Messaggio: 21/05/16, 13:00
  5. Trasporre e Disporre i numeri in gruppi di 11
    Di Gerardo Zuccalà nel forum Domande su Excel in generale
    Risposte: 3
    Ultimo Messaggio: 30/07/15, 10:21

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •