› Excel e gli applicativi Microsoft Office › SVILUPPO DI UN SISTEMA SU FOGLIO EXCEL
-
AutoreArticoli
-
Scusate ma non riesco a fare un foglio excel che mi faccia lo sviluppo di un sistema di x partite su 10. Dove x varia da 1 a 10.
Sono poco esperto ma penso che sia un gioco da bambini per gli utenti di questo forum.
Grazie
Ciao,
Se vuoi un aiuto devi spiegare in maniera dettagliata quello che vuoi.
Cosa intendi per sistema?
Cosa vuol dire di X partite su 10?
Inoltre come lo vuoi, con Formule o con VBA?
Cosa hai sviluppato fino ad ora?
La cosa migliore sarebbe che, altre alla spiegazione dettagliata dei desiderata, allegassi un file con i dati di partenza (eliminando tutti i dati sensibili eventualmente presenti) e un esempio di risultato atteso.
Ricordati che gli utenti del forum potranno essere anche esperti di Excel e di VBA ma non è detto che siano esperti di "sistemi di partite" e soprattutto non sono a conoscenza del tuo problema.
Ciao Luca
Ciao Luca. Grazie per le indicazioni.
Io stavo tentando di risolvere con una macro excel ma purtroppo non ce l'ho fatta. La mia conoscenza di VBA non è tale da consentirmelo.
Comunque il problema è questo:
Il sistema di cui parlo è un sistema di eventi di tipo scommesse. A me serve ottenere lo schema dello sviluppo integrale delle seguenti combinazioni:
10 eventi su 10 (questo ok è semplice perché è una sola combinazione)
9 eventi su 10 (anche questo è semplice essendo 10 combinazioni)
8 eventi su 10 (qui cominciano le complicazioni)
E così via fino a
1 evento su 10 (anche questo è semplice essendo 10 combinazioni)
Lo schema finale dello sviluppo dovrebbe essere quello del file che allego.
Ti ringrazio ancora e spero mi possa dare una soluzione.
Ciao
Allegati:
You must be logged in to view attached files.Ciao, Ho provato a fare qualcosa tipo il tuo
Però lho messo in verticale anzichè in orizzontale.
Lancia la macro su un foglio vuoto.
HO messo Zeri ed 1
Sub Prova() Dim IndiceV Dim Vettore(1 To 10) Dim Numero Dim Contatore Dim NumUni Dim SommaUni Dim Quanti For NumUni = 10 To 0 Step -1 Quanti = 0 For Contatore = 0 To 1023 Numero = Contatore For IndiceV = 1 To 10 Vettore(IndiceV) = Numero Mod 2 Numero = Numero \ 2 Next IndiceV SommaUni = 0 For IndiceV = 1 To 10 SommaUni = SommaUni + Vettore(IndiceV) Next IndiceV If SommaUni = NumUni Then Quanti = Quanti + 1 With Cells(Cells.Rows.Count, 2).End(xlUp).Offset(1, -1) If Quanti = 1 Then .Formula = "'" & NumUni & "/10" End If .Offset(0, 1).Formula = Quanti For IndiceV = 1 To 10 .Offset(0, IndiceV + 2).Formula = Vettore(IndiceV) Next IndiceV End With End If Next Contatore Next NumUni End Subpenso che sia un gioco da bambini per gli utenti di questo forum
Non saprei, questa premessa implica in modo latente un "non lo so fare, fatemelo voi" 🙂
Ciao, Ho provato a fare qualcosa tipo il tuo
Grazie. Ti faccio sapere
penso che sia un gioco da bambini per gli utenti di questo forum
Se la avessi saputo fare non l'avrei chiesto in forum. Grazie anche a te per la cortesia
Ridotto 8 su 10 sono 45 combinazioni , c'è l'ho gia fatto , ma è in macro
Ciao, Ho provato a fare qualcosa tipo il tuo
Grazie mille Luca. è perfettamente quello che mi serviva. Ti ringrazio tantissimo.
Ridotto 8 su 10 sono 45 combinazioni , c'è l'ho gia fatto , ma è in macro
Grazie ugualmente Fulmine
Ciao Semiuccio mi fa piacere trovare qualcuno che sia appassionato di scommesse
Gioco sempre , ma con il ridotto no , a parte che il sistema ridotto lo puoi fare come giocata con solo una colonna (Online) ti fa lo sviluppo in automatico , ma con il sistema ridotto perdi il bonus
Ciao A tutti, comunque per piacere di chi leggesse,
avevo pensato di svilupparlo utilizzando la numerazione binaria (che sono 1 e 0) usando 10 cifre. Il problema è che usando le formule di excel potevo arrivare a 9 bit utili + 1 di segno.
Allora ho semplicemente creato dei vettori trasformando un numero in binario dividendo per 2 prendendo il resto e poi considerando il risultato come numero.
Ho ottenuto pertanto un vettore di 1 e 0 con tutte le possibili combinazioni da 0000000000 a 1111111111
Quindo ho semplicemente sommato i le singole cifre è ho verificato se il numero era pari al "sistema di x partite" nel qual caso andavo a scrivere la riga, altrimenti ignoravo e passavo al prossimo.
Ciao
Luca
Ciao Semiuccio mi fa piacere trovare qualcuno che sia appassionato di scommesse
Ciao. Si, sono appassionato di scommesse gioco con tanto criterio. Se fossi stato un buon conoscitore di vba avrei risolto tante incertezze. Buona sorte a te e ciao.
Ciao A tutti, comunque per piacere di chi leggesse,
Grazie ancora Luca. Cercherò di capire il tuo script studiandolo più in dettaglio e facendo tesoro 👍
Si però così facendo hai uno schema con la posizione , non hai una colonna base tipo questa sotto
Complimenti a Luca io non sono riuscito a farlo con un vettore
in teoria ho fatto lo sviluppo integrale 1024 colonne poi applicando il filtro per la riduzione

Allegati:
You must be logged in to view attached files.Ciao Fulmine,
La richiesta era quella ed è stata svolta
Per arrivare ad un risultato come quello che hai presentatao tu basta aggiungere una riga iniziale e al posto di uno e zero copiare il valore della riga iniziale oppure lasciare vuoto.
Ecco il File Modificato in Range C1:L1 i valori iniziali
Sub Prova() Dim IndiceV Dim Vettore(1 To 10) Dim Numero Dim Contatore Dim NumUni Dim SommaUni Dim Quanti If MsgBox("Hai inserito i dieci codici nell'intervallo C1:L1 ?", vbYesNo + vbQuestion, "VERIFICA") = vbYes Then Range(Cells(2, 1), Cells(Cells.Columns.Count, 15)).ClearContents For NumUni = 10 To 0 Step -1 Quanti = 0 For Contatore = 0 To 1023 Numero = Contatore For IndiceV = 1 To 10 Vettore(IndiceV) = Numero Mod 2 Numero = Numero \ 2 Next IndiceV SommaUni = 0 For IndiceV = 1 To 10 SommaUni = SommaUni + Vettore(IndiceV) Next IndiceV If SommaUni = NumUni Then Quanti = Quanti + 1 With Cells(Cells.Rows.Count, 2).End(xlUp).Offset(1, -1) If Quanti = 1 Then .Formula = "'" & NumUni & "/10" End If .Offset(0, 1).Formula = Quanti For IndiceV = 1 To 10 If Vettore(IndiceV) = 1 Then .Offset(0, IndiceV + 1).Formula = .Offset(0, IndiceV + 1).EntireColumn.Cells(1, 1) Else .Offset(0, IndiceV + 1).Formula = "" End If Next IndiceV End With End If Next Contatore Next NumUni End If End SubSei un grande Luca
è perfetta ci ho provato tante volte non ci sono mai riuscito
Grazie 1000
Perfetto. Ha ragione fulmine: sei un grande.👍
Comunque a me bastava anche la prima soluzione, poi so continuare con le mie forze 😂
Grazie ancora
Perfetto. Ha ragione fulmine: sei un grande.👍
Comunque a me bastava anche la prima soluzione, poi so continuare con le mie forze 😂
Grazie ancora
Ciao Fulmine,
Attenzione ho trovato un Piccolo Errore
Ecco la versione corretta:
Sub Prova() Dim IndiceV Dim Vettore(1 To 10) Dim Numero Dim Contatore Dim NumUni Dim SommaUni Dim Quanti If MsgBox("Hai inserito i dieci codici nell'intervallo C1:L1 ?", vbYesNo + vbQuestion, "VERIFICA") = vbYes Then Range(Cells(2, 1), Cells(Cells.Rows.Count, 15)).ClearContents For NumUni = 10 To 0 Step -1 Quanti = 0 For Contatore = 0 To 1023 Numero = Contatore For IndiceV = 1 To 10 Vettore(IndiceV) = Numero Mod 2 Numero = Numero \ 2 Next IndiceV SommaUni = 0 For IndiceV = 1 To 10 SommaUni = SommaUni + Vettore(IndiceV) Next IndiceV If SommaUni = NumUni Then Quanti = Quanti + 1 With Cells(Cells.Rows.Count, 2).End(xlUp).Offset(1, -1) If Quanti = 1 Then .Formula = "'" & NumUni & "/10" End If .Offset(0, 1).Formula = Quanti For IndiceV = 1 To 10 If Vettore(IndiceV) = 1 Then .Offset(0, IndiceV + 1).Formula = .Offset(0, IndiceV + 1).EntireColumn.Cells(1, 1) Else .Offset(0, IndiceV + 1).Formula = "" End If Next IndiceV End With End If Next Contatore Next NumUni End If End SubInoltre l'ho modificata per farlo in Orizzontale
Sub ProvaH() Dim IndiceV Dim Vettore(1 To 10) Dim Numero Dim Contatore Dim NumUni Dim SommaUni Dim Quanti If MsgBox("Hai inserito i dieci codici nell'intervallo A3:A12 ?", vbYesNo + vbQuestion, "VERIFICA") = vbYes Then Range(Cells(2, 2), Cells(15, Cells.Columns.Count)).ClearContents For NumUni = 10 To 0 Step -1 Quanti = 0 For Contatore = 0 To 1023 Numero = Contatore For IndiceV = 1 To 10 Vettore(IndiceV) = Numero Mod 2 Numero = Numero \ 2 Next IndiceV SommaUni = 0 For IndiceV = 1 To 10 SommaUni = SommaUni + Vettore(IndiceV) Next IndiceV If SommaUni = NumUni Then Quanti = Quanti + 1 With Cells(2, Cells.Columns.Count).End(xlToLeft).Offset(-1, 1) If Quanti = 1 Then .Formula = "'" & NumUni & "/10" End If .Offset(1, 0).Formula = Quanti For IndiceV = 1 To 10 If Vettore(IndiceV) = 1 Then .Offset(IndiceV + 1, 0).Formula = .Offset(IndiceV + 1, 0).EntireRow.Cells(1, 1) Else .Offset(IndiceV + 1, 0).Formula = "" End If Next IndiceV End With End If Next Contatore Next NumUni End If End SubAttenzione ho trovato un Piccolo Errore
👍😀
-
AutoreArticoli
