Excel精英培训网

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

提取有条件去重统计人数

[复制链接]
发表于 2019-8-6 17:19 | 显示全部楼层 |阅读模式
1学分
本帖最后由 chenyin0824 于 2019-8-7 17:48 编辑


TIM截图20190807173953.png
TIM截图20190807173953.png

统计汇总.zip

78.16 KB, 下载次数: 6

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2019-8-7 14:25 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2019-8-7 17:40 | 显示全部楼层
mytto88 发表于 2019-8-7 14:25
=SUMIF($B$11:$B$3124,$C3,$E$11:$E$3124)

是按部门统计人数,一个人只能算一次(去重统计)
回复

使用道具 举报

发表于 2019-8-8 11:24 | 显示全部楼层
chenyin0824 发表于 2019-8-7 17:40
是按部门统计人数,一个人只能算一次(去重统计)


Sub kk()
    Dim dic As Object, last_row As Long
    Set dic = CreateObject("scripting.dictionary")
    With Sheet1
        last_row = .Cells(Rows.Count, 2).End(3).Row
        arr = .Range("B11:F" & last_row).Value
        For i = 1 To UBound(arr)
            If dic.exists(arr(i, 1)) = False Then
                Set dic(arr(i, 1)) = CreateObject("scripting.dictionary")
            End If
            dic(arr(i, 1))(arr(i, 5)) = ""
        Next i
        For i = 3 To 7
            .Range("E" & i).Value = dic(.Range("c" & i).Value).Count
        Next i
    End With
    Set dic = noting
End Sub


回复

使用道具 举报

发表于 2019-8-8 11:31 | 显示全部楼层
mytto88 发表于 2019-8-8 11:24
Sub kk()
    Dim dic As Object, last_row As Long
    Set dic = CreateObject("scripting.diction ...

有木有公式能都达成这个效果?
回复

使用道具 举报

发表于 2019-8-8 14:30 | 显示全部楼层
FRC 发表于 2019-8-8 11:31
有木有公式能都达成这个效果?

不晓得 ,公式水平不行
回复

使用道具 举报

发表于 2019-8-8 15:22 | 显示全部楼层
mytto88 发表于 2019-8-8 14:30
不晓得 ,公式水平不行

你谦虚了,VBA还得向你学习。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-1 17:11 , Processed in 0.472037 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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