Option Explicit

Sub yy()
Dim d, arr, s$, i&, m&, w$
Set d = CreateObject("Scripting.Dictionary")
arr = Sheet1.[a1].CurrentRegion.Value 'a1 数据 返回 a1 单元格周围的区域 ---直到 空行 空列
ReDim brr( To UBound(arr), To ) '定义数组 brr为 4列 所有数据的最大行号
w = InputBox("请输入要汇总的部门:" & vbLf & "(不填部门 = 全部)", , "")
w = IIf(w = "", "*", w)
For i = To UBound(arr)
If arr(i, ) Like w Or arr(i, ) = "部门" Then '为条件帅选 部门
s = arr(i, ) & arr(i, ) & arr(i, ) '为组合条件帅选 人名 内容 部门
If Not d.exists(s) Then '字典 有 就 s(人名 内容 部门) 带有这三个的时长数值相加 没有就 写入s 与值
m = m +
d(s) = m
brr(m, ) = arr(i, )
brr(m, ) = arr(i, )
brr(m, ) = arr(i, )
brr(m, ) = arr(i, )
Else
brr(d(s), ) = brr(d(s), ) + arr(i, ) End If
End If
Next
Sheet2.[a1].CurrentRegion.Clear '清空第二张工作表a1 单元格周围的区域 ---直到 空行 空列
Sheet2.[a1].Resize(m, ) = brr ' 第二张工作表a1 单元格周围的区域 ---直到 空行 空列
'Resize调整指定区域的大小。返回 Range 对象,该对象代表调整后的区域。
'语法
'表达式.Resize(行数, 列数)
'表达式 一个返回 Range 对象的表达式。
Set d = Nothing '清空字典
End Sub

sheet1


sheet2

部门    人名    内容    时长
一部 张三 ABC 4.5
一部 张三 专业培训 3.5
一部 张三 部门英语培训
一部 李四 ABC 3.5
一部 李四 BCC 4.5
一部 李四 部门英语培训
一部 王五 ABC
一部 王五 专业培训 1.5
二部 王五 BCC 4.5
二部 王五 部门英语培训
二部 王五 专业培训
二部 王五 ABC
二部 赵六 一号工程
二部 赵六 ABC
二部 赵六 BCC
二部 赵六 专业培训
二部 赵六 外包工程 1.5
一部 孙七 ABC
三部 钱八 BCC
三部 钱八 CDD
三部 钱八 管理课程

vba根据部门分别汇总不同部门下的人员不同培训内容的时长总计,多条件求和的更多相关文章

  1. SQL-26 (二次分组)汇总各个部门当前员工的title类型的分配数目,结果给出部门编号dept_no、dept_name、其当前员工所有的title以及该类型title对应的数目count

    题目描述 汇总各个部门当前员工的title类型的分配数目,结果给出部门编号dept_no.dept_name.其当前员工所有的title以及该类型title对应的数目countCREATE TABLE ...

  2. SQL-22 统计各个部门对应员工涨幅的次数总和,给出部门编码dept_no、部门名称dept_name以及次数sum

    题目描述 统计各个部门对应员工涨幅的次数总和,给出部门编码dept_no.部门名称dept_name以及次数sumCREATE TABLE `departments` (`dept_no` char( ...

  3. Linux Shell脚本简单语法汇总(Deepin下运行)

    整理自: https://www.runoob.com/?s=shell Shell 脚本(shell script),是一种为 shell 编写的脚本程序. 业界所说的 shell 通常都是指 sh ...

  4. Excel各种条件求和的公式汇总

    经常和Execl打交道的人肯定觉得求和公式是大家时常用到的.Excel里有哪几路求和公式呢?他们的使用方式又是怎样?我为大家汇总一下. 使用SUMIF()公式的单条件求和: 如要统计C列中的数据,要求 ...

  5. js读写Cookie问题(Cookie存储时长、Cookie存储域)汇总

    在采集网站用户行为数据/使用js对用户行为做交互时,经常会使用到Cookie,了解Js Cookie的读写,以及一些细节,非常重要.   什么是Cookie 所谓Cookie,只是一条极为短小的信息, ...

  6. 在Linux下安装PHP过程中,编译时出现错误的解决办法

    在Linux下安装PHP过程中,编译时出现configure: error: libjpeg.(a|so) not found 错误的解决办法 configure: error: libjpeg.(a ...

  7. 页面滚动动态加载数据,页面下拉自动加载内容 jquery

    <!DOCTYPE=html> <html> <head> < script src="js/jquery.js" type=" ...

  8. JavaScript下拉框去除重复内容

    下拉框去除重复内容 <script type="text/javascript" src="http://www.joleye.com/libraries/java ...

  9. php遍历目录下文件,并读取内容

    <?php echo "<h2>遍历目录下文件,并读取内容</h2><br>\n"; function listDir($dir) { i ...

随机推荐

  1. How to use filters in a GridPanel

    You can just link statically required files in your index.html <link rel="stylesheet" t ...

  2. YTU 2412: 帮警长数一数【循环、分支简单综合】

    2412: 帮警长数一数[循环.分支简单综合] 时间限制: 1 Sec  内存限制: 64 MB 提交: 323  解决: 169 题目描述 黑猫警长在犯罪现场发现了一些血迹,现已经委托检验机构确定了 ...

  3. Ubuntu系统下实现Android工程调用独立编译的C++程序和GMP、PBC库

    目的: 实现使用C++编写代码供Android工程调用.C++代码中可以使用STL库,也可以使用常用的由源码编译生成的库,如PBC.因为PBC是基于GMP库的,所以这里只记录了GMP和PBC库的编译安 ...

  4. I.MX6 AW-NB177NF wifi HAL 调试修改

    /************************************************************************* * I.MX6 AW-NB177NF wifi H ...

  5. 关于使用kafka时对于大数据消息体是遇到的问题

    kafka对于消息体的大小默认为单条最大值是1M. 但是在我们应用场景中, 常常会出现一条消息大于1M, 如果不对kafka进行配置. 则会出现生产者无法将消息推送到kafka或消费者无法去消费kaf ...

  6. json 获取属性值

    ajax后台获取json数据 前台赋值.由于值太多 一个个写 val会类似的.因为直接字段值和 前台的标签id相同,这样只要循环结果集json赋值即可. 这里需要用到json的字段值 var data ...

  7. strncasecmp与strcasecmp用法(转载)

    转自: http://blog.csdn.net/acb0y/article/details/5333334 strcasecmp strcasecmp(忽略大小写比较字符串)  相关函数 bcmp, ...

  8. 不让浏览器缓存input的值

    方法一: 在不想使用缓存的input中添加 autocomplete="off"eg: <input type="text" autocomplete=& ...

  9. LuoguP1606 [USACO07FEB]荷叶塘Lilypad Pond 【最短路】By cellur925

    最短路好题!] 参考资料:学长 https://blog.csdn.net/TSOI_Vergil/article/details/52975779 学长太强了!!!%%% 题目传送门 ======= ...

  10. 利用爬虫将Yuan先生的博客文章爬取下来

    由于一次巧遇,我阅读了Yuan先生的一篇博客文章,感觉从Yuan先生得博客学到很多东西,很喜欢他得文章.于是我就关注了他,并且想阅读更多出自他手笔得博客文章,无奈,可能Yuan先生不想公开自己得博客吧 ...