Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1027|回复: 4

[已解决]多条件汇总求助

[复制链接]
发表于 2022-10-12 11:53 | 显示全部楼层 |阅读模式
求大神帮忙,我需要按照Shhet2的多个条件在Sheet1中的数据进行统计

多条件统计求助.zip (11.96 KB, 下载次数: 19)
发表于 2022-10-12 12:17 | 显示全部楼层
Sub demo()
[e2] = "=COUNTIFS(Sheet1!D:D,A2,Sheet1!C:C,B2,Sheet1!B:B,C2,Sheet1!E:E,D2,Sheet1!F:F,"">=80"")"
Range([d2], [d2].End(4)).Offset(, 1).FillDown
End Sub


祝順心,南無阿彌陀佛!

回复

使用道具 举报

 楼主| 发表于 2022-10-12 12:41 | 显示全部楼层
cutecpu 发表于 2022-10-12 12:17
Sub demo()
[e2] = "=COUNTIFS(Sheet1!D:D,A2,Sheet1!C:C,B2,Sheet1!B:B,C2,Sheet1!E:E,D2,Sheet1!F:F,"" ...

如果使用字典进行统计汇总需要如何编写,数据量比较多,使用公式电脑配置差,运行比较慢
回复

使用道具 举报

发表于 2022-10-12 13:40 | 显示全部楼层    本楼为最佳答案   
531tommy 发表于 2022-10-12 12:41
如果使用字典进行统计汇总需要如何编写,数据量比较多,使用公式电脑配置差,运行比较慢

Sub demo()
   Set d = CreateObject("Scripting.Dictionary")
   a = Sheets(1).[a1].CurrentRegion
   For i = 2 To UBound(a)
      If a(i, 6) >= 80 Then
        Key = a(i, 4) & a(i, 3) & a(i, 2) & a(i, 5)
        d(Key) = d(Key) + 1
      End If
   Next
   a = Sheets(2).[a1].CurrentRegion
   For i = 2 To UBound(a)
      Key = a(i, 1) & a(i, 2) & a(i, 3) & a(i, 4)
      a(i, 5) = d(Key)
   Next
   Sheets(2).[a1].CurrentRegion = a
End Sub

回复

使用道具 举报

发表于 2022-10-12 13:42 | 显示全部楼层
本帖最后由 hasyh2008 于 2022-10-12 13:44 编辑

Sub 多条件统计()
    Dim ar, br, r, str, d
    Set d = CreateObject("scripting.dictionary")
    ar = Sheet1.Cells(1, 1).CurrentRegion
    For r = 2 To UBound(ar)
        str = ar(r, 4) & ar(r, 3) & ar(r, 2) & ar(r, 5)
        If ar(r, 6) >= 80 Then d(str) = d(str) + 1
    Next r
    br = Sheet2.Cells(1, 1).CurrentRegion
    For r = 2 To UBound(br)
        str = br(r, 1) & br(r, 2) & br(r, 3) & br(r, 4)
        If d.exists(str) Then
            br(r, 5) = d(str)
        Else
            br(r, 5) = 0
        End If
    Next r
    Sheet2.Cells(1, 1).CurrentRegion = br
End Sub

多条件统计求助.rar

21.2 KB, 下载次数: 18

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-29 23:58 , Processed in 0.339081 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表