ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 669|回复: 0

如何将明细数据关联对照表后生成汇总统计表

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-5-11 10:10 | 显示全部楼层 |阅读模式
原始需求:
【已答】003 如何利用刷卡机产生的 Excel 纪录,自动产出餐费及统计报表?
现有这样的食堂就餐刷卡统计表
我们希望按下图的样子统计
按照人员、时间区间、部门自动计算并合计。
制作关键点:
1. 根据刷卡时间判断早中晚等
2. 不同级别餐费不同,要根据卡号查出员工对应的级别然后统计餐费
数据文件:
食堂就餐刷卡统计表
员工信息表
制表过程:
  • 启动润乾报表工具
  • 新建空白报表
3. 设置报表的数据集为 脚本数据集
打开”脚本数据集”设置界面,如下
A1:
$select * from 食堂就餐刷卡统计表.xlsx a left join 员工信息表.xlsx b on a. 卡号 =b. 卡号
意为:通过简单类 SQL 语法格式,对 excel 文件的数据进行关联取数
A2:
=A1.new(‘a. 姓名’: 姓名,
‘a. 卡号’: 卡号,
‘a. 日期时间’: 日期时间,
string(‘a. 日期时间’,“yyyy-MM-dd”): 日期,
time(‘a. 日期时间’): 时间,
if(时间 >=time(“7:00:00”) && 时间 <=time(“8:59:59”),“早餐”,if(时间 >=time(“11:00:00”) && 时间 <=time(“12:59:59”),“午餐”,if(时间 >=time(“16:00:00”) && 时间 <=time(“17:59:59”),“晚餐”,“宵夜”))): 餐别,
‘b. 级别’: 职务,
‘b. 部门’: 部门,
if(职务 ==“经理” || 职务 ==“主任” || 职务 ==“襄理”:case( 餐别,“早餐”:10,“午餐”:20,“晚餐”:20;5), 职务 ==“役员” || 职务 ==“聘雇”:case(餐别,“早餐”:15,“午餐”:45,“晚餐”:36;5),null): 餐费 )
意为:
从 A1 的结果集中整理出后续报表计算所需的数据列;
表达式中斜体部分为文章开头关键点处理,我们只需在数据整理的同时计算出餐别与对应餐费即可。
4. 制作报表(编写表达式、设置样式等)
4.1 画出表格基本结构
4.2 取数编写计算表达式

A3: =&B3 左主格为:B3
B3:=ds1.group(姓名; 姓名:1)
C3:=ds1.group(部门; 部门:1)
D3:=ds1.group(餐别; 餐别:-1)
E2:=ds1.group(day( 日期); 日期:1)
E3:=ds1.sum(餐费)
F3:=sum(E3{})
G3:=sum(E3{}) 显示格式为:¥#0.00
H3:=sum(E3{}) 左主格为:B3
5. 保存,预览



6. 导出



报表示例

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

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-13 06:41 , Processed in 0.024200 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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