ExcelHome技术论坛

 找回密码
 免费注册
QQ登录 只需一步,快速开始
   
高效办公必会的Office99uu优优 永久免费,网表让Excel秒变数据库 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! 国内首部Excel函数公式学习大典 职场充电黑科技, Office微99uu优优 免费下载Excel行业应用视频
300集Office 2010微99uu优优 Tableau-数据可视化工具 突破Excel限制,用活字格提高效率 12门Excel免费公开课任你学
你的Excel 201099uu优优学习锦囊 欲罢不能, 过目难忘的 Office 新界面 免费的Excel考勤计算系统
查看: 274|回复: 20
打印 上一主题 下一主题

[求助] 将每个工作表对应姓名的数据汇总

[复制链接]
TA的精华主题TA的得分主题
跳转到指定楼层
1
发表于 2018-1-13 20:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
将每个工作表对应姓名的数据汇总
一、说明
1、现有5个评委对15位参赛者评分。
2、每个评委的评分表格一样。
3、每个评委对参赛者的实际评分分数是不一样的,模拟数据为了便于检验,模拟提供的是基本一样的(红色数字的不一样)。
二、要求
计算每个参赛者的评分总数,就是汇总每个参赛者的得分。
(本例中,5个评分表的姓名排列顺序一样的。如能考虑姓名的排列顺序可能存在不一样更好。)
使用vba计算
整了一天了也没弄清楚。
麻烦大神帮帮忙,谢谢!
2017评分表.rar 12.97 KB, 下载次数: 19
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享 有用有用 无用无用
TA的精华主题TA的得分主题
2
发表于 2018-1-13 21:39 | 只看该作者
搜搜多表数组+字典求和的帖子看看吧,你这个问题就是多表求和的典型按列,这类问题会的帖子多了,
TA的精华主题TA的得分主题
3
发表于 2018-1-13 21:40 | 只看该作者
你试试这个,是否符合。
2017评分表.zip 18.21 KB, 下载次数: 24

评分

参与人数 2鲜花 +4 收起 理由
abc123281 + 2
xinlan6 + 2 感谢帮助
查看全部评分
TA的精华主题TA的得分主题
4
 楼主| 发表于 2018-1-13 21:51 | 只看该作者 |楼主
ahnyt 发表于 2018-1-13 21:40
你试试这个,是否符合。

谢谢老师!
正是我想要的。辛苦您了!
请教一下:
如果汇总表中的每个数据是平均数
即B7:O21单元格内的数据由总分改为平均数
又该如何修改代码?
TA的精华主题TA的得分主题
5
发表于 2018-1-13 21:56 | 只看该作者
xinlan6 发表于 2018-1-13 21:51
谢谢老师!
正是我想要的。辛苦您了!
请教一下:

平均数?从哪里来?
TA的精华主题TA的得分主题
6
发表于 2018-1-13 22:13 | 只看该作者
xinlan6 发表于 2018-1-13 21:51
谢谢老师!
正是我想要的。辛苦您了!
请教一下:

你发个例子,我看看
TA的精华主题TA的得分主题
7
 楼主| 发表于 2018-1-13 22:31 | 只看该作者 |楼主
ahnyt 发表于 2018-1-13 21:56
平均数?从哪里来?

首先谢谢老师的关注
平均数就是将5位评委的评分相加后除以评委人数
如B7=表1的B7至表5的B7的和除以5=(10+9+8+7+6)/5 =8
详见图片
平均数.jpg (171.02 KB, 下载次数: 0)
平均数.jpg
TA的精华主题TA的得分主题
8
 楼主| 发表于 2018-1-13 22:34 | 只看该作者 |楼主
当然,如果有6个评委,那就有6张表格
平均数就是这6张表格的对应数据之和除以6

其他的,以此类推
TA的精华主题TA的得分主题
9
发表于 2018-1-13 22:36 | 只看该作者
xinlan6 发表于 2018-1-13 22:31
首先谢谢老师的关注
平均数就是将5位评委的评分相加后除以评委人数
如B7=表1的B7至表5的B7的和除以5=( ...

可以把这个平均数计算放到最后进行,你看看消息。QQ上说的方便些
TA的精华主题TA的得分主题
10
发表于 2018-1-13 23:05 | 只看该作者
  • Sub 汇总数据()
  •     Set d = CreateObject("Scripting.Dictionary")
  •     For Each sht In Sheets
  •         If sht.Name <> ActiveSheet.Name Then
  •             With sht
  •                 r = .Cells(.Rows.Count, 1).End(3).Row
  •                 arr = .Range("a6:n" & r)
  •                 For i = 2 To UBound(arr)
  •                     For j = 2 To UBound(arr, 2)
  •                         s = arr(i, 1) & arr(1, j)
  •                         d(s) = d(s) + arr(i, j)
  •                     Next
  •                 Next
  •             End With
  •         End If
  •     Next
  •     r = Cells(Rows.Count, 1).End(3).Row
  •     brr = Range("a6:n" & r)
  •     For i = 2 To UBound(brr)
  •         For j = 2 To UBound(arr, 2)
  •             s = brr(i, 1) & brr(1, j)
  •             If d.exists(s) Then Cells(i + 5, j) = d(s)
  •         Next
  •     Next
  •     Set d = Nothing
  • End Sub
  • 复制代码

    评分

    参与人数 3鲜花 +5 收起 理由
    xinlan6 + 2 感谢帮助
    乐乐2006201505 + 1 优秀作品
    abc123281 + 2
    查看全部评分
    您需要登录后才可以回帖 登录 | 免费注册
    本版积分规则
    关闭

    最新热点上一条 /1 下一条

    关注官方微信,每天坐享新鲜教程
    手机版|关于我们|联系我们|ExcelHome    GMT+8, 2018-1-18 19:38 , Processed in 0.075326 second(s), 12 queries , Gzip On, MemCache On.
    Powered by Discuz! X3.3 © 2001-2017 Wooffice Inc.
        沪公网安备 31011702000001号 沪ICP备11019229号 本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:徐怀玉律师 李志群律师
    快速回复 返回顶部 返回列表
    99uu优优