我很擅长VBA。我想创建一个自定义函数= Unique(J2:J234),以便它掩盖执行该工作的实际函数集,即SUM(1 / COUNTIF(J2:J234,J2:J234))。这是我的代码:
Function Unique(Var As range)
Unique = Application.SUM(1 / (Application.COUNTIF(Var, Var)))
End Function
由于
答案 0 :(得分:0)
您的UDF无法正常工作,因为原始公式是一个数组公式(使用ctrl-shift-enter输入,并且没有简单的方法将其输入到UDF中
我建议使用集合对象的功能,以阻止输入具有重复键的项目:
Option Explicit
Function Unique(Var As Range)
Dim V As Variant
Dim C As Collection
Dim I As Long
V = Var
Set C = New Collection
On Error Resume Next
For I = 1 To UBound(V, 1)
C.Add V(I, 1), CStr(V(I, 1))
Next I
On Error GoTo 0
Unique = C.Count
End Function