在Excel中,我已经将客户分类为同类群组(yy-yy),现在有了每月收益表(250行客户交易记录),我希望在几个月内获得唯一的同类交易数。我一直无法从每月的总交易过渡到该月的唯一同类群组交易(不包括回头客)。
这些是我尝试过的功能的示例:
我尝试过= SUM(IF(FREQUENCY(IF(A $ 2:A $ 15 = D2,MATCH(B $ 2:B $ 15,B $ 2:B $ 15,0))),ROW(B $ 2:B $ 15)-ROW(B $ 2)+1),1)) 这使我成为同类群组中的唯一成员
我还使用了= COUNTIFS(Worksheet1!$ F $ 2:$ F $ 247,$ H2,INDEX(Worksheet1!$ H $ 2:$ AQ $ 247,,MATCH(J $ 1,Worksheet1!$ H $ 1:$ AQ $ 1,0)),“> 0”)
这仅对每个队列的整个计划中发生的交易进行计数,但不按唯一计数进行过滤。
非常感谢您的帮助!
答案 0 :(得分:0)
您也可以尝试:
这是下面的代码:
Public Function CountDiff(valor, referencia)
'valor = "A"
'referencia = the range of the month that contains Numbers
Dim coleccion As New Collection
For Each celda In referencia
If Len(celda.Value) > 0 Then
If IsNumeric(celda.Value) Then
If Range("b" & celda.Row) = valor Then
coleccion.Add Range("c" & celda.Row) & Range("a" & celda.Row) & Range("b" & celda.Row) & Range("c" & celda.Row)
End If
End If
End If
Next
CountDiff = GetUniqueCount(coleccion)
End Function
Private Function GetUniqueCount(aFirstArray)
Dim arr As Collection
Set arr = New Collection
On Error Resume Next
For Each a In aFirstArray
arr.Add a, CStr(a)
Next
On Error GoTo 0
GetUniqueCount = arr.Count
End Function
我希望这对您有用!
答案 1 :(得分:0)
这是Excel工作表的简单“计数唯一”公式。
'unique count of column A
=SUMPRODUCT(1/COUNTIF(A2:A11, A2:A11))
您可以从此开始,但是您需要添加一些条件。例如 Group 列必须属于 A 或 B ,并且每月列必须为非零。将COUNTIF分母更改为COUNTIFS并添加条件,将除法的分子更改为相同条件的逻辑确定,将分母的反数添加到分母以避免#DIV / 0!错误。
'unique count of column A where Group=G7 and January is non-zero
=SUMPRODUCT((($B$2:$B$999=$G7)*(C$2:C$999>0))/(COUNTIFS($A$2:$A$999, $A$2:$A$999, $B$2:$B$999, $G7, C$2:C$999, ">0")+($B$2:$B$999<>$G7)+(C$2:C$999=0)))