这个日历的生成完全通过公式计算得到,单击任一日历单元格,可知这是一个数组公式:
这个数组公式里应用到了名称定义,单击公式 - 名称管理器 可以看到提前定义的名称。
数组公式的核心在于DaysAndWeeks这个名称:
我们可以尝试计算一下这一部分,原来是通过这个二维数组就可以生成以7为间隔的一组数。
在Excel中二维数组里同行的元素间用逗号“,”分隔,不同行的元素用分号“;”分隔。
那么其中{0,1,2,3,4,5,6}表示一周的7天,而{0;1;2;3;4;5}则表示不同的周。实际上只要设置{0;1;2;3;4}就可以了,因为一个月最多是5个工作周。
数组公式的其余部分则是为了保证每个月开始的第一天能够和真实的星期数对齐。关于工作日WEEKDAY()函数相关的教程文章之前Excel表哥也有分享过,大家可以参考下面的文章: