excel制作日历

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

excel制作日历

以前很多人喜欢在办公桌上放一本台历,方便查询日期,现在电脑已经普及了,大家都喜欢从电脑上查看日历,又方便又不占地方。

用编程的方法可以制做电子日历,但会编程的人不多。如今EXCEL电子表格的普及率很高,由于它强大的数据处理能力,被很多人当做必不可少的办公工具。

在EXCEL中有很多时间函数,通过这些函数可以制做一款简单实用的日历牌。先看一下做好的样式:

在这个日历牌的上面左右两个微调按钮,可以通过它们调整想要显示的年月。下面就介绍制做过程

1、选画边框

其中C2与D2单元格是合并单元格,用于显示年份。由于年份是四位数字,所以要占用两个单元格。

其中的E10:G10也是合并单元格,这是为了显示“今天”的日期,包含了年月日三个内容,所以要占三个单元格。

2、填入内容

这些内容不需要公式,直接手工输入,根据自己的喜好设置字体、字号、颜色。注意年份输入在C2单元格,月份输入在F2单元格,这两个位置会被下面的公式所引用。 3、日历公式

这是关键一步,要输入公式了,公式的区域在B4:H9,由于第一个单元格是B4单元格,所以公式中要对它进行“绝对引用”。

可能很多人都不相信,这个区域中的公式都是一样的,虽然B4:H9区域共有42个单元格,但都使用了完全相同的公式,只要在B4单元格输入一个公式,然后通过拖动复制的方式就可以完成所有公式的输入。

公式

=IF(OR(((ROW()-ROW($B$4))*7+(COLUMN()-COLUMN($B$4)-

WEEKDAY(DATE($C$2,$F$2,1))+2

))>DAY(DATE($C$2,$F$2+1,1)-1),((ROW()-ROW($B$4))*7+(COLUMN()-COLUMN($B$4)-WEEKD

AY(DATE($C$2,$F$2,1))+2))<1),"",((ROW()-ROW($B$4))*7+(COLUMN()-COLUMN($B$4)-WEE

KDAY(DATE($C$2,$F$2,1))+2)))

公式有点长,分析起来感觉有些费力,我们试着对它进行“简化”。

可以看到公式中有一部份内容重复出现了三次,即

“((ROW()-ROW($B$4))*7+(COLUMN()-COLUMN($B$4)-

WEEKDAY(DATE($C$2,$F$2,1))+2))”,

为了方便叙述,给它起个名字叫“号”,也就是几月几号的意思。

还有一小段“DAY(DATE($C$2,$F$2+1,1)-1)”,我们给它起名为“最后一天”,因为它是计算日历牌中,当月最后一天的号数,也可以理解为这个月有几天。

然后把“号”与“最后一天”代入公式看一下:

公式就变成=IF(OR((号>最后一天),(号<1)),"",号)

这样是不是简单很多了,也容易理解了。

这就是一个常见的IF判断公式,在条件部份使用了OR函数进行逻辑“或”运算,只要“(号>最后一天),(号<1)”两部份中,任一部份为“真”,就使条件成立。

提示:这只是为了分析方便而做的“简化”,实际使用时还要使用原公式的。提示:对所有长公式都可以用这种方法“简化”,然后对每一部份逐一分析理解。

首先这是一个由IF函数构成的判断公式,大家都知道IF函数有三个参数,第一个参数是“条件”,第二个参数是“条件”为“真”是执行的部份,第三个参数是“条件”为“假”时执行的部份,一般的使用格式为 if(条件,真,假) 公式的含义是:如果当前单元格中显示的“号”大于当前月的“最后一天”或者小于“1”,

那就说明这个“号”不应显示在当前月份牌中,于是就通过IF函数的第二个参数显示为一个空格;反之,通过IF函数的第三个参数,把这个“号”就显示在当前单元格中。接下来对每一部份进行分析:

“号”:

“((ROW()-ROW($B$4))*7+(COLUMN()-COLUMN($B$4)-

WEEKDAY(DATE($C$2,$F$2,1))+2))” 它通过公式所在单元格的行号(ROW())、列号(COLUMN())与B4单元格的位置间隔,来计算“当前”格中显示的数字,再把这个数字与“星期”对应起来。

其中的“WEEKDAY(DATE($C$2,$F$2,1))”是将C2的年、F2的月及数字1,通过DATE函数组成一个EXCEL可以识别的日期(比如2011年8月1日),再用WEEKDAY函数得到这个日期的星期。

由于我们在日历牌中的第2行(工作表的第3行)已经将“星期”标志固定了,所以公式中必须将显示的“号”与星期来对应,否则号与星期不对应,日历牌也就失去意义了。提示:WEEKDAY函数返回表示星期的代码,它有两个参数,第一个参数是要计算的日期,第二个参数如果省略,那么返回的代码1--7将对应“星期日、星期一、...、星期六”。“最后一天”:“DAY(DATE($C$2,$F$2+1,1)-1)”

它与上面类似,通过DATE函数把C2的年、F2的月加1(表示次月)、数字1组成一个EXCEL可以识别的日期,这个日期是当前要显示月份的下一个月1日,由于

EXCEL不能直接得到某月的最后一天,所以要把这个“次月1日”减1才能得到本月最后一天的日数。(大月31,小月30,2月为28或29)

通过上面分析,相信大多数朋友能理解公式的含义了,其他暂时不理解的朋友也不用着急,只要会用它就行了。

下面继续我们的日历牌制作

在B4格输入公式后可以用鼠标拖动复制了,按住B4单元格右下角的“填充柄”把公式复制到B4:H9区域中的每一个单元格中。

最后在E10单元格输入一个公式,用来表示“今天”的日期,公式 =NOW() 这个公式只用一个日期函数NOW,它会返回电脑系统今天的日期

提示:如果E10单元格中显示的内容与图片中不相同,请选中E10单元格,按鼠标右键,选“单元格格式”,在其中的“数字”选项卡中设置一下日期格式就行了。 4、添加控件

最麻烦的公式部份完成了,接下来做两个微调按钮,用于调整年和月。在“视图-工具栏”中找到“窗体”工具栏,让它显示出来。

提示:这是EXCEL2003的“窗体”工具栏,如果你用的是EXCEL2007,需要在“开发工具-插入-表单控件”中找到“数值调节钮”控件。

用鼠标选中上面的“微调项”,在B2单元格与H2单元格位置各“画”出一个大小适中的按钮,然后分别用鼠标右键点击它们,从弹出的快捷菜单中选“设置控件格式”。一定要注意里面的“单元格链接”不要填错了。

做到这里就基本完成了,最后再对日历牌“美化”一下,每个人的喜好不同,自己随意。通过两个“微调按钮”就能查询到任意日期。

提示:在本例B2:H10区域中,公式引用了C2、F2、B4这三个单元格,如果你制做的日历牌不在这个区域,需要把公式中的单元格引用改成你的实际单元格地址。单元格地址修改后,还要把两个微调框的“单元格链接”也相应修改。

相关文档
最新文档