Condividi:        

dubbio excel: top 3 numeri (funzione grande con se)

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

dubbio excel: top 3 numeri (funzione grande con se)

Postdi Xeronite » 31/03/14 00:19

Ciao a tutti, mi chiamo Francesco e sono nuovo del forum.
Ho un problema con una funzione che non riesco a creare (non sono un esperto di excel) e spero possiate aiutarmi.
Immaginate due Sheet (FOGLIO1 E FOGLIO2).
Sul Foglio 1 ho due colonne, D e G:la colonna D va da 1 a 30 ed è divisa a metà, in tutte le prime 15 celle c'è sempre un valore=20, mentre nelle seconde 15 c'è sempre il valore 30. Nella colonna G, che va anch'essa da 1 a 30, ci sono numeri sparsi in ordine casuale, 3,9,12,1,7,3,ecc. Sul Foglio 2 non c'è niente ma in una cella a caso, facciamo D8, io voglio che mi compaia il numero più grande della colonna G del Foglio1 che faccia parte però dell'intervallo numerico 20 della colonna D, quindi trovato soltanto tra le prime 15 righe. Come devo fare? A me serve trovare i primi 3 numeri grandi tra le righe numeriche 20, e senza doppioni possibilmente.
Grazie
Fra
Xeronite
Newbie
 
Post: 4
Iscritto il: 31/03/14 00:02

Sponsor
 

Re: dubbio excel: top 3 numeri (funzione grande con se)

Postdi Flash30005 » 31/03/14 01:28

Ciao Xeronite e benvenuto nel Forum

In D8 del foglio2 potrai inserire solo il massimo valore del range da te voluto per gli altri due valori?
Quindi ho pensato di trascrivere questi valori in D9 e D10 e utilizzare questa macro
Codice: Seleziona tutto
Sub TrovaMax()
Set Ws1 = Worksheets("Foglio1")
Set Ws2 = Worksheets("Foglio2")
Dim VG(15)
ValoreD = 20
VN = 0
For RR1 = 1 To 30
If Ws1.Range("D" & RR1).Value = ValoreD Then
VN = VN + 1
VG(VN) = Ws1.Range("G" & RR1).Value
End If
Next RR1
myVD = Array(VG(1), VG(2), VG(3), VG(4), VG(5), VG(6), VG(7), VG(8), VG(9), VG(10), VG(11), VG(12), VG(13), VG(14), VG(15))
Ws2.Range("D8").Value = Application.WorksheetFunction.Max(myVD)
Ws2.Range("D9").Value = Application.WorksheetFunction.Large(myVD, 2)
Ws2.Range("D10").Value = Application.WorksheetFunction.Large(myVD, 3)
End Sub


Per inserire la macro nel tuo file devi premere Alt e F11
e dal menu inserisci seleziona modulo, poi, nel frame di destra incolli il codice e lo avvii
Unico problema che potrebbe sorgere è la questione dei doppioni che risolveremo in un secondo momento se opterai per questa soluzione

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: dubbio excel: top 3 numeri (funzione grande con se)

Postdi Xeronite » 31/03/14 01:36

Ciao Flash e grazie della risposta. Se invece di 30 celle volessi fare l'intera colonna? E se invece della loro metà (15) fossero di più ma non so quante? Cosa devo cambiare nella macro? Ti ringrazio
Fra
Xeronite
Newbie
 
Post: 4
Iscritto il: 31/03/14 00:02

Re: dubbio excel: top 3 numeri (funzione grande con se)

Postdi Flash30005 » 31/03/14 01:41

Ma sono comunque consecutive le righe che hanno il valore 20 (o altro)?
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: dubbio excel: top 3 numeri (funzione grande con se)

Postdi Xeronite » 31/03/14 01:47

Si, le righe 20 e 30 sono consecutive però provo a spiegarti meglio cosa devo fare, ho una bella gatta da pelare: sul foglio 1 tengo le statistiche che sono sia giornaliere sia mensili. Ogni giorno dovrei aggiungere un foglio con tutta una serie di valori estrapolati da un programma. Di questi valori mi interessano due colonne che sono la D e la G. I valori che aggiungo con un foglio al giorno variano, a volte sono di meno a volte di più ecco perchè mi serve lavorare con l'intera colonna.Il resto già l'ho spiegato (spero bene) sopra: devo trovare di ogni foglio che aggiungo al giorno i top 3 numeri della colonna G, sia per il valore 20 sia per il 30. Successivamente dovrei anche trovare i top 3 numeri in accumulato mensile (un casino) dicendo a excel di sommare i top 3 di ogni fogli oche aggiungo così da trovarmi i più frequenti giorno dopo giorno.
Spero di essere stato un pò più chiaro.
Xeronite
Newbie
 
Post: 4
Iscritto il: 31/03/14 00:02

Re: dubbio excel: top 3 numeri (funzione grande con se)

Postdi Flash30005 » 31/03/14 01:56

Potresti allegare un file-tipo?
per allegare un file segui questa procedura

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: dubbio excel: top 3 numeri (funzione grande con se)

Postdi Xeronite » 31/03/14 02:07

si ok grazie
Xeronite
Newbie
 
Post: 4
Iscritto il: 31/03/14 00:02

Re: dubbio excel: top 3 numeri (funzione grande con se)

Postdi Anthony47 » 31/03/14 10:56

Se in Foglio2 la cella E7 e quelle sottostanti sono libere, potresti inserire in D8 ed E8 di Foglio2 rispettivamente le formule
Codice: Seleziona tutto
=GRANDE((Foglio1!$D$1:$D$2000=30)*(Foglio1!$G$1:$G$2000);1+SOMMA(E$7:E7))
=SOMMA((Foglio1!$D$1:$D$2000=30)*(Foglio1!$G$1:$G$2000=D8))
Poi copia D8:E8 in D9:D10 per avere il secondo e il terzo piu' grande valore.

Se E7 e sottostanti non sono libere, usa un' altra colonna e modifica di conseguenza la prima formula; es se usi Z7 e sottostanti, invece di +SOMMA(E$7:E7)) userai +SOMMA(Z$7:Z7))

Quale versione di Excel usi?

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

Re: dubbio excel: top 3 numeri (funzione grande con se)

Postdi Anthony47 » 31/03/14 13:54

Dimenticavo: ambedue le formule sono da confermare con Contr-Maiusc-Enter, non il solo Enter
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "dubbio excel: top 3 numeri (funzione grande con se)":


Chi c’è in linea

Visitano il forum: Nessuno e 59 ospiti