Preciso saber qual sequência de 3, 4 ou mais números mais se repete

Anônima
2015-07-17T02:31:21+00:00

Por exemplo**:**

Tenho 10 números aleatórios de 0 a 99, 1 em cada coluna porem na mesma linha, e nunca se repetem na mesma linha.

exemplo: 13-45-01-23-89-75-63-14-18-20

Agora imaginamos que tenho mais 100 linhas da mesma maneira porem com números diferentes.

exemplo: 03-75-45-13-20-78-89-16-92-18

O que preciso é saber por exemplos qual a sequência que mais se repete, por exemplo:

A sequência 13-18-20-89 se repetem em 10 linhas, mesmo que em posições diferentes na linha.

A sequência 13-18-20 se repetem em 18 linhas, mesmo que em posições diferentes na linha.

A sequência 13-18 se repetem em 30 linhas, mesmo que em posições diferentes na linha.

Que formula uso para conseguir obter estes dados?

Microsoft 365 e Office | Excel | Para uso doméstico | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários
Resposta aceita pelo autor da pergunta
Anônima
2015-07-17T19:21:44+00:00

Olá Tarcisio!

Não sei se seria o jeito mais eficiente, mas posso te passar um procedimento para realizar este tipo de análise. Só que exige um pouco de conhecimento no VBA.

Vou passar o procedimento para analisar sequências de 3 números:

1º) Abra o seu arquivo que contém as sequencias numéricas.

2º) Abra o VBA com ALT+F11.

3º) Insira um módulo no projeto do seu arquivo

4º) copie e cole o código abaixo na janela de código:

Sub combinações_3Números()

Dim K As Long, lInicio As Long, lFinal As Long

Dim a As Long, b As Long, c As Long

K = 1

lInicio = 0

lFinal = 99

Sheets.Add After:=Sheets(Sheets.Count)  For a = lInicio To lFinal

For b = lInicio To lFinal

If b > a Then

For c = lInicio To lFinal

If c > b And c > a Then

Cells(K, 1) = a

Cells(K, 2) = b

Cells(K, 3) = c

K = K + 1

End If

Next c

End If

Next b

Next a

MsgBox "combinações: " & K - 1

End Sub

5º) Com o cursor de edição selecionada em qualquer lugar dentro do código, pressione o ícone de "Play" na faixa de opções

6º) Após alguns segundos (talvez minutos) será gerada uma lista numa nova planilha com todas as combinações de 3 digitos possíveis com números de 0 a 99 (serão 161.700 combinações no total)

7º) Então com uma fórmula matricial é possível checar quanto cada combinação se repetiu na sua base de números. A fórmula matricial pode ser aplicada conforme modelo abaixo, que deve ser inserida com CRTL+SHIFT+ENTER:

=SOMA(SE(CONT.SE(INDIRETO("Base!A"&LIN(Base!$A$1:$A$100)&":J"&LIN(Base!$A$1:$A$100));A2)+CONT.SE(INDIRETO("Base!A"&LIN(Base!$A$1:$A$100)&":J"&LIN(Base!$A$1:$A$100));B2)+CONT.SE(INDIRETO("Base!A"&LIN(Base!$A$1:$A$100)&":J"&LIN(Base!$A$1:$A$100));C2)=3;1;0))

Após arrastar a fórmula, pode levar alguns vários segundos para processar também. Eu recomendo você transformar em valores todo intervalo de fórmulas após o processamento, pois caso contrário a planilha ficará lenta. Com este levantamento será possível você analisar as sequencias de três números que mais se repetem.

Para analisar as sequências de 4 ou mais números, é preciso mexer no código VBA para aumentar a geração das combinações.

Para facilitar eu vou postar um link para baixar um arquivo com a sequencia gerada e um modelo de fórmula matricial.

https://drive.google.com/open?id=0B4utYM3AOedCT2JOS3BBMEpqSHM

Não é algo tão simples de fazer. Se tiver dificuldades avise que futuramente tento criar um artigo ou video para o meu blog explicando o processo.

Abraços!

Esta resposta foi útil?

3 pessoas acharam esta resposta útil.
0 comentários Sem comentários

0 respostas adicionais

Classificar por: Mais útil