如果另一列VBA中的唯一值,则计算一列

时间:2016-02-02 11:30:25

标签: excel vba

我有一个电子表格,我需要总结列(N:N)中有多少个“UDL”值,但问题是它们只应计入列(C.C)中的每个唯一数字

因此,对于N列中也有“UDL”的每个数字,它们只应计算一次,因为可能存在大量重复。

希望你能提供帮助:)

1 个答案:

答案 0 :(得分:0)

看起来像一个循环&分隔字符串将是获得您想要的快速方式。假设A列总是被填充&am​​p;在第1行有一个标题,如:

Dim u as string
Dim i as long
dim t as long
i = 2

Do While Range("A" & i).value <> ""
    If Range("N" & i).value = "UDL" Then
        If InStr(1, u, "|" & Range("C" & i).value & "|") = 0 Then
            t = t + 1
            u = u & "|" & Range("C" & i).value & "|"
        End If 'else the value in C is non-unique
    End If 'else not UDL so no action needed
    i = i + 1
Loop

Range("A" & i + 1).value = t 'Outputs t to column A with a blank row between it & your data

根据哪个列应该控制循环,循环应该从哪一行开始,以及你想要计数去哪里,需要进行一些调整。