使用Excel数组公式创建日历
发布时间:2023-01-22 03:20:31
如何使用数组公式创建如下所示的日历?
在单元格B1中输入日期时,显示该日期所在月的日历,如下图所示。
先不看答案,自已动手试一试。
公式思路
一周有7天,一个月有28天、29天、30天、31天,每个月的第一天开始的星期几不一样,如果分成含有7列的行的话,最少需要4行,最多需要6行。因此,需要创建6行×7列的数组:
{1,2,3,4,5,6,7;8,9,10,11,12,13,14;15,16,17,18,19,20,21;22,23,24,25,26,27,28;29,30,31,32,33,34,35;36,37,38,39,40,41,42}。
然后,找到想要创建日历的月份的第1天,将代表这天的日期序号与数组相加,得到代表这个月的每天的序号,再减去该月份的第1天是当周的星期几,让日历正好能够与星期几相对应。
公式解析
获取当月日历的数组公式:
=IF(DAY(calendar)>15,IF(ROW()=6,””,calendar),IF(DAY(calendar)
其中,calendar是一个命名公式,即:
=week*7+weekday+B3-B2
其中,week和weekday都是命名数组,即:
week:={0;1;2;3;4;5}
weekday:={1,2,3,4,5,6,7}
定义的名称如。
week*7+weekday得到数组:
{1,2,3,4,5,6,7;8,9,10,11,12,13,14;15,16,17,18,19,20,21;22,23,24,25,26,27,28;29,30,31,32,33,34,35;36,37,38,39,40,41,42}。
在上所示的工作表中,在单元格B1中放置了想要创建的日历月所在的日期。单元格B3中放置日期所在月份的第1天,B2放置这一天是这一周的第几天。公式:week*7+weekday+B3-B2得到从该月份第一天所在周的周一开始之后的42天的日期序列。
最后的数组公式中,=IF(DAY(calendar)>15,IF(ROW()=6,””,calendar)表示如果上个月的日期大于15且在开始行,那么就显示为空,即不显示上月的日期;同样,IF(DAY(calendar)
小结
创建日历看似复杂,但理解其背后蕴藏的道理后似乎很简单。
命名数组的应用技巧,值得借鉴。


猜你喜欢
- 在编写程序时,少不了要使用变量和常量,它们都是程序中很重要的元素,是组织程序的基础。一个示例下面是一个简单的VBA程序,用来计算半径为5的圆
- 在Excel中经常需要用到公式把文本转数字的情况,这个功能在Excel中也常用到,下面是由小编分享的excel 用公式把文本转数字的教程,以
- 最近有很多Win7系统用户反映,无法双击打开jar文件。这到底是什么原因导致的呢?该怎么解决呢?其实,无法双击打开jar文件是因为找不到可以
- 这篇教程是向脚本之家的朋友介绍Excel用Tan函数返回某一角度的正切值方法,教程真的很不错,对于不知道怎么操作的朋友可以参考一下,希望能对
- 系统维护的系统工具很多,比如天意u盘维护系统工具也是其中之一,天意u盘维护系统是天意用心整合的一款占用资源最少、体积极小、启动速度最快的多环
- 开发让员工在各自的电脑终端查询公司服务器上的数据报表的交互查询系统,最枯燥重复和占用时间的工作是通过JSP/ASP/PHP代码写出基于数据库
- Windows系统自带微软拼音输入法,但是在使用过程中难免遇到一些情况,比如微软拼音输入法打不出中文,只能输出英文,这该怎么办?小编认为应该
- AHCI是高级主机控制器接口,它允许存储驱动程序启用高级串行ATA功能,如本机命令队列和热插拔。很多用户都在问Win10ahci模式怎么开启
- 几个小时之前,Insider项目负责人Gabe Aul再次在推特上重申新版Windows 10 Build即将推送,果不其然,现在Build
- 大部分的小伙伴再遇到网络问题后都会选择重置网络进行修复,但是有不少小伙伴在重置后发现没有网络了,这是怎么一回事呢?下面就一起来看看吧。win
- schedul2.exe是Acronis磁盘镜像计划任务程序进程文件: schedul2 or schedul2.exe 进程名称: Acr
- 我们在wps表格中的单列录入大量数据时,可能会因为疏忽而录入了重复的数据这时要在大量的数据中查找就会很费时间,只要你做到以下步骤就能轻松完成
- 在Excel中,要查找大于和等于100的所有数的总数量,可以使用match函数。如图:请你统计大于等于100分的学生数 步骤第一
- 苹果macOS上的效率应用五花八门,其中的 Alfred 位列许多用户的必备清单之首。应用与文件搜索、剪贴板管理、快捷短语输入,让用户享受到
- CAD快速看图是一款非常好用的CAD看图软件,它可以查看所有使用AutoCAD各个版本绘制的DWG图纸,当然它不仅能看图纸,还有其它很多功能
- 最近有win10用户遇到任务栏不显示时间的问题,这是怎么回事呢?下面小编就给大家带来Win10任务栏不显示时间的解决方法,一起来看看吧Win
- word页眉上有一条线怎么去掉?当我们给word添加完页眉的时候,会发现,被添加的页眉下面有一条横线,怎么也删除不掉,这时候应该怎么办呢?别
- Win10电脑摄像头如何打开?有一些朋友想要使用电脑摄像头进行录像,但是因为摄像头设备的访问权限没有打开,所以没法进行使用,而且在Win10
- 不知道大家在Win10系统电脑上玩游戏的时候有没有碰到游戏帧数特别低的情况,但是自己的硬件有没有问题,这让大家的游戏体验特别不好,今天小编就
- word中设置灰色底纹的方法:打开我们需要添加灰色底纹的word文档,选定我们需要添加灰色底纹的文字或者段落,成灰色。如图所示,点击“开始”