Como excluo (ou realce) linhas duplicadas no Excel SOMENTE SE houver 4 ou mais instâncias?

0

Eu tenho um documento do Excel que tem mais de 300 linhas de dados. A coluna A é classificada por nomes de pessoal e eu preciso isolar apenas as pessoas que têm menos de 4 ocorrências dentro da planilha.

Existe uma maneira de excluir todos os nomes com 4 ou mais? Ou, para destacar todos os nomes com 4 ou mais?

Obrigado!

    
por user3251139 14.05.2015 / 18:50

3 respostas

1

Digamos que começamos com:

eexecutamosestamacrocurta:

SubRowKiller101()DimrKillAsRange,rAsRange,wfAsWorksheetFunctionDimrBigAsRangeSetrBig=Intersect(Range("A:A"), ActiveSheet.UsedRange)
  Set rKill = Nothing
  Set wf = Application.WorksheetFunction

  For Each r In rBig
    If wf.CountIf(rBig, r.Value) > 3 Then
      If rKill Is Nothing Then
        Set rKill = r
      Else
        Set rKill = Union(rKill, r)
      End If
    End If
  Next r

  If rKill Is Nothing Then Exit Sub
rKill.EntireRow.Delete
End Sub

Recebemos:

    
por 14.05.2015 / 19:22
1

Para uma solução não VBA:

Coloque uma fórmula como =countif($A:$A,$A1) na coluna B, agora sua planilha será parecida com esta:

    A    B  
1  Joe   3  
2  Joe   3  
3  Joe   3  
4  Amy   5  
5  Amy   5  
6  Amy   5  
7  Amy   5
8  Amy   5

Em seguida, selecione A1 , vá para Formatação condicional (regra personalizada) e coloque na fórmula =B1>=4 . Em seguida, aplique a regra tanto quanto você precisa na coluna A. A falta de uma âncora $ significa que a regra se moverá junto com a célula aplicada.

    
por 15.05.2015 / 10:24
1

Gary's Student: solução VBA para excluir todos, exceto a multidão < 4
selwyth: solução de fórmula para filtrar apenas a multidão < 4
Esta resposta: solução de formatação condicional para destacar apenas a < 4 multidão

(Você também pode consultar o Artigo de Suporte do Office sobre o uso de fórmulas em formatação condicional que, como se vê, usa COUNTIF para o seu exemplo.

  1. Selecione o intervalo de dados (no exemplo, selecionei toda a coluna A:A
  2. Na faixa de opções Home , clique em Conditional Formatting e, em seguida, em New Rule...
  3. Selecione Use a formula to determine which cells to format
  4. Insira uma fórmula como =COUNTIF($A:$A,$A1)<4
    A. Altere o $A:$A para o intervalo em que você está procurando por duplicatas. Por exemplo, poderia ser $G$12:$G$48 . O $ é importante porque o torna um referência absoluta que não muda de célula para célula.
    B. Altere o $A1 para a célula primeiro no intervalo selecionado. Observe que há apenas um $ aqui porque queremos que a coluna seja absoluta. Queremos que o número da linha ( 1 , nesse caso) seja relativo à célula atual.
    C. O resultado é tal que a formatação condicional para A1 usará a fórmula =COUNTIF($A:$A,$A1)<4 mas, para A2 , usará a fórmula =COUNTIF($A:$A,$A2)<4 . É isso que controla as referências absolutas vs relativas ( $ ou não $ ) para você.
  5. Clique no botão Format... e selecione a formatação desejada. Neste caso, optei por destacar as células em um fundo amarelo.
  6. Clique em OK para fechar a janela de formatação condicional e ver os resultados

Observeque,devidoàmaneiracomofizisso,todasaslinhasembrancotambémestãodestacadas.Seissonãofuncionarparavocê,existemalgumasmaneirasdecorrigi-lo.EurecomendoaOpção1porqueéumamaneirasimplesdeacompanharsualistaàmedidaqueelacresce.

  1. Altereafórmulausadanaetapa4para=AND($A1<>"",COUNTIF($A:$A,$A1)<4)
  2. Em vez de selecionar toda a coluna A:A , como fiz na etapa 1, selecione apenas seu intervalo de dados.
  3. Depois que a formatação condicional for criada, volte para Conditional Formatting Rules Manager (Faixa inicial > Formatação condicional > Gerenciar regras ...) e altere o campo Applies to de =$A:$A para algo específico como =$A$1:$A$19 . Este é o mesmo resultado que usar a Opção 2, mas permite alterá-lo após o fato.
por 15.05.2015 / 16:11