Jump to content

[AJUDA] CSN LOTOFÁCIL


Wata

Recommended Posts

Aqui está a fórmula para converter 15dz. da LOTOFÁCIL em seu respectivo CSN:

 

=COMBIN(25;15)-SE(25-B4<15;0;COMBIN(25-B4;15))-SE(25-C4<15-1;0;COMBIN(25-C4;15-1))-SE(25-D4<15-2;0;COMBIN(25-D4;15-2))-SE(25-E4<15-3;0;COMBIN(25-E4;15-3))-SE(25-F4<15-4;0;COMBIN(25-F4;15-4))-SE(25-G4<15-5;0;COMBIN(25-G4;15-5))-SE(25-H4<15-6;0;COMBIN(25-H4;15-6))-SE(25-I4<15-7;0;COMBIN(25-I4;15-7))-SE(25-J4<15-8;0;COMBIN(25-J4;15-8))-SE(25-K4<15-9;0;COMBIN(25-K4;15-9))-SE(25-L4<15-10;0;COMBIN(25-L4;15-10))-SE(25-M4<15-11;0;COMBIN(25-M4;15-11))-SE(25-N4<15-12;0;COMBIN(25-N4;15-12))-SE(25-O4<15-13;0;COMBIN(25-O4;15-13))-SE(25-P4<15-14;0;COMBIN(25-P4;15-14))
 

E a seguir temos a macro para converter o CSN nas respectivas 15dz. da LOTOFÁCIL:

 

Spoiler

Public Sub QualJogo()
Dim xContador As Double
Dim DZ, dz1, dz2, dz3, dz4, dz5, dz6, dz7, dz8, dz9, dz10, dz11, dz12, dz13, dz14, dz15 As Integer
Dim xJogoEncontrado As String
'''''
xContador = 1
dz1 = 1
dz2 = 2
dz3 = 3
dz4 = 4
dz5 = 5
dz6 = 6
dz7 = 7
dz8 = 8
dz9 = 9
dz10 = 10
dz11 = 11
dz12 = 12
dz13 = 13
dz14 = 14
dz15 = 15
xCSN = Range("xCSN").Value
''''' vai preencher
Do While xContador <= 3268760
    If xContador = xCSN Then
        xJogoEncontrado = ""
        xJogoEncontrado = xJogoEncontrado & Right("00" & dz1, 2) & " "
        xJogoEncontrado = xJogoEncontrado & Right("00" & dz2, 2) & " "
        xJogoEncontrado = xJogoEncontrado & Right("00" & dz3, 2) & " "
        xJogoEncontrado = xJogoEncontrado & Right("00" & dz4, 2) & " "
        xJogoEncontrado = xJogoEncontrado & Right("00" & dz5, 2) & " "
        xJogoEncontrado = xJogoEncontrado & Right("00" & dz6, 2) & " "
        xJogoEncontrado = xJogoEncontrado & Right("00" & dz7, 2) & " "
        xJogoEncontrado = xJogoEncontrado & Right("00" & dz8, 2) & " "
        xJogoEncontrado = xJogoEncontrado & Right("00" & dz9, 2) & " "
        xJogoEncontrado = xJogoEncontrado & Right("00" & dz10, 2) & " "
        xJogoEncontrado = xJogoEncontrado & Right("00" & dz11, 2) & " "
        xJogoEncontrado = xJogoEncontrado & Right("00" & dz12, 2) & " "
        xJogoEncontrado = xJogoEncontrado & Right("00" & dz13, 2) & " "
        xJogoEncontrado = xJogoEncontrado & Right("00" & dz14, 2) & " "
        xJogoEncontrado = xJogoEncontrado & Right("00" & dz15, 2)
        Range("xJogoEncontrado").Value = xJogoEncontrado
        xContador = 3268760 + 1
    End If
    '''''' criar nova combinação


dz15 = dz15 + 1
If dz15 = 26 Then
dz14 = dz14 + 1
If dz14 = 25 Then
dz13 = dz13 + 1
If dz13 = 24 Then
dz12 = dz12 + 1
If dz12 = 23 Then
dz11 = dz11 + 1
If dz11 = 22 Then
dz10 = dz10 + 1
If dz10 = 21 Then
dz9 = dz9 + 1
If dz9 = 20 Then
dz8 = dz8 + 1
If dz8 = 19 Then
dz7 = dz7 + 1
If dz7 = 18 Then
dz6 = dz6 + 1
If dz6 = 17 Then
dz5 = dz5 + 1
If dz5 = 16 Then
dz4 = dz4 + 1
If dz4 = 15 Then
dz3 = dz3 + 1
If dz3 = 14 Then
dz2 = dz2 + 1
If dz2 = 13 Then
dz1 = dz1 + 1
If dz1 = 12 Then

xContador = 3268760 + 1
End If
dz2 = dz1 + 1
End If
dz3 = dz2 + 1
End If
dz4 = dz3 + 1
End If
dz5 = dz4 + 1
End If
dz6 = dz5 + 1
End If
dz7 = dz6 + 1
End If
dz8 = dz7 + 1
End If
dz9 = dz8 + 1
End If
dz10 = dz9 + 1
End If
dz11 = dz10 + 1
End If
dz12 = dz11 + 1
End If
dz13 = dz12 + 1
End If
dz14 = dz13 + 1
End If
dz15 = dz14 + 1
End If
xContador = xContador + 1
Loop
End Sub

 

Preciso de ajuda para converter a macro na respectiva fórmula que retorna as 15dz.

 

Obrigado.

:cool:

...

 

*detalhe: pesquisando pelo termo CSN, não retorna nada...

Será que há algum problema com a ferramenta de pesquisa do fórum?? 

 

Link to comment
Share on other sites

10 horas atrás, Wata disse:

Preciso de ajuda para converter a macro na respectiva fórmula que retorna as 15dz.

 

Spoiler

Public Function DeriveCombo(Population As Long, Sample As Long, ComboNumber As Long) As String

Dim LoopCount As Long, PositionNum As Long, LastPosNumber As Long
Dim Remainder As Long, tempVal As Long

LastPosNumber = 0
PositionNum = 0
Remainder = WorksheetFunction.Combin(Population, Sample)
'Debug.Print Remainder; ComboNumber
Do Until Remainder = ComboNumber
    For LoopCount = LastPosNumber + 1 To Population
        tempVal = WorksheetFunction.Combin(Population - LoopCount, Sample - PositionNum)
        If CLng(Remainder - tempVal) >= ComboNumber Then
            If PositionNum = 0 Then
                DeriveCombo = LoopCount
            Else
                DeriveCombo = DeriveCombo & "," & LoopCount
            End If
            PositionNum = PositionNum + 1
            LastPosNumber = LoopCount
            Remainder = CLng(Remainder - tempVal)
            'Debug.Print PositionNum; LastPosNumber; LoopCount; tempVal; Remainder
            LoopCount = Population
        End If
    Next LoopCount
    If Remainder = ComboNumber And PositionNum = Sample - 1 Then
        DeriveCombo = DeriveCombo & "," & Population
    End If
Loop

End Function

 

 

uso:  =DeriveCombo(25,15, celula com.o csn)

 

Técnica e Investimento, Sempre!!

 

  • Like 1
Link to comment
Share on other sites

@FF882007 Olá amigo.

Obrigado pela contribuição.

É uma outra macro que pode ser útil, mas para mim não resolve a questão específica:

 

PRECISO DE UMA FÓRMULA DE EXCEL PARA GERAR AS 15DZ. A PARTIR DE UM NÚMERO DE CSN.

 

Com uma macro vou ter que executar para cada CSN que queira converter.

 

com uma fórmula posso colocar vários CSN em uma coluna e aplicar o autocompletar do EXCEL para converter tudo de uma vez.

 

:cool:

...

Link to comment
Share on other sites

23 horas atrás, Wata disse:

PRECISO DE UMA FÓRMULA DE EXCEL PARA GERAR AS 15DZ. A PARTIR DE UM NÚMERO DE CSN.

@Wata é uma função, veja a imagem abaixo. A1:A4 são csn's, na celula c1 a função =DeriveCombo(25;15;A1), a partir de c1 é só arrastar até a celula desejada (no exemplo foi até a celula 4).

 

 

 

 

csn lex.png

  • Thanks 1
Link to comment
Share on other sites

1 hora atrás, FF882007 disse:

@Wata é uma função, veja a imagem abaixo. A1:A4 são csn's, na celula c1 a função =DeriveCombo(25;15;A1), a partir de c1 é só arrastar até a celula desejada (no exemplo foi até a celula 4).

 

 

 

 

csn lex.png

 

@FF882007

 

Muito boa, mas acho que tem algum erro.

Alguns CSN não convertem corretamente.

Por exemplo 3268760 não retorna nada.

Outros retornam menos de 15dz.

Poderia por favor dar uma olhada nisso?

Obrigado.

:cool:

...

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...