|
本帖最后由 WYS67 于 2019-2-12 05:35 编辑
表一是按M1指定的间隔行号数为周期,对G列各数据进行动态计数的自定义函数;其代码为:
Public Function ZQCOUNTIF(qy As Range, zq, tj, Optional x = 0)
Application.Volatile
arr = qy
ReDim brr(1 To UBound(arr), 1 To 1) As Variant
j = 0
For i = 1 To UBound(arr)
brr(i, 1) = 0
Next
For s = UBound(arr) To 1 Step -1
If arr(s, 1) <> "" Then Exit For
Next
For i = 1 To s
If (i Mod zq) = 1 Then j = j + 1
If arr(i, 1) = tj And arr(i, 1) <> "" Then
brr(j, 1) = brr(j, 1) + 1
End If
Next
For i = j + x To UBound(arr)
brr(i, 1) = ""
Next
ZQCOUNTIF = brr
End Function
与表一相比,表二数据源多了E列的序号区域。M1也变成了以E列的间隔序号为指定统计周期。其它运算规则不变。恳请高手大神们,以上面的自定义函数代码为蓝本【也可以另起炉灶,重新编写自定义函数代码】,在代码里插入序号区域为第四参数,使之能够对表二里的G列各数据进行计数统计,具体要求在表二的O列里。
修改代码,拓展表一的计算功能.zip (695.38 KB, 下载次数: 0)
重要提示:当公式省略第四参数【即序号区域】时;默认E列为序号区域!!!
恳请老师们创建以间隔序号为周期,对数据区域里各个数据进行计数的自定义函数XHCOUNTIF。
难度在于:怎样把上面代码里的以数据区域的间隔行数为指定周期,修改成以间隔序号为指定周期,然后对本周期内E列序号对应的数据区域各数据进行计数。
|
|