Notifications
Clear all

Como obter o segundo número mais frequente em uma coluna

2 Posts
2 Usuários
0 Reactions
993 Visualizações
(@charles85)
Posts: 0
New Member
Topic starter
 

Boa noite

Conheço a função modo (que deveria ter sido traduzida como moda) no excel, que retorna o valor mais frequente em uma planilha, entretanto eu queria obter também o segundo, terceiro, quarto...n-ésimo mais frequente em uma coluna, como posso fazer isso?
Obrigado.

 
Postado : 29/12/2014 5:07 pm
(@basole)
Posts: 487
Reputable Member
 

Tente esta macro, acredito que é isso que deseja.
Selecione a coluna (com os dados), desejada e o resultado aparecerá nas duas colunas a direita.

Private Sub Proc_Repeticoes()
' a rotina abaixo verifica e conta no intervalo, quantas vezes a string se repete
    Dim SerialString As String, i As Long, j As Long, K As Long
    Dim arr, r, a, v, aC, x
    SerialString = ""
    For Each r In Selection
        SerialString = Trim(SerialString) & " " & Trim(r.Value)
    Next r
    SerialString = Trim(SerialString)
    arr = Split(SerialString, " ")
    Dim cl As Collection
    Set cl = New Collection
    For Each a In arr
        On Error Resume Next
        cl.Add a, CStr(a)
    Next a
    x = 3
    For i = 1 To cl.count
        v = cl(i)
        With Selection
            aC = .Column
            Cells(x, aC + 1).Value = v
            j = 0
            For Each a In arr
                If a = v Then j = j + 1
            Next a
            Cells(x, aC + 2) = j
        End With
        x = x + 1
    Next i
End Sub
 
Postado : 29/12/2014 5:24 pm