Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

EXCEL - STATISTICA NUMERICA

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

EXCEL - STATISTICA NUMERICA

Postdi Lucio Peruggini » 04/06/11 00:18

Per cortesia, vorrei se possibile ricavare i dati seguenti che probabilmente richiedono una macro.

Premetto: so di poterlo fare con i filtri ma i tempi sono lunghissimi e la medesima statistica dovrei apportarla su svariate ricerche.

Nel foglio 1 colonne A-B ho questi dati:


Immagine


In colonna “A” e in ordine numerico, ci sono tutte le uscite dei numeri da 1 a 90 che all’incirca ammontano a 214.000 righe. Segue la colonna “B” con valori numerici e, da entrambe le colonne, dovrei ricavare i dati argomentati nelle colonne “H – L”.
Volendo, se più semplice o coerente, questi dati possiamo metterli nel foglio 2. In pratica i dati estrapolati dalle colonne A e B seguono questo iter:
La colonna “H” contiene i numeri da 1 a 90;
la colonna “I” conta quanti eventi appartengono ad ogni numero presente in colonna “A”;
la colonna “J” rileva il numero più grande appartenente ad esempio al numero 1 che in questo caso è 323;
la colonna “K” divide “J” x 2 (condizione: se la cifra finale di “J” è dispari, arrotondare in eccesso; se pari, aggiungere una unità);
la colonna “L” contiene il valore di quanti sono gli eventi che hanno superato la soglia ad esempio del numero 1 della colonna “I”.

Traduco con esempio pratico.

Il numero 1 colonna A2:A2323 contiene esattamente 2321 casi che ho riportato in “I2”. Il numero più alto range B2:B2323 è 323 riportato in “J2” che, diviso 2 = 162 (arrotondato in eccesso) e riportato in colonna “K2”. Segue il valore 87 riportato in “L2” il quale è ottenuto da: > di 162 del range B2:B2323. Così per tutti i numeri da 1 a 90 della colonna “A”.

Spero di essere stato il più chiaro possibile nell’esposizione e, se troppo complicato, grazie comunque.

Un caro saluto
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Sponsor
 

Re: EXCEL - STATISTICA NUMERICA

Postdi Avatar3 » 04/06/11 00:26

Ho letto metà del tuo post
penso di aver capito cosa ti occorre e credo sia fattibile
ma non mi chiedere di creare un file simile al tuo
sarebbe più opportuno che inviassi una parte di file (max 60.000 righe per via della mia versione excel che è 2003 )
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: EXCEL - STATISTICA NUMERICA

Postdi Lucio Peruggini » 04/06/11 00:41

https://rapidshare.com/files/1810715656 ... l_2003.xls

Grazie Avatar, non mi serve il file ma la macro da inserire nel mio foglio.
Ho allegato solamente 23334 righe che comprendono i numeri da 1 a 10.
Saluti
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: EXCEL - STATISTICA NUMERICA

Postdi Lucio Peruggini » 04/06/11 00:47

Lucio Peruggini ha scritto:https://rapidshare.com/files/1810715656/Per_forum_PC_facile_excel_2003.xls

Grazie Avatar, non mi serve il file ma la macro da inserire nel mio foglio.
Ho allegato solamente 23334 righe che comprendono i numeri da 1 a 10.
Saluti


Rileggendo mi sono accorto che manca una dato.

Mentre per i dispari si arrotonda in eccesso, per i pari bisogna aggiungere una unità. supponiamo che il valore sia "300", deve diventare 301.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: EXCEL - STATISTICA NUMERICA

Postdi Lucio Peruggini » 04/06/11 07:55

Avatar3 ha scritto:Ho letto metà del tuo post
penso di aver capito cosa ti occorre e credo sia fattibile
ma non mi chiedere di creare un file simile al tuo
sarebbe più opportuno che inviassi una parte di file (max 60.000 righe per via della mia versione excel che è 2003 )



Scusami Avatar, avevo mal interpretato.
Certo che non pretendevo che tu creassi una file simile al mio, quello c'è l'ho. Del resto, come si potrebbe pretendere cio?
L'aiuto che sto ricevendo per me che non capisco nulla di VB è già grandioso.
Buona giornata
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: EXCEL - STATISTICA NUMERICA

Postdi Avatar3 » 04/06/11 10:20

E' tutto abbastanza chiaro
l'unico dato che non mi torna è quello della colonna L nel caso di 1 è pari a 87 che dovrebbe essere ripetuto più di 162 volte nella colonna B in caso di 1 della colonna A oppure in tutta la colonna B (indipendentemente dal numero in A)?
perché di 87 ne ho trovati solo 7 (con 1 in A)
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: EXCEL - STATISTICA NUMERICA

Postdi Lucio Peruggini » 04/06/11 11:02

Avatar3 ha scritto:E' tutto abbastanza chiaro
l'unico dato che non mi torna è quello della colonna L nel caso di 1 è pari a 87 che dovrebbe essere ripetuto più di 162 volte nella colonna B in caso di 1 della colonna A oppure in tutta la colonna B (indipendentemente dal numero in A)?
perché di 87 ne ho trovati solo 7 (con 1 in A)


il Numero 87 della colonna "L" è riferito alla colonna "B" cioè quante volte dei 2321 casi che riguardano il N. 1 esso, in colonna "B" ha superato il tetto max 162? A me risulta per l'appunto 87 volte.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: EXCEL - STATISTICA NUMERICA

Postdi Lucio Peruggini » 04/06/11 11:08

Se imposti i filtri sul foglio che ho inviato, selezioni il numero 1, in colonna "B" > di 162 avrai 87

Saluti
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: EXCEL - STATISTICA NUMERICA

Postdi Avatar3 » 04/06/11 11:17

Lucio Peruggini ha scritto:Se imposti i filtri sul foglio che ho inviato, selezioni il numero 1, in colonna "B" > di 162 avrai 87

Se imposto i filtri in colonna A 1 ottengo tutti i numeri in A con 1
ora imposto il filtro in B > di 162 ottengo tutti i numeri in B > di 162
es.:
166
166
195
195
182
221
221
221
221
221
221
221
221
221
221
221
172
221
172
221
203
203
203
etc
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: EXCEL - STATISTICA NUMERICA

Postdi Avatar3 » 04/06/11 11:20

Adesso ho capito
Quanti numeri sono maggiori del valore 162
ok
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: EXCEL - STATISTICA NUMERICA

Postdi Avatar3 » 04/06/11 11:36

Questa macro dovrebbe fare tutto quello che hai richiesto
Codice: Seleziona tutto
Sub CompilaTab()
Application.ScreenUpdating = False
Application.Calculation = xlManual

Range("I2:L91").ClearContents
UR = Range("A" & Rows.Count).End(xlUp).Row
Mriga = 0
MaxVal = 0
For RR = 2 To UR
    Riga = Range("A" & RR).Value
    Range("I" & Riga + 1).Value = Range("I" & Riga + 1).Value + 1
    If MaxVal < Range("B" & RR).Value Then MaxVal = Range("B" & RR).Value
    If Mriga <> Riga Then
        If Riga > 1 Then
        Range("J" & Riga).Value = MaxVal
        Range("K" & Riga).Value = Round(MaxVal / 2 + 0.6)
        End If
        Mriga = Riga
        MaxVal = 0
    End If
Next RR
Range("J" & Riga + 1).Value = MaxVal
Range("K" & Riga + 1).Value = Round(MaxVal / 2 + 0.6)

UR = Range("I" & Rows.Count).End(xlUp).Row
RigaI = 1
RigaF = 0
For RR = 2 To UR
ContaN = 0
    RigaI = RigaI + 1
    RigaF = RigaF + Range("I" & RR).Value + 1
    ValK = Range("K" & RR).Value
    For RRV = RigaI To RigaF
        If Range("B" & RRV).Value > ValK Then ContaN = ContaN + 1
    Next RRV
    RigaI = RigaF
Range("L" & RR).Value = ContaN
Next RR
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: EXCEL - STATISTICA NUMERICA

Postdi Anthony47 » 04/06/11 12:39

Vedi la soluzione macro postata da Avatar sopra.

Se hai un pc abbastanza performante:
in I2 =
Codice: Seleziona tutto
CONTA.SE(A:A;H2)

in J2 =
Codice: Seleziona tutto
MAX(B$2:B$300000*(A$2:A$300000=H2))
da confermare con Contr-Maiusc-Enter;
in L2
Codice: Seleziona tutto
=SOMMA(--(((B$2:B$300000)*(A$2:A$300000=H2)*(B$2:B$300000>K2))>0))
Contr-Maiusc-Enter.
Le due formule Contr-Maiusc-Enter sono quelle "esigenti" in termini di risorse.

Per K2 l' hai menata per le lunghe :D ; esempio:
1-la colonna “K” divide “J” x 2 (condizione: se la cifra finale di “J” è dispari, arrotondare in eccesso; se pari, aggiungere una unità)
2- esempio: 323 riportato in “J2” che, diviso 2 = 162 (arrotondato in eccesso) e riportato in colonna “K2”
3- Mentre per i dispari si arrotonda in eccesso, per i pari bisogna aggiungere una unità. supponiamo che il valore sia "300", deve diventare 301

Da tutto cio' la cosa piu' probabile e' che in K2 ti serve la formula
Codice: Seleziona tutto
=Int(K2/2)+1

Se non e' cosi' allora devi menarla ancora una volta (almeno per me, e se la macro di Avatar non t' ha invece risolto tutto bene).

Poi copi I2:L2 verso il basso.

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL - STATISTICA NUMERICA

Postdi Lucio Peruggini » 04/06/11 13:28

Immagine

Ciao Avatar e grazie per la macro.
Vi sono però, non so se definirli errori in quanto gli ultimi due valori sono errati: L 10 e L 11; i valori riportatomi dal foglio excel sono quelli che ho inserito nella colonna "M". Mi sembra strano, i primi otto sono giusti gli ultimi due no!

Inoltre, mancano i risultati della colonna "H" cioè il numero corrispondente alla stringa di pertinenza; forse ti è sfuggito. Ma questo no sarebbe un grosso problema poichè posso inserirli manualmente visto che i numeri sono 90 e le stringhe di conseguenza.
Saluti
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: EXCEL - STATISTICA NUMERICA

Postdi Lucio Peruggini » 04/06/11 14:14

Ho inserito tutte le righe ed ho notato che è come se strada facendo perde colpi. Alcuni valori sono giusti, altri sbagliati in più o in meno all'incirca di 7,8 e anche dieci unità. Questo succede solo sull'ultima colonna; gli altri valori sono OK!
Ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: EXCEL - STATISTICA NUMERICA

Postdi Lucio Peruggini » 04/06/11 14:42

Anthony47 ha scritto:Vedi la soluzione macro postata da Avatar sopra.

Se hai un pc abbastanza performante:
in I2 =
Codice: Seleziona tutto
CONTA.SE(A:A;H2)

in J2 =
Codice: Seleziona tutto
MAX(B$2:B$300000*(A$2:A$300000=H2))
da confermare con Contr-Maiusc-Enter;
in L2
Codice: Seleziona tutto
=SOMMA(--(((B$2:B$300000)*(A$2:A$300000=H2)*(B$2:B$300000>K2))>0))
Contr-Maiusc-Enter.
Le due formule Contr-Maiusc-Enter sono quelle "esigenti" in termini di risorse.

Per K2 l' hai menata per le lunghe :D ; esempio:
1-la colonna “K” divide “J” x 2 (condizione: se la cifra finale di “J” è dispari, arrotondare in eccesso; se pari, aggiungere una unità)
2- esempio: 323 riportato in “J2” che, diviso 2 = 162 (arrotondato in eccesso) e riportato in colonna “K2”
3- Mentre per i dispari si arrotonda in eccesso, per i pari bisogna aggiungere una unità. supponiamo che il valore sia "300", deve diventare 301

Da tutto cio' la cosa piu' probabile e' che in K2 ti serve la formula
Codice: Seleziona tutto
=Int(K2/2)+1

Se non e' cosi' allora devi menarla ancora una volta (almeno per me, e se la macro di Avatar non t' ha invece risolto tutto bene).

Poi copi I2:L2 verso il basso.

Ciao.



Ciao Anthony, ho copiato e incollato le tue formule ma come risultato ottengo "0" in tutte le celle.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: EXCEL - STATISTICA NUMERICA

Postdi Avatar3 » 04/06/11 15:56

In effetti c'era un conteggio errato di inizio riga e fine riga
la parte di macro interessata è solo nelle ultime righe che dovrai sustituire con queste (Da UR =... a Next RR)
Codice: Seleziona tutto
UR = Range("I" & Rows.Count).End(xlUp).Row
RigaI = 2
RigaF = 1
For RR = 2 To UR
ContaN = 0
    RigaF = RigaF + Range("I" & RR).Value
    ValK = Range("K" & RR).Value
    For RRV = RigaI To RigaF
        If Range("B" & RRV).Value > ValK Then ContaN = ContaN + 1
    Next RRV
        RigaI = RigaF + 1
Range("L" & RR).Value = ContaN
Next RR

Lasciando come sono
Codice: Seleziona tutto
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub

Se hai problemi te la invio completa

Aggiungo che... la colonna H non la compilo e nemmeno la cancello pertanto scriverai tu il riferimento da 1 a 90 (dalla riga 2 alla riga 91) una volta solo e rimarrà sempre fissa
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: EXCEL - STATISTICA NUMERICA

Postdi Lucio Peruggini » 04/06/11 17:40

Grazie amico mio, funziona alla grande!!!

Come prevedevo poichè avevo già compilato una tabella ho riscontrato sei errori di battitura; i quali purtroppo, quando si ha a che fare col la ripetitività si finisce per sbagliare.

Buona serata e buona domenica.
Che Dio sia la tua forza
Saluti

PS
Avrai notato, ho adoperato un altro link per le immagini; lo trovo ottimo e le medesime rimangono per molto tempo.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: EXCEL - STATISTICA NUMERICA

Postdi Avatar3 » 04/06/11 17:49

:)
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: EXCEL - STATISTICA NUMERICA

Postdi Anthony47 » 05/06/11 00:44

Ciao Anthony, ho copiato e incollato le tue formule ma come risultato ottengo "0" in tutte le celle.
Ho collaudato le formule sul tuo foglio di lavoro, usando $30000 (e non $300000, uso 2003).
Do' per scontato che hai inserito il segno "uguale" nelle formule, quindi non rimane che formattare il PC... ( :D :diavolo:)

Alla prossima!
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL - STATISTICA NUMERICA

Postdi Lucio Peruggini » 06/06/11 16:09

Anthony47 ha scritto:
Ciao Anthony, ho copiato e incollato le tue formule ma come risultato ottengo "0" in tutte le celle.
Ho collaudato le formule sul tuo foglio di lavoro, usando $30000 (e non $300000, uso 2003).
Do' per scontato che hai inserito il segno "uguale" nelle formule, quindi non rimane che formattare il PC... ( :D :diavolo:)

Alla prossima!



Ho,Ho!
Solo ora mi sono accorto del messaggio.

Non capisco, perchè dovrei formattare? La macro di Avatar compreso le altre, funzionano benissimo.
Vuoi forse dire che altre soluzione (cioè formule) non mi permetteranno di lavorare?

In tal caso, vi è una prova semplice che possa fare per riscontrare quanto affermi?
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "EXCEL - STATISTICA NUMERICA":


Chi c’è in linea

Visitano il forum: alfrimpa e 22 ospiti