Condividi:        

Excel - Riepilogo, come fare?

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 - Riepilogo, come fare?

Postdi Flash30005 » 21/10/08 02:24

Ma è esplosa la mania del gioco del Lotto? :eeh:

Un amico mi ha posto un quesito che non mi pare di facile risoluzione (allego il file per capire meglio l'esigenza)
Esiste il foglio Statistiche nelle righe ci sono dati (testata gialla Col da A a F) relativi ad una analisi precedente, nella colonna G c'è il numero evento: numeri consecutivi da 1 a ...106 ma potrebbero essere anche 400 (righe).
Dalla Colonna H alla colonna CS c'è un flag (X) che determina il periodo dell'evento (ogni colore della testata è un mese solare e quindi ogni colonna un'estrazione) ma veniamo al problema:
si dovrebbe creare il foglio di riepilogo (Top è un piccolo esempio) dove vengano inserite in ordine decrescente le coppie contrassegnate dalle X della stessa estrazione (=colonna), come riportato nell'esempio (ho preso coppie dove "ad occhio sembrano" le più frequenti) l'evento 17 e 18 hanno in comune i Flag nella stessa estrazione per ben 6 volte e, se questo numero fosse il più alto (potrebbero esserci coppie con frequenza maggiore ma gli occhi cominciavano a strabuzzare in mezzo a tutte quelle croci :lol: ), queste due coppie dovranno essere trascritte nelle prime due righe del foglio TOP, poi seguono le coppie dell'evento 29 e 30 con 5 frequenze e così via.
Chiaramente per postare qui non ho ancora trovato una soluzione valida.
Quale consiglio mi puoi dare Anthony

Ciao

P.s. Nel foglio Top ho aggiunto la colonna contatore (AA) per meglio interpretare la tabella.
La riga tra una coppia e l'altra può non essere inserita, è servita per mettere tra parentesi il numero delle volte che i due eventi si sono combinati (6 per la prima coppia e 5 per la seconda) ed essere, almeno spero, più esplicativo.
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-

Sponsor
 

Re: Excel - Riepilogo, come fare?

Postdi Flash30005 » 21/10/08 02:29

Ops! il file....
Allegati

[L’estensione rar è stata disattivata e non puó essere visualizzata.]

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: Excel - Riepilogo, come fare?

Postdi Anthony47 » 22/10/08 01:27

Mah, parto col dire che mi pare una organizzazione casuale dei dati, ma forse sono prevenuto rispetto ai tentativi di battere in maniera scientifica la casualita'.
Vorresti quindi trovare quali righe hanno il piu' alto di X in comune?
Vai in CU3 e in orizzontale scrivi una serie da 1 a 106 (per 400 eventi ti servira' excel 2007)
Vai in CT4 e fai una serie analoga in verticale
Poi in CU4 usi questa formula:
Codice: Seleziona tutto
=SE(CU$3=$CT5;"";MATR.SOMMA.PRODOTTO(--((SCARTO($H$4;CU$3;0;1;90))="X");--((SCARTO($H$4;$CT5;0;1;90))="X")))

Copi CU4 in lungo e in largo

Ogni casella di questo quadrato riportera' quante X hanno in comune la riga dell' intestazione orizzontale (riga 3) quando confrontata col la riga della numerazione verticale (colonna CT); da qui ricaverai quali sono gli incroci piu' gettonati.
A questo punto creare i dati sul foglio Top mi sembra un gioco da ragazzi :D :D

Ciao, riesci a procedere con questo spunto?
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel - Riepilogo, come fare?

Postdi Flash30005 » 22/10/08 10:39

Anthony47 ha scritto:Poi in CU4 usi questa formula:
Codice: Seleziona tutto
=SE(CU$3=$CT5;"";MATR.SOMMA.PRODOTTO(--((SCARTO($H$4;CU$3;0;1;90))="X");--((SCARTO($H$4;$CT5;0;1;90))="X")))



In CU4 ho dovuto modificare così altrimenti la cella vuota mi veniva sfalsata in Riga 1 Col 2 e non Riga 1 Col 1 della matrice (106x106)
Codice: Seleziona tutto
=SE(CU$3=$CT4;...

ma i massimi ricavati non corrisponedvano con la realtà dell'altra matrice (inoltre le ultime 3 colonne e righe la 104, 106 e 106 rimanevano a 0 come valore)
ho modificato la seconda parte della formula così
Codice: Seleziona tutto
.... MATR.SOMMA.PRODOTTO(--((SCARTO($H$2;CU$3;0;1;90))="X");--((SCARTO($H$2;$CT4;0;1;90))

ma ancora una volta i risultati ottenuti non corrispondono :( e ora solo la colonna e riga 106 rimane a 0
ci deve essere ancora qualche riferimento errato, lo potresti controllare per piacere?
Ciao

P.s. ma quell'indice 90 nella formula scarto che mi sembra corrisponda alla larghezza si intendono max distanza righe?)
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: Excel - Riepilogo, come fare?

Postdi Anthony47 » 22/10/08 10:59

In effetti ci sono due errori di cui chiedo venia:
1- avevo aggiunto in testa al tuo file 2 righe
2-ti ho postato la formula prelevata dalla seconda cella in verticale buona (dopo l' aggiunta delle righe)

Quindi:
-sul tuo foglio, metti le serie da CU1 verso destra, e da CT2 verso il basso.
-poi in CU2 metterai
Codice: Seleziona tutto
=SE(CU$1=$CT2;"";MATR.SOMMA.PRODOTTO(--((SCARTO($H$2;CU$1;0;1;90))="X");--((SCARTO($H$2;$CT2;0;1;90))="X")))

-questa e' la formula da spalmare in lungo e largo

Quel "90" indica la larghezza dell' intervallo restituito da Scarto; e' 90 perche' le tue estrazioni sono 90 (celle H1:CS1); se pensi di lavorare con larghezze diverse allora invece di 90 dovremo inserire una formula che calcola la distanza tra queste colonne.

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

Re: Excel - Riepilogo, come fare?

Postdi Flash30005 » 22/10/08 12:23

Si infatti non riuscendo a capire il motivo della "partenza" dalla riga 3 invece che da 1 ho fatto delle prove ma sia con le mie prove che con la tua ultima formula continuo ad avere informazioni sbagliate es. dalla nuova matrice (106x106) risulterebbe che l'evento 1 con l'evento 3 non si siano mai incontrati (val 0) mentre nella colonna BX ci sono le relative X quindi dovrei avere come risultato 1 :?:
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: Excel - Riepilogo, come fare?

Postdi Flash30005 » 22/10/08 12:31

Anthony47 ha scritto:Quel "90" indica la larghezza dell' intervallo restituito da Scarto; e' 90 perche' le tue estrazioni sono 90 (celle H1:CS1); se pensi di lavorare con larghezze diverse allora invece di 90 dovremo inserire una formula che calcola la distanza tra queste colonne.


Ma scusa lo scarto non dovrebbe calcolarlo sulle righe?
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: Excel - Riepilogo, come fare?

Postdi Anthony47 » 22/10/08 13:56

Ma io ho parlato di "larghezza dell' intervallo restituito da Scarto"; questa funzione infatti fa ben piu' che calcolare lo "scarto" x-y dall' origine, come ben dice l' help-on-line.

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

Re: Excel - Riepilogo, come fare?

Postdi Flash30005 » 22/10/08 14:30

Anthony47 ha scritto:...Ogni casella di questo quadrato riportera' quante X hanno in comune la riga dell' intestazione orizzontale (riga 3) quando confrontata col la riga della numerazione verticale (colonna CT); da qui ricaverai quali sono gli incroci piu' gettonati.

Magari fosse così
Io capisco che il tempo è sempre poco ma ti chiedo, se puoi, (non ho fretta) di verificare se veramente il risultato di tale matrice è proprio quello che dici, perché, in tal caso, avremmo risolto.
Replico di nuovo parte del mio post forse sfuggito
Flash30005 ha scritto:... ma sia con le mie prove che con la tua ultima formula continuo ad avere informazioni sbagliate es. dalla nuova matrice (106x106) risulterebbe che l'evento 1 con l'evento 3 non si siano mai incontrati (val 0) mentre nella colonna BX ci sono le relative X (Riga 1 e riga 3) quindi dovrei avere come risultato 1 :?:

Anche verificando altre informazioni fornite dalla tabella (106x106) trovo incongruenze rispetto alla matrice con le X (del foglio excel che ho postato) a questo punto non so effettivamente a cosa corrispondano quei numeri e solo tu puoi capire il loro vero significato e se soddisfa la richiesta

Grazie e ciao

P.s. altri eventi non corrispondenti sono 1-4; 1-5 ma il più eclatante è proprio l'evento 17-18 (che dal mio esempio foglio TAP) si sono verificati 6 volte mentre dalla matrice risulterebbero solo 2 (cosa strana la matrice 106x106 con le formule riporta invece che 6 volte si è verificato l'evento 17 con il 16)
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: Excel - Riepilogo, come fare?

Postdi Anthony47 » 22/10/08 17:21

Grrrrr...
Quando le ciambelle vengono senza buco all' inizio poi puo' solo peggiorare!
La serie iniziale partiva da 0 fino a 89, sia in verticale che in orizzontale, cosi' l' offset era subito a posto; poi pero' mi era sembrato brutto parlare della prima occorrenza come la numero "0", e allora ho modificato la serie partendo da 1, aggiustando la formula e collaudandola sulla prima riga. Ma ricordi che ieri sera ti ho passato la formula della seconda riga (per errore)? cosi' insomma stamattina ti ho ripropinato una formula disallineata con l' evoluzione delle intestazioni.
SE NON SBAGLIO, la formula giusta per CU2 e' questa:
Codice: Seleziona tutto
=SE(CU$1=$CT2;"";MATR.SOMMA.PRODOTTO(--((SCARTO($H$2;CU$1-1;0;1;90))="X");--((SCARTO($H$2;$CT2-1;0;1;90))="X")))


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

Re: Excel - Riepilogo, come fare?

Postdi Flash30005 » 22/10/08 23:01

Perfetto! (come al solito)
Anthony47 ha scritto:A questo punto creare i dati sul foglio Top mi sembra un gioco da ragazzi :D :D

Purtroppo non sono più un ragazzo! :cry: :lol: :lol: :lol:
L'unica cosa che sono riuscito a fare è sostituire la colonna CT con la colonna G (in quanto mi sembrava una ripetizione anche se lì vicino è molto pratica), e mettere i max valori delle righe e delle colonne ai lati della matrice, ma come li riporto su un altro foglio? Penso ad una macro...
Per dire la frase riportata qui sopra tu hai già un'idea semplice e la mia non è proprio così, mi viene da pensare di scansionare ogni riga e/o colonna della matrice alla ricerca dei valori più alti e combinarli con la rispettiva colonna e/o riga, devo procedere così?

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: Excel - Riepilogo, come fare?

Postdi Anthony47 » 24/10/08 00:30

L' ultimo pezzo lo farei con una macro del tipo
Codice: Seleziona tutto
For Each cella In Range("A1:D100")    '<<< Aggiustare
AsseX=Cells(1, Cella.Column).value
AsseY=Cells(Cella.row, Range("CT1").column)
Sheets("Foglio3").range("A65536").End(xlUp).Offset(1,0).value=Cella.Value
Sheets("Foglio3").range("A65536").End(xlUp).value=AsseX
Sheets("Foglio3").range("A65536").End(xlUp).value=AsseY
Next Cella
'qui le istruzioni per ordinare Foglio3, in ordine decrescente di Col A, Col B, Col C


In questo modo su Foglio3 (o su quale foglio preferisci) ti ritroverai con tutte le combinazioni rilevate, come numero di similitudini (col A) e su quali coppie di dati (B, C).
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel - Riepilogo, come fare?

Postdi Flash30005 » 24/10/08 10:29

Anthony47 ha scritto:L' ultimo pezzo lo farei con una macro del tipo
Codice: Seleziona tutto
For Each cella In Range("A1:D100") '<<< Aggiustare
AsseX=Cells(1, Cella.Column).value
AsseY=Cells(Cella.row, Range("CT1").column)
Sheets("Foglio3").range("A65536").End(xlUp).Offset(1,0).value=Cella.Value
Sheets("Foglio3").range("A65536").End(xlUp).value=AsseX
Sheets("Foglio3").range("A65536").End(xlUp).value=AsseY
Next Cella
'qui le istruzioni per ordinare Foglio3, in ordine decrescente di Col A, Col B, Col C


In questo modo su Foglio3 (o su quale foglio preferisci) ti ritroverai con tutte le combinazioni rilevate, come numero di similitudini (col A) e su quali coppie di dati (B, C).


Help me!
Non riuscendo a capire come funziona l'ho provata e ho lasciato il Range ("A1:D100") ma non ottengo nulla sul foglio3. Mettendo invece Range("CT1:GV107") = matrice(106x106) e tenendo il foglio aperto vedo scrivere inizialmente in A1 un numero (es. 3) poi viene sovrascritto dal testo "Evento" (testo che si trova nella cella CT1) ma nei passaggi successivi viene cancellato anche questo.
Dopo un'ora circa il foglio3 è completamente vuoto.
Dove devo intervenire?

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: Excel - Riepilogo, come fare?

Postdi Flash30005 » 24/10/08 15:51

provando e riprovando ottengo qualche risultato, anche se sfasato di una riga, modificando il codice da te postato in questa maniera
Codice: Seleziona tutto
Sub CompilaTop()
Application.Calculation = xlManual

For Each Cella In Worksheets("STATISTICA").Range("CT2:GV107")    '<<< Aggiustare
AsseX = Cells(1, Cella.Column).Value
AsseY = Cells(Cella.Row, Range("CT2").Column)
Sheets("Foglio3").Range("A65536").End(xlUp).Offset(1, 0).Value = Cella.Value
Sheets("Foglio3").Range("B65536").End(xlUp).Offset(1, 0).Value = AsseX
Sheets("Foglio3").Range("C65536").End(xlUp).Offset(1, 0).Value = AsseY
Next Cella

'qui le istruzioni per ordinare Foglio3, in ordine decrescente di Col A, Col B, Col C
Application.Calculation = xlCalculationAutomatic
End Sub

ma non è ancora a punto perché apena ritocco gli indici di riga e/o colonna per eliminare lo sfasamento non ottengo i risultati voluti

puoi darci un'occhiata?

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: Excel - Riepilogo, come fare?

Postdi Anthony47 » 26/10/08 00:31

Ti ho passato un codice non testato, e il risultato e' questo...
Hai giustamente realizzato che le voci AsseX e AsseY richiedevano un offset per allocarne correttamente la posizione; inoltre la macro va leggermente complicata perche' la tabella dei risultati e' simmetrica, cioe' restituisce sia l' incrocio (diciamo) 1 con 2 che 2 con 1, cioe' si troverebbero sempre dei doppioni.
Propongo la seguente, con il warning che non ho capito se la tabella dei risultati e' sempre un quadrato (stesse linee e stesse colonne) o se puo' avere linee e colonne diverse tra di loro (ma in questa seconda ipotesi sarei vieppiu' confuso).
Codice: Seleziona tutto
Sub CompilaTop()
Application.Calculation = xlManual
'>>>>>>>> Le prossime tre vanno adattate <<<<<<
RRoot = "CU2"
HMatr = "CU2:GW2"
VMatr = "CU2:CU108"
'
Aline = 0
For VI = 1 To Range(VMatr).Rows.Count
 For HI = VI To Range(HMatr).Columns.Count
  Sheets("Foglio3").Range("A1").Offset(Aline, 0).Value = Range(RRoot).Offset(VI - 1, HI - 1).Value
  Sheets("Foglio3").Range("A1").Offset(Aline, 1).Value = Range(RRoot).Offset(-1, HI - 1).Value
  Sheets("Foglio3").Range("A1").Offset(Aline, 2).Value = Range(RRoot).Offset(VI - 1, -1).Value
  Aline = Aline + 1
 Next HI
Next VI
'
'qui le istruzioni per ordinare Foglio3, in ordine decrescente di Col A, Col B, Col C
'
Application.Calculation = xlCalculationAutomatic
End Sub

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

Re: Excel - Riepilogo, come fare?

Postdi Flash30005 » 26/10/08 15:48

Perfettamente funzionante! ;)
Ho adattato il tutto per avere un foglio come da mio esempio linkato all'inizio
ma... mi aspetto ulteriori specifiche :(
purtroppo nessuno mai si accontenta di ciò che ha :(

ciao e grazie
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-


Torna a Applicazioni Office Windows


Topic correlati a "Excel - Riepilogo, come fare?":


Chi c’è in linea

Visitano il forum: Nessuno e 51 ospiti

cron