1

Столбец А включает список чисел, некоторые дублируются

Столбец B включает список чисел от 1 до 12, которые представляют месяцы

Мне нужно посчитать уникальные числа в столбце A, где месяц в столбце B = 1

Пример:

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

Так вот, например, 123 появляются дважды, когда B = 1 и 412 один раз в тот же месяц, поэтому уникальный счет должен быть = 2

1 ответ1

0

Я знаю, что вам нужно решение с использованием countif, но я не знаю, можно ли это сделать только с помощью countif; Так, в качестве альтернативы, этот VBa делает это

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

До

После запуска VBa

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .