Ir para conteúdo
  • Cadastre-se

A partir do dia 19/11/2018, o foco do Fórum do BABOO é apenas Windows e Segurança Digital conforme informado no início de 2018.
As áreas que não têm relação com esses dois assuntos foram arquivadas e seus tópicos estão disponíveis para consulta na área Tópicos Antigos.

Conheça as novidades de 2019 para o BABOO e Fórum do BABOO

swrain

Função do Excel que retorne repetições de números

Mensagem Recomendada

Fala pessoal blz? Não encontrei nada que possa atender esse meu caso então abri esse tópico.

Preciso de uma função que me retorne repetições de valores em uma linha de uma planilha.

Explico: tenho uma aba de uma planilha com uma tabela que tem 50 linhas e 25 colunas. Em cada uma dessas linhas, as 25 colunas estão preenchidas com valores de 0 a 50. Eu preciso de uma fórmula que me diga se e quantas vezes ocorrem repetições de quaisquer desses valores, mas apenas repetições sequenciais, ou seja, por exemplo, se o número 0 aparece em colunas vizinhas. Pra piorar eu preciso também que só retorne essa ocorrência se a repetição for tripla, ou seja, se o zero aparece, em uma mesma linha, em 3 colunas consecutivas (e se ele aparecer em 3 colunas consecutivas em mais de uma oportunidade, preciso saber que isso ocorre em mais de uma oportunidade).

Na imagem em anexo peguei uma das linhas da planilha e marquei em vermelho uma situação em que a fórmula deve me retornar 1 ocorrência de repetição tripla, que no caso ocorre com o número 45.

Se não tiver jeito de resolver com uma função ou uma junção de funções, será que com VB dá pra fazer isso?

Alguém pra dar uma luz? rsrsrs

Vlw!

WhatsApp Image 2018-08-17 at 10.41.41.jpeg


------------------------------

"Unlimited Power!" - TINE, Palpa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Sugestão - disponibilize uma amostra do seu arquivo Excel, com dados que representem todas as variações possíveis de ocorrer, sem repetição, e com o resultado esperado para cada caso.

Osvaldo

 


 

Osvaldo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

swrain, Bom Dia.

Como você não postou um modelo, confere se desta forma atende seu projeto

Se minha resposta foi útil, clique no coração é uma forma de agradecimento da ajuda

Decio

 

Modelo Decio.xlsx


 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
10 horas atrás, Deciog disse:

Como você não postou um modelo, confere se desta forma atende seu projeto

Décio, obrigado pela resposta.

Seu modelo é "quase" o que eu preciso. Sua solução informa qual valor se repetiu 3 vezes, mas eu preciso é que a fórmula me retorne quantas repetições ocorreram (Ex: a fórmula retorna "1" quando ocorreu em toda a linha apenas uma repetição tripla). Além disso, sua solução informa "apenas" a última repetição, caso ocorra mais de uma, e eu preciso que a fórmula informe quantas vezes ocorreram repetições triplas. Pra piorar só pode valer repetição em colunas consecutivas.

Exemplo: na linha usada como referência, ocorrem 2 repetições: nas colunas B, C e D o número 8 se repete e nas colunas J, K e L o número 7 se repete. A fórmula deveria me retornar o número "2", pq encontrou 2 repetições ocorridas em colunas consecutivas.

Segue em anexo um modelo que estou usando para tentar chegar a uma fórmula adequada.

Ranking.xlsx

Em 17/08/2018 at 7:07 PM, osvaldomp disse:

Sugestão - disponibilize uma amostra do seu arquivo Excel, com dados que representem todas as variações possíveis de ocorrer, sem repetição, e com o resultado esperado para cada caso.

Desculpe, Osvaldomp, a gente sempre acha que a explicação é suficiente, mas tem razão, falta um arquivo com o exemplo. Adicionei ele na outra resposta. Segue um print da tabela pra você ter uma ideia mais concreta:

WhatsApp Image 2018-08-18 at 20.06.51.jpeg


------------------------------

"Unlimited Power!" - TINE, Palpa.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 17/08/2018 at 7:07 PM, osvaldomp disse:

 

Sugestão - disponibilize uma amostra do seu arquivo Excel, com dados que representem todas as variações possíveis de ocorrer, sem repetição, e com o resultado esperado para cada caso.

Osvaldo

 

Osvaldo


 

Osvaldo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se o código abaixo atende.

Sub ContaTriplicados()
 Dim c As Long, a As Long, x As Long
  For a = 2 To Cells(Rows.Count, 3).End(3).Row
   For c = 3 To 26
    If Application.CountIf(Cells(a, c).Resize(, 3), Cells(a, c)) = 3 Then x = x + 1: c = c + 2
   Next c
   Cells(a, 30) = x: x = 0
  Next a
End Sub


 

Osvaldo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 20/08/2018 at 9:14 AM, osvaldomp disse:

Veja se o código abaixo atende.

Sub ContaTriplicados()
 Dim c As Long, a As Long, x As Long
  For a = 2 To Cells(Rows.Count, 3).End(3).Row
   For c = 3 To 26
    If Application.CountIf(Cells(a, c).Resize(, 3), Cells(a, c)) = 3 Then x = x + 1: c = c + 2
   Next c
   Cells(a, 30) = x: x = 0
  Next a
End Sub

Osvaldomp, desculpe, não sei exatamente o que fazer com esse código. Crio uma macro nova e coloco o codigo la? O arquivo onde estou com essa tabela tem diversas abas, e na aba da tabela tenho diversas outras tabelas como essa que coloquei no arquivo que você viu... o codigo saberá onde procurar os dados?


------------------------------

"Unlimited Power!" - TINE, Palpa.

Compartilhar este post


Link para o post
Compartilhar em outros sites
8 horas atrás, swrain disse:

... o codigo saberá onde procurar os dados?

O código foi escrito com base na planilha que você postou.

O código que passei deve ser instalado em um módulo comum, assim:
1. copie o código daqui
2. a partir da planilha em que estão os dados tecle 'Alt+F11' para acessar o editor de VBA
3. no menu do editor >> Inserir >> Módulo
4. cole o código na janela em branco que vai se abrir
5. feito! 'Alt+Q' para retornar para a planilha e testar

para rodar o código:
6. tecle 'Alt+F8' >> selecione a macro correspondente >> Executar, ou insira um botão na planilha e vincule-o à macro ou vincule-a a um atalho de teclado (Alt+F8 > Opções).


 

Osvaldo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
13 horas atrás, osvaldomp disse:

O código que passei deve ser instalado em um módulo comum

Não deu certo. Não retorna nada. Não marca nada na tabela. Obrigado mesmo assim. Vlw mesmo.


------------------------------

"Unlimited Power!" - TINE, Palpa.

Compartilhar este post


Link para o post
Compartilhar em outros sites
11 horas atrás, osvaldomp disse:

Dureza !!! Disponibilize o arquivo com o código instalado.

Osvaldo, resolvi a questão na base da lógica mesmo, criando uma tabela auxiliar que me informava o resultado da comparação de 3 células vizinhas da tabela original com resultados de 0 (se uma delas fosse diferente) e 1 (se as três fossem iguais) e repetindo o teste lógico a cada sequência de 3 células da tabela. Obrigado mesmo assim pelo esforço!


------------------------------

"Unlimited Power!" - TINE, Palpa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×