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
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
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 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
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
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
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 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
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
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
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 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
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: 19196
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
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
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 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
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
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
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: 19196
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
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
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
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
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: 19196
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
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
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: 19196
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
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
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: 19196
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
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
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 57 ospiti