2022-08-29 05:35来源:m.sf1369.com作者:宇宇
这时候就不用筛选功能了,直接vba里边3重循环对3列数据进行搜索,然后用hlookup功能offset到j列把数值累加到一个变量里,最后判断该标什么颜色表什么颜色
你这个要求不能实现啊,我用了ParamArray 关键字,用来指定一个 任意元素个数 的数组
共参考:
---------
Function shuzu(ParamArray x())
Application.Volatile
Dim i, n, m, tmp
n = UBound(x) - LBound(x) + 1
If n Mod 2 <> 0 Then tmp = #Err_x(): GoTo 1000
n = n / 2
m = LBound(x)
For i = 1 To n
tmp = tmp + x(m + i - 1) * x(m + i - 1 + n)
Next
1000:
shuzu = tmp
End Function
-----------
输入公式的时候,需要 成对 的元素,套用你的公式如下:
=shuzu((K5,L5,M7,N9),(M13,L15,K13,M17))
可以输入任意 成对的 元素,比如使用10个参数:
=shuzu((K5,L5,M7,N9,M10),(M13,L15,K13,M17,N20))
如果数据量上到六万的话,不建议用Excel,建议用数据库。
小搞搞上Access,大搞上 SQLServer。
千八百条记录可考虑Excel VBA。
三四百条记录可考虑Excel 公式:=IF(C4=C3,B3,B3+1) 。
大致使用方法:把公式写到B4中后向下拉。然后设置单元格格式,选自定义,输00000后确认。
看你的这个语句:
Case IsNumeric(Cells(I, 12))
这个始终是判断当前工作表,你应该修改为:
Case IsNumeric(Worksheets(01).Cells(I, 12))
下面三个表类似的处理。