Risultati da 1 a 11 di 11

Discussione: Come calcolare la media delle prime n celle non vuote in un intervallo?



  1. #1
    L'avatar di franzo62
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    milano
    Messaggi
    3
    Versione Office
    Office 2016
    Likes ricevuti
    0
    Likes dati
    0

    Come calcolare la media delle prime n celle non vuote in un intervallo?

    - I dati di origine sono 250 numeri che occupano 250 celle contigue, riga 2, intervallo E2:IT2
    - I dati sono aggiornati periodicamente, ogni cella può assumere un qualsiasi valore maggiore o uguale a zero
    - Nella cella A2 digito un numero X (intero, maggiore di 1)
    - Nella cella C2 vorrei calcolare la media dei primi X numeri della riga 2 diversi da zero a partire da sinistra cioè da E2
    Mi suggerite una formula adatta?
    Grazie mille.
    Ultima modifica fatta da:franzo62; 30/10/15 alle 17:53 Motivo: maggiore chiarezza
    Invia MPPM 

  2. #2
    L'avatar di zio_tom
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Veneto
    Messaggi
    526
    Versione Office
    2010 - Win10
    Likes ricevuti
    64
    Likes dati
    17
    usa =SUBTOTALE(101;E2:IT2) fa la media solo su visibili
    e non mettere 0 ma cella vuota oppure vascondi la colonna con valori 0
    n°3 - Win10pro + Office 2010 ----- n°1 - Win7pro + Office 2010 ----- n°1 - WinXPpro + Office 2010
    Invia MPPM 

  3. #3
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3334
    Versione Office
    2013 PC
    Likes ricevuti
    481
    Likes dati
    49
    Citazione Originariamente Scritto da franzo62 Visualizza Messaggio
    - I dati di origine sono 250 numeri che occupano 250 celle contigue, riga 2, intervallo E2:IT2
    - I dati sono aggiornati periodicamente, ogni cella può assumere un qualsiasi valore maggiore o uguale a zero
    - Nella cella A2 digito un numero X (intero, maggiore di 1)
    - Nella cella C2 vorrei calcolare la media dei primi X numeri della riga 2 diversi da zero a partire da sinistra cioè da E2
    Mi suggerite una formula adatta?
    Grazie mille.
    Ciao Franzo prova a vedere se ti va bene.
    Naturalmente ho fatto la prova su pochi numeri e non su 250 ma la cosa non ha importanza in quanto se il valore impostato in A2 è superiore a 250 viene segnalato.

    :299:

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)
    Invia MPPM 

  4. #4
    L'avatar di Canapone
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Firenze
    Messaggi
    1075
    Versione Office
    2010 su Win
    Likes ricevuti
    598
    Likes dati
    199
    Ciao a tutti

    provo con una formula, che ha bisogno della forma matriciale

    =SOMMA(E2:INDICE(E2:IT2;1;PICCOLO(SE(E2:IT2;RIF.COLONNA(E:IT)-4);A2)))/A2

    Una volta copiata deve essere riconfermata con control+maiusc+invio.

    Nel caso che A2 possa contenere un numero superiore ai possibili numeri validi da mediare.

    =SE.ERRORE(SOMMA(E2:INDICE(E2:IT2;1;PICCOLO(SE(E2:IT2;RIF.COLONNA(E:IT)-4);A2)))/A2;SOMMA(E2:IT2)/CONTA.SE(E2:IT2;">0"))

    Si potrebbe mettere anche un controllo per attivare la formula solo se A2>0...

    Saluti
    Invia MPPM 

  5. #5
    L'avatar di franzo62
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    milano
    Messaggi
    3
    Versione Office
    Office 2016
    Likes ricevuti
    0
    Likes dati
    0
    Funziona, grazie Baloon!
    E se invece di una riga di dati (riga 2) ne avessi tipo 50 o 100 righe?
    C'è modo di utilizzare una formula per la cella C2, che si possa copiare verso il basso su tutte le righe?
    Invia MPPM 

  6. #6
    L'avatar di franzo62
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    milano
    Messaggi
    3
    Versione Office
    Office 2016
    Likes ricevuti
    0
    Likes dati
    0
    Perfetta, grazie mille Canapone!
    Invia MPPM 

  7. #7
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3334
    Versione Office
    2013 PC
    Likes ricevuti
    481
    Likes dati
    49
    Citazione Originariamente Scritto da franzo62 Visualizza Messaggio
    Funziona, grazie Baloon!
    E se invece di una riga di dati (riga 2) ne avessi tipo 50 o 100 righe?
    C'è modo di utilizzare una formula per la cella C2, che si possa copiare verso il basso su tutte le righe?
    Si può fare ma se ti va bene la soluzione di Canapone (ciao) basta che copi la formula sulle righe che ti interessano.

    :299:

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)
    Invia MPPM 

  8. #8

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7119
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2060
    Likes dati
    1298
    Io ho capito che i numeri sono solo presenti nella riga 2 e partono da E2, e quindi ho pensato ad una formula del genere in C2:

    =MEDIA(E2:INDIRETTO(SOSTITUISCI(INDIRIZZO(2;A2+4;4);2;"")&2))
    Invia MPPM 

  9. #9
    L'avatar di zio_tom
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Veneto
    Messaggi
    526
    Versione Office
    2010 - Win10
    Likes ricevuti
    64
    Likes dati
    17
    propongo una Function, cosi che non necessita nemmeno il pulsante
    Codice: 
    Function calcola_media(numC As Integer, Celle As Range)
        'il primo campo punta ad A2 (numero di colonne da processare
        'il secondo è il range di caselle contenete i dati ET2:IT2
        Dim Somma
        Dim Area
        Dim Riga, RigaIniz, RigaFin
        Dim Colonna, ColonnaIniz, ColonnaFin
        
        For Area = 1 To Celle.Areas.Count
          RigaIniz = Celle.Areas(Area).Row
          RigaFin = Celle.Areas(Area).Rows(Celle.Areas(Area).Rows.Count).Row
          ColonnaIniz = Celle.Areas(Area).Column
          ColonnaFin = Celle.Areas(Area).Columns(Celle.Areas(Area).Columns.Count).Column
          
          For Colonna = ColonnaIniz To ColonnaIniz + numC
              vin = Cells(RigaIniz, Colonna).Value
              If vin > 0 Then
                 Somma = Somma + vin
                 ncon = ncon + 1
              End If
          Next Colonna
        Next Area
        calcola_media = Somma / ncon
    End Function
    n°3 - Win10pro + Office 2010 ----- n°1 - Win7pro + Office 2010 ----- n°1 - WinXPpro + Office 2010
    Invia MPPM 

  10. I seguenti 3 utenti hanno dato un "Like" a zio_tom per questo post:


  11. #10
    L'avatar di Canapone
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Firenze
    Messaggi
    1075
    Versione Office
    2010 su Win
    Likes ricevuti
    598
    Likes dati
    199
    Ciao a tutti,

    ho levato il control+maiusc+invio

    =SE.ERRORE(SOMMA(E2:INDICE(E2:IT2;1;AGGREGA(15;6;RIF.COLONNA(E:IT)-4/(E2:IT2<>0);A2)))/A2;SOMMA(E2:IT2)/CONTA.SE(E2:IT2;">0"))

    cambia poco.

    Saluti
    Invia MPPM 

  12. I seguenti 2 utenti hanno dato un "Like" a Canapone per questo post:


  13. #11
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1652
    Versione Office
    2010 PC
    Likes ricevuti
    889
    Likes dati
    183
    Un saluto a tutti

    Io ho dato al quesito, la stessa interpretazione di Canapone. Volendo dare un'alternativa che tenga anche presente l'approccio di GES, fondendo i due ragionamenti più qualche piccola variante:
    =SOMMA(INDIRETTO("E2:"&INDIRIZZO(2;AGGREGA(15;6;RIF.COLONNA(E:IT)/(E2:IT2<>0);MIN(A2;CONTA.SE(E2:IT2;">0"))));VERO)/MIN(A2;CONTA.SE(E2:IT2;">0")))
    oppure
    =SOMMA(SCARTO(E2;;;;AGGREGA(15;6;RIF.COLONNA(E:IT)/(E2:IT2<>0);MIN(A2;CONTA.SE(E2:IT2;">0"))))/MIN(A2;CONTA.SE(E2:IT2;">0")))

    entrambe matriciali
    Invia MPPM 

  14. I seguenti 3 utenti hanno dato un "Like" a ninai per questo post:


Discussioni Simili

  1. [Risolto] Formula per calcolare un intervallo dinámico
    Di Agostino nel forum Domande su Excel in generale
    Risposte: 10
    Ultimo Messaggio: 05/02/17, 15:48
  2. Calcolare la media su excel
    Di Alejandrina nel forum Domande su Excel in generale
    Risposte: 7
    Ultimo Messaggio: 11/09/16, 18:15
  3. Allineamento ad esclusione delle celle vuote
    Di BRAZ66 nel forum Domande su Excel in generale
    Risposte: 5
    Ultimo Messaggio: 09/09/16, 23:33
  4. Calcolare media tenendo conto del mese e dell'impianto
    Di G.Bove nel forum Domande su Excel in generale
    Risposte: 8
    Ultimo Messaggio: 13/06/16, 23:59
  5. Sommare set tennis con duplicati e calcolare media partite e ore gioco
    Di Ste nel forum Domande su Excel in generale
    Risposte: 15
    Ultimo Messaggio: 06/07/15, 18:53

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
  •