不重复计数的数组公式因为数据量太大死了,请教更好的办法(有附件)
时间:2011-08-06
来源:互联网
请教:带条件 不重复计数,用了这个数组公式,但是因为数据量太大,死了,如果不用透视表,请高手指点是否有更好的公式和办法解决在G列,求B列不重复计数的结果!
数组公式:
G2=SUM(($A$2:$A$34862=E2)*(1/COUNTIF($B$2:$B34862,$B$2:$B$34862)))
不重复计数的数组公式因为数据量太大死了,请教更好的办法.rar(355.3 KB)
(2003版) 不重复计数的数组公式因为数据量太大死了,请教更好的办法.rar(195.6 KB)
数组公式:
G2=SUM(($A$2:$A$34862=E2)*(1/COUNTIF($B$2:$B34862,$B$2:$B$34862)))
附件

2011-8-6 00:05, 下载次数: 7

2011-8-6 00:05, 下载次数: 17
作者: kw868 发布时间: 2011-08-06
模拟个结果,我看得不是很明白
这么大的数据,应该去VBA版块求助
这么大的数据,应该去VBA版块求助
作者: mourintong 发布时间: 2011-08-06
用数据透视表吧..
作者: w83365040371 发布时间: 2011-08-06
VBA就很快。参考一下。
复制内容到剪贴板
Dim brr() As String
arr = Range("a1").CurrentRegion
Set d = CreateObject("scripting.dictionary")
ReDim brr(1 To UBound(arr), 1 To 2)
For a = 2 To UBound(arr)
If Not d.exists(arr(a, 2)) Then
n = n + 1
d(arr(a, 2)) = n
brr(n, 1) = arr(a, 2)
brr(n, 2) = 1
Else
brr(d(arr(a, 2)), 2) = d(arr(a, 2)) + 1
End If
Next
[h2].Resize(n, 2) = brr
End Sub
代码:
Sub 按钮5_单击()Dim brr() As String
arr = Range("a1").CurrentRegion
Set d = CreateObject("scripting.dictionary")
ReDim brr(1 To UBound(arr), 1 To 2)
For a = 2 To UBound(arr)
If Not d.exists(arr(a, 2)) Then
n = n + 1
d(arr(a, 2)) = n
brr(n, 1) = arr(a, 2)
brr(n, 2) = 1
Else
brr(d(arr(a, 2)), 2) = d(arr(a, 2)) + 1
End If
Next
[h2].Resize(n, 2) = brr
End Sub
作者: suwenkai 发布时间: 2011-08-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28