报表知识库
自动扩展日期
对于一串有规律的数字,如果靠手动填写就显的机械化。例如,一年有十二个月,一个月有多少天都是有规律的,对于这样的数字我们可以用to函数去实现,但是如果随便输入一个年份,随便输入一个月份,自动扩展出来该年对应的该月有多少天这个需求如何实现呢,下面简单介绍一下。
实现这个需求的思路是:首先判断出哪年是润年,将润年中的特殊天数特殊处理,其次按照规律设置每个月的天数,最后用函数计算从给定的日期相差n天后的新的日期数据,然后从指定日期到新日期自动扩展。
实现步骤:
制作报表:如图所示:
第一步:设置每个月天数;
A1单元格中内容为:
case(@arg2,1,”31″,2,”29″,3,”31″,4,”30″,5,”31″,6,”30″,7,”31″,8,”31″,9,”30″,10,”31″,11,”30″,12,”31″)
根据月份判断该月的天数。
第二步:计算参数是否是润年,如果是则对二月份进行判断;
A2单元格内容为:
if(@arg1%4!=0&&@arg2==2,to(1,int(A1)-1),to(1,int(A1)))
arg1为年份,arg2为月份。
第三步:用函数计算日期差;
B2单元格中表达式为:
relDate(B1,A2-1)
realDate函数说明:从给定的日期型数据中,算出相差n天后的新的日期数据。参数说明: 第一个参数:给定的起始日期表达式,其结果必须为日期或标准日期格式的字符串,第二个参数为整数表达式,是需要求得nExp天后的新日期。
B1单元格为年份和月份拼成的日期类型,
A2单元格为当月天数的扩展。
预览效果如下图所示:
如图所示,按照以上的步骤,就可以实现随便输入一个年份、月份,自动扩展出来该年对应的该月的每一天。