Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Quota Media

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

Quota Media

Postdi raimea » 27/10/18 20:27

ciao
tramite macro vorrei calcolare la quota media attuale

A) x ottenere si devono sommare i valori in col D da D4
ma solo fin dove c'e una data in col C
( nel file si sommano da D4:D9)

B) si devono contare le righe con le celle con una data in col C4
nel file 6 righe

quindi la quota media e' : A/B

il risultato del tutto vorrei scriverlo in H1

sperando di essere stato chiaro vi allego il file

https://www.dropbox.com/s/14tiz2xlncysod1/271018.jpg?dl=0

https://www.dropbox.com/s/ou82d6e6i8sy2f5/quota%20media.rar?dl=0
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1233
Iscritto il: 11/02/10 07:33
Località: lago

Sponsor
 

Re: Quota Media

Postdi wallace&gromit » 27/10/18 22:34

Ciao Raimea,
certo che sbagliare il pronostico di Metallurg Novokuznetsk - Neftyanik Almetyevsk, dài, non si può!! :lol:

venendo al tuo quesito, puoi più semplicemente usare la worksheetFunction average (cioè la media):
Codice: Seleziona tutto
Sub media()
UR = Foglio1.Cells(Rows.Count, 3).End(xlUp).Row
Range("H1") = Application.WorksheetFunction.Average(Range(Cells(4, 4), Cells(UR, 4)))
End Sub
Office2016 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2002
Iscritto il: 16/01/12 14:21

Re: Quota Media

Postdi raimea » 28/10/18 07:19

ciao
la macro funziona, ma in realta' mi da un risultato diverso
da quello che vorrei io.

la macro mi restituisce un valore 1,461

probabilm. mi considera tutti i valori di col D
mentre vanno considerati SOLO quelli fin dove c'e una data in col C

metre se faccio la somma matematica di:
1,48+1,45+1,48+1,6+1,52+1,6 = 9,13
ho 6 date in col D

risulta 9,13 / 6 = 1,521
e questo e' il valore che mi servirebbe in H1
----------
:) :)
il pronostico di Metallurg Novokuznetsk - Neftyanik Almetyevsk

hai ragione ! come si fa a sbagliare il pronost .
di queste 2 famosissime e conosciutissime !!! :D :D

ciao
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1233
Iscritto il: 11/02/10 07:33
Località: lago

Re: Quota Media

Postdi wallace&gromit » 28/10/18 08:53

Forse quello che succede è che nel tuo file, da qualche parte in basso c'è un valore nella colonna C, io non sono riuscito a scaricare il tuo file e ne ho riprodotto uno da 0 in cui la macro funziona. Prova a verificare, se il problema fosse questo o lo elimini o lo aggiriamo con un ciclo che parte dall'alto e considera solo le date corrispondenti a quella in C4
Office2016 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2002
Iscritto il: 16/01/12 14:21

Re: Quota Media

Postdi raimea » 28/10/18 11:09

ciao
in colonna C4:C103 vengono scritte le date

ci sono poi dei valori delle formule a partire dalla cella C107 in giu

le date nella colonna sono diverse
non e' detto che tutte le date siano uguali a quella in C4

non riesci a scaricare il file ?

ciao
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1233
Iscritto il: 11/02/10 07:33
Località: lago

Re: Quota Media

Postdi wallace&gromit » 28/10/18 12:17

Riesco a scaricare ma non a scompattare, ma è un problema mio con i rar.

Allora dobbiamo partire dall'alto, con questa macro si ferma all'ultima riga piena.


Codice: Seleziona tutto
Sub media()
UR = Foglio1.Cells(4,3).End(xlDown).Row
Range("H1") = Application.WorksheetFunction.Average(Range(Cells(4, 4), Cells(UR, 4)))
End Sub


P.S. mio figlio, che vive di pane e hockey, mi dice che il Novokuznetsk in effetti è famoso, fino all'anno scorso giocava in KHL, la massima lega di hockey in Europa
Office2016 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2002
Iscritto il: 16/01/12 14:21

Re: Quota Media

Postdi Anthony47 » 28/10/18 12:28

Hola; il primo problema sul tuo codice e' che nel file di Raimea il codename del foglio sarebbe "Foglio8"; il secondo e' che in colonna C, molto in basso, ci sono altri dati che falsano il calcolo di UR.
La mia modifica:
Codice: Seleziona tutto
With Sheets("Masaniello 1")
    UR = .Range("C3").End(xlDown).Row
    .Range("H1") = Application.WorksheetFunction.Average(.Range(.Cells(4, 4), .Cells(UR, 4)))
End With

Ciao a tutti
Avatar utente
Anthony47
Moderatore
 
Post: 17003
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Quota Media

Postdi raimea » 28/10/18 13:01

ciao
ora tutto ok

grazie ad entrambi

si sono scommesse sul gioco dell Hokey su ghiaccio
io non sono molto esperto ma mi piace questo sport.

ciao
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1233
Iscritto il: 11/02/10 07:33
Località: lago

Re: Quota Media

Postdi wallace&gromit » 28/10/18 14:21

Le piccole soddisfazioni del "pc faciliano" medio sono quelle di vedere che le soluzioni di Anthony sono sostanzialmente uguali alle tue. Probabilmente i due post si sono accavallati.

Sì l'hockey è uno sport molto spettacolare e intenso, ma scommettere sui risultati penso sia difficile, perché può essere molto imprevedibile.
Office2016 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2002
Iscritto il: 16/01/12 14:21

Re: Quota Media

Postdi raimea » 30/10/18 21:48

ciao
quando faccio calcolare la quota media
mi sono accorto mi succede un imprevisto.

gli importi gia precalcolati in col F
dalla riga F3 in giu cambiano !!

passano da 29-28-28-27-30-33
a 58-56-56-53-61-65

circa il doppio

io ho fatto molte volte delle prove tramite tasto F8
facendo step-By-step di capire dove sia l 'inghippo
ma non ci sono riuscito

la macro della quota media si chiama: quotamedia
ed e' in modulo 1

vi allego il file
https://www.dropbox.com/s/rqr6r8652n22k1u/quota%20media.rar?dl=0

ciao
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1233
Iscritto il: 11/02/10 07:33
Località: lago

Re: Quota Media

Postdi Anthony47 » 30/10/18 23:12

Mentre F4 ed F5 sono scritti come valori, il contenuto di F6 e sottostanti e' calcolato tramite formule; scrivendo in H1 (cosa che la macro fa) cambiano i risultati delle formule.
A colpo d'occhio si nota che H5 e' un diretto "precedente" di F6; a sua volta H5 ha H1 come "precedente di 3° livello"; quindi e' evidente che quando si modifica H1 allora F6 si ricalcola. A sua volta F6 ha come "dipendente di 2° livello F7; e cosi' via per F8, F9, etc etc.

Non conosco organizzazione e significato del foglio, quindi non so indicarti se qualcosa e' sbagliato in queste formule.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17003
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Quota Media

Postdi raimea » 30/10/18 23:19

ciao
ok , capito
sposto il risultato della quota media in un altra casella

grazie
ciao
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1233
Iscritto il: 11/02/10 07:33
Località: lago

Re: Quota Media

Postdi raimea » 03/11/18 15:03

ciao
vorrei applicare la macro x la quota media in un altro file
in un foglio impostato in maniera diversa .
ho tentato di adattarla ma non mi da il risultato corretto.

provo a descrivere.
in fgl massa pari vorrei avere la quota media in cella Q2

le righe da analizzare sono in col P da P6
le righe da analizzare sono solo quelle dove c'e una data in col B6 in giu

questa la macro da me modific ma non da ris esatto
e' nel modulo 1
--------------
Codice: Seleziona tutto
Sub quotamedia()

 ActiveSheet.Unprotect
 Application.ScreenUpdating = False
 
 '------controlo che ci sia almeno 1ma data-----------
  Sheets("Massa pari").Select
  If Range("b6").Value = 0 Then
  MsgBox "non ci sono date"
  Sheets("massa pari").Select
  GoTo fine
   End If
'--------------------------------------------------------
 
With Sheets("Massa pari")
    ur = .Range("b5").End(xlDown).Row
    .Range("q2") = Application.WorksheetFunction.Average(.Range(.Cells(6, 16), .Cells(ur, 6)))
End With
'---------------------

fine:

End Sub

---------------------------------
vi allego il file
grazie

https://www.dropbox.com/s/8yosly8xaqxnh5n/quota%20media.rar?dl=0
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1233
Iscritto il: 11/02/10 07:33
Località: lago

Re: Quota Media

Postdi Anthony47 » 03/11/18 18:05

Forse
.Range("q2") = Application.WorksheetFunction.Average(.Range(.Cells(6, 16), .Cells(ur,16)))?

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17003
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Quota Media

Postdi raimea » 03/11/18 18:11

ciao
azz..... :oops:
e' vero era quello il valore che non avevo compilato correttamente,
questa la sintassi corretta:
Codice: Seleziona tutto
With Sheets("Massa pari")
    ur = .Range("b5").End(xlDown).Row
    .Range("q2") = Application.WorksheetFunction.Average(.Range(.Cells(6, 16), .Cells(ur, 16)))
End With


---------
ma il conteggio della media non e' comunque corretto
se inserisco solo 2 date e ad ognuna scrivo una quota 3
la media dei SOLI 2 valori deve essere 3 invece mi restituisce 4
un valore errato
vedi immagine:
https://www.dropbox.com/s/svd7rmp3666hpdk/31118.jpg?dl=0
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1233
Iscritto il: 11/02/10 07:33
Località: lago

Re: Quota Media

Postdi Anthony47 » 03/11/18 20:57

E' possibile che quello sia lo screenshot fatto prima del completamento della macro (e quindi in "regime" di Application.ScreenUpdating = False)?
Comunque aggiungi la riga "Debug.Print", poi esegui la macro, apri la "finestra Immediata del vba" (si apre con Contr-g) e segnala nel tuo prossimo messaggio che cosa e' visualizzato:
Codice: Seleziona tutto
With Sheets("Massa pari")
    ur = .Range("b5").End(xlDown).Row
    Debug.Print ur, .Range(.Cells(6, 16), .Cells(ur, 16)).Address, Application.WorksheetFunction.Average(.Range(.Cells(6, 16), .Cells(ur, 16)))
    .Range("q2") = Application.WorksheetFunction.Average(.Range(.Cells(6, 16), .Cells(ur, 16)))
End With

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17003
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Quota Media

Postdi raimea » 03/11/18 21:23

ciao
questa l immagine richiesta

PS ora sembra che il risultato ottenuto sia corretto !

https://www.dropbox.com/s/1vb1e58llc986jw/31118a.jpg?dl=0
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1233
Iscritto il: 11/02/10 07:33
Località: lago

Re: Quota Media

Postdi Anthony47 » 04/11/18 01:33

Se funziona tutto allora il messaggio di debug serve a niente; infatti esso dice che l'ultima riga e' la 7, quindi l'area esaminata e' P6:P7, e il risultato calcolato e' 3.
Alla prossima?
Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17003
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Quota Media

Postdi raimea » 04/11/18 11:03

ciao
si , confermo
ora e' tutto ok
Codice: Seleziona tutto
'--------------------------------------------------------
 
With Sheets("Massa pari")
    ur = .Range("b5").End(xlDown).Row
       .Range("q2") = Application.WorksheetFunction.Average(.Range(.Cells(6, 16), .Cells(ur, 16)))
End With
'---------------------


Si, alla prossima !! :D

grazie
ciao
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1233
Iscritto il: 11/02/10 07:33
Località: lago


Torna a Applicazioni Office Windows


Topic correlati a "Quota Media":


Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti