Chelsey.Wang 发表于 2022-6-23 11:06:13

一看就会,超有用活字格技能:一百四十七、报表自定义换行——打卡日历报表

本帖最后由 Chelsey.Wang 于 2022-8-16 17:23 编辑

一些格友们可能有这样的疑问:怎么在报表中自定义每行每列的单元格数量呢?
本贴以制作一个自定义日历打卡报表为例,和大家说明一下这个小技巧~

自定义日历打卡报表:
每行展示10天的打卡数据,每10天自动换行,展示日期、星期、初次打卡、最后一次打卡时间,按照部门、姓名分组

原始数据:


实现思路:
1.通过矩表实现自定义换行,使用公式字段作为辅助字段
2.使用表格分组实现按照部门、姓名分组

画出期望的报表样式,观察可知:10格/行时,可以建立一个如图的坐标系,每一列日期值除以10的余数都是相同的,每一行日期除以10的商也都是相同的。
因此我们可以通过公式字段构建出用于行列分组的辅助字段,然后在矩表中通过辅助字段进行分组,实现换行效果。

实现步骤:

【准备工作 - 公式字段】
1.公式字段取到日期的天数
DAY([日期])

2.取日期除以10的余数,作为“辅助”字段。日期的字段类型是整数,10也是整数,整形相除向下取整得到日/10的商,日-(日/10)*10 可以计算出日期除以10后的余数。
[日]-([日]/10)*10
3.公式字段计算行分组,1-10、11-20、21-30、31号的行分组分别为0、1、2、3;
特别地,10、20、30这些可以被10整除的日期,需要在商的基础上再-1
IF([辅助]=0,([日]/10)-1,[日]/10)

4.公式字段计算列分组特别地,为了排序,余数为0时规定列分组是10IF([辅助]=0,[辅助]+10,[辅助])



【设计报表】
1.创建矩表,借助行列辅助字段换行,绘制出日历(注意按照升序排序)

预览效果:


2.在矩表的基础上,在分组内插入行列,绑定星期、上下班打卡时间数据

预览效果:


3.删除矩表中多余的行列


4.创建表格,按照部门、姓名分组,并删除多余行列


5.将刚刚整理好的矩表嵌入表格当中


6.整理一下样式,我这里主要调整了单元格边框的样式,把一些边框的线形调整为了“无”


附上demo









页: [1]
查看完整版本: 一看就会,超有用活字格技能:一百四十七、报表自定义换行——打卡日历报表