显示指定时间段的所有月份
需求描述
动态的指定开始的日期,结束的日期,从指定的这个时间段取出开始日的年月,扩展显示到结束日期的年月。
实现思路
通过参数获取不同的开始、结束日期,通过获取开始日期与结束日期的年份,月份,通过to函数进行扩展,在扩展单元格的附属格中动态的拼接出最终要展示的月份扩展效果。
实现步骤
1. 定义两个参数,用来输入开始日期,结束日期。
2. 在A2单元格中,用year()获取到开始日期与结束日期的年份,通过to()函数,从开始日期的年份扩展到结束日期的年份,单元格表达式为:=to(year(arg1),year(arg2))。
3. 在B2单元格中,当指定的时间段在不同年份时,月份扩展是需要进行判断实现扩展,开始日期的月份是从开始日期中的月份扩展到12月份,结束日期的月份是从1月扩展到结束日期的月份,单元格表达式设置为:=if(A2==year(arg2),to(1,month(arg2)),to(month(arg1),12)),并将该单元格的扩展方式设定为纵向扩展。
4. 在C2单元格中,通过其主格扩展单元格得到的年份与月份,进行拼接我们要的年月格式,单元格表达式设置为=if(B2<10,A2+”-0″+B2,A2+”-”+B2)。
5. 由于在定义参数时已经设定了开始日期2011-08-01与结束日期2013-03-01,直接发布到页面就可以看到从2011-08月扩展到2013-03的效果。
在实际使用过程中,前两列只是辅助得到需要的数据以使其附属格在随其复制的时候可以动态的取值拼接。