Calcolo media



  • Calcolo media
    di Peppino1 (utente non iscritto) data: 07/04/2015 15:37:53

    Come si calcola la media in ore minuti e secondi in excel 2003 avendo a disposizione i seguenti dati:
    da ore 21.10 a 23.55 differenza 2.45
    da ore 1.00 a 1.55 differenza 0.55
    da ore 4.15 a 8.00 differenza 3.45
    da ore 1.25 a 6.10 differenza 4.45
    Dovrei calcolare la media oraria sulle differenze
    Grazie



  • di Mister_x (utente non iscritto) data: 07/04/2015 18:20:30

    ciao

    esiste la funzione MEDIA()

    se non ti trovi posta un file con cosa vuoi fare e cosa vuoi ottenere

    ciao




  • calcolo media oraria
    di Marius44 data: 08/04/2015 12:35:00

    Credo che la difficoltà maggiore sia fare le differenze fra gli orari proposti. Ritengo che la macro indicata sotto faccia l tuo scopo. Ho supposto che gli orari di inizio e fine siano nelle colonne A2:A5 e B2:B5 mentre le differenze verranno scritte inella colonna C2:C5. Infine, con la funzione Media, ottiene la media.
    Mi piacerebbe un giudizio dagli esperti. Grazie.
     
    Sub MediaDifferenze()
        Dim riga As Integer
        Dim ptz, arr, difh, difn, ore, minuti As String
        riga = ActiveSheet.Range("A65000").End(xlUp).Row 'ultima riga occupata
        For i = 2 To riga
            'formatta come ore,minuti e secondi il dato nella cella
            ptz = FormatDateTime(Cells(i, 1), vbShortTime)
            arr = FormatDateTime(Cells(i, 2), vbShortTime)
            'esegue la differenza fra i due dati
            difh = DateDiff("h", ptz, arr): ore = difh * 60     'per le ore
            difn = DateDiff("n", ptz, arr): minuti = difn - ore 'per i minuti meno le ore
            'se minuti è inferiore a zero allora sommo 60 e tolgo 1 ora dalle ore
            If minuti < 0 Then minuti = 60 + minuti: difh = difh - 1
            Cells(i, 3) = difh & ":" & minuti   'scrivo nella cella a fianco il risultato
        Next i
        'calcola la media oraria della somma delle differenze
        Cells(5, 4).FormulaR1C1 = "=AVERAGE(R[-3]C[-1]:R" & riga & "C[-1])"
    End Sub



  • di Mister_x (utente non iscritto) data: 08/04/2015 14:12:22

    ciao

    tanto per restare in attesa di risposta
    se non vuoi calcolare le differenze diciamo in colonna c e i tuoi dati sona in colonna A e B
    A1:A4 inizio B1:B4 Fine dove ti serve il calcolo inserisci
    =MATR.SOMMA.PRODOTTO(MEDIA((B1:B4-A1:A4))) formato cella ora

    ciao







  • di Peppino1 (utente non iscritto) data: 08/04/2015 15:56:42

    Grazie per le risposte.



  • di Marius44 data: 08/04/2015 19:16:47

    Utilizzo Excel 2007 e non ricordo se in Excel 2003 c'è la funzione proposta. Quel giro per le differenze era dovuto al fatto che era stato specificato Excel2003. Comunque con la formula nel foglio (se hai Excel 2007) o con la macro ottieni il risultato.