Como contar números únicos com base no mês?

1

A coluna A inclui uma lista de números, alguns são duplicados

A coluna B inclui uma lista de números de 1-12 que representam os meses

Eu preciso contar os números únicos na coluna A, onde o mês na coluna B = 1

Exemplo:

ColumnA ColumnB
123     1
223     2
312     3
412     1
123     1
312     2
123     3

Então, por exemplo, 123 aparece duas vezes quando B = 1 e 412 uma vez no mesmo mês, então a contagem única deve ser = 2

    
por Chuku 07.08.2014 / 05:05

1 resposta

0

Eu sei que você quer uma solução usando o countif, mas não sei se isso pode ser feito apenas com countif; Então, como alternativa, esse VBa faz isso

Option Explicit
Sub CountDuplicatesPerMonth()

Dim row As Integer
row = 1

Range("C:C").Value = "" 'clear the results


Do While (Range("A" & row).Value <> "")

    Dim val As String
    val = Range("A" & row).Value

    Dim month As Integer
    month = Range("B" & row).Value

    Range("C" & row).Value = 0

    Dim innerRow As Integer
    innerRow = 1

    Do While (Range("A" & innerRow).Value <> "")

        Dim innerVal As String
        innerVal = Range("A" & innerRow).Value

        Dim innerMonth As Integer
        innerMonth = Range("B" & innerRow).Value

        If (innerVal = val And innerMonth = month) Then
            Range("C" & row).Value = Range("C" & row).Value + 1
        End If

        innerRow = innerRow + 1

    Loop

   row = row + 1

Loop

End Sub

Antes

ApósoVBaserexecutado

    
por 07.08.2014 / 09:22