我有两个表,它们包含不同的信息,但都包含一个名为“模型”的字段。我想知道两个表中有多少种不同类型的模型。
我可以使用下面的公式轻松找出每个表的不同类型数量,我发现这里。
=SUMPRODUCT((table[field]<>"")/COUNTIF(table[field],table[field]&""))
但是,我想不出如何对两个单独的列表执行同样的事情,我想将它们合并为一列以用于单个方程式?
答案1
尝试这个简短的用户定义函数:
Public Function Kount(ParamArray Rng()) As Long
Dim i As Long, r As Range, c As Collection, rr As Range
Set c = New Collection
On Error Resume Next
For i = LBound(Rng) To UBound(Rng)
Set r = Rng(i)
For Each rr In r
c.Add rr.Value, CStr(rr.Value)
Next rr
Next i
On Error GoTo 0
Kount = c.Count
Set c = Nothing
End Function
它将计算任意数量的不相交范围内的不同条目的数量:
用户定义函数 (UDF) 非常容易安装和使用:
- ALT-F11 打开 VBE 窗口
- ALT-I ALT-M 打开新模块
- 粘贴内容并关闭 VBE 窗口
如果您保存工作簿,UDF 将随之保存。如果您使用的是 2003 之后的 Excel 版本,则必须将文件保存为 .xlsm 而不是 .xlsx
要删除 UDF:
- 调出如上所示的 VBE 窗口
- 清除代码
- 关闭 VBE 窗口
要从 Excel 使用 UDF:
=我的函数(A1)
要了解有关宏的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
有关 UDF 的详细信息,请参阅:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
必须启用宏才能使其工作!