Excel e gli applicativi Microsoft Office SVILUPPO DI UN SISTEMA SU FOGLIO EXCEL

Login Registrati
Stai vedendo 22 articoli - dal 1 a 22 (di 22 totali)
  • Autore
    Articoli
  • #40739 Score: 0 | Risposta

    Semiuccio
    Partecipante
      1 pt

      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

      #40740 Score: 0 | Risposta

      Luca73
      Partecipante
        58 pts

        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

         

        #40741 Score: 0 | Risposta

        Semiuccio
        Partecipante
          1 pt

          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.
          #40744 Score: 1 | Risposta

          Luca73
          Partecipante
            58 pts

            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 Sub
            
            #40745 Score: 0 | Risposta

            vecchio frac
            Senior Moderator
              272 pts

              Semiuccio ha scritto:

              penso 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" 🙂

              #40746 Score: 0 | Risposta

              Semiuccio
              Partecipante
                1 pt

                Grazie. Appena lo provo ti faccio sapere. Grazie ancora.

                #40747 Score: 0 | Risposta

                Semiuccio
                Partecipante
                  1 pt

                  Luca73 ha scritto:

                  Ciao, Ho provato a fare qualcosa tipo il tuo 

                  Grazie. Ti faccio sapere

                  #40748 Score: 0 | Risposta

                  Semiuccio
                  Partecipante
                    1 pt

                    vecchio frac ha scritto:

                    Semiuccio ha scritto:

                    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 

                    #40749 Score: 0 | Risposta

                    Oscar
                    Partecipante
                      45 pts

                      Ridotto 8 su 10 sono 45 combinazioni , c'è l'ho gia fatto , ma è in macro

                      #40750 Score: 0 | Risposta

                      Semiuccio
                      Partecipante
                        1 pt

                        Luca73 ha scritto:

                        Ciao, Ho provato a fare qualcosa tipo il tuo 

                        Grazie mille Luca. è perfettamente quello che mi serviva. Ti ringrazio tantissimo.

                        #40751 Score: 0 | Risposta

                        Semiuccio
                        Partecipante
                          1 pt

                          Fulmine ha scritto:

                          Ridotto 8 su 10 sono 45 combinazioni , c'è l'ho gia fatto , ma è in macro

                          Grazie ugualmente Fulmine 

                          #40752 Score: 0 | Risposta

                          Oscar
                          Partecipante
                            45 pts

                            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

                            #40754 Score: 1 | Risposta

                            Luca73
                            Partecipante
                              58 pts

                              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

                              #40755 Score: 0 | Risposta

                              Semiuccio
                              Partecipante
                                1 pt

                                Fulmine ha scritto:

                                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.

                                #40756 Score: 0 | Risposta

                                Semiuccio
                                Partecipante
                                  1 pt

                                  Luca73 ha scritto:

                                  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 👍

                                  #40757 Score: 0 | Risposta

                                  Oscar
                                  Partecipante
                                    45 pts

                                    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.
                                    #40759 Score: 0 | Risposta

                                    Luca73
                                    Partecipante
                                      58 pts

                                      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 Sub
                                      #40760 Score: 0 | Risposta

                                      Oscar
                                      Partecipante
                                        45 pts

                                        Sei un grande Luca

                                        è perfetta ci ho provato tante volte non ci sono mai riuscito

                                        Grazie 1000

                                        #40761 Score: 0 | Risposta

                                        Semiuccio
                                        Partecipante
                                          1 pt

                                          Perfetto. Ha ragione fulmine: sei un grande.👍

                                          Comunque a me bastava anche la prima soluzione, poi so continuare con le mie forze 😂

                                          Grazie ancora

                                           

                                          #40762 Score: 0 | Risposta

                                          Semiuccio
                                          Partecipante
                                            1 pt

                                            Perfetto. Ha ragione fulmine: sei un grande.👍

                                            Comunque a me bastava anche la prima soluzione, poi so continuare con le mie forze 😂

                                            Grazie ancora

                                            Luca73 ha scritto:

                                            Ciao Fulmine,

                                             

                                            #40765 Score: 0 | Risposta

                                            Luca73
                                            Partecipante
                                              58 pts

                                              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 Sub

                                              Inoltre 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 Sub
                                              
                                              #40767 Score: 0 | Risposta

                                              Semiuccio
                                              Partecipante
                                                1 pt

                                                Luca73 ha scritto:

                                                Attenzione ho trovato un Piccolo Errore

                                                👍😀

                                              Login Registrati
                                              Stai vedendo 22 articoli - dal 1 a 22 (di 22 totali)
                                              Rispondi a: SVILUPPO DI UN SISTEMA SU FOGLIO EXCEL
                                              Gli allegati sono permessi solo ad utenti REGISTRATI
                                              Le tue informazioni: