用EXCEL制作一份万年历
今天我们介绍用Excel制作万年历的方法。这个万年历可以显示当月的月历,还可以随意查阅任何日期所属的月历,非常方便。如果你愿意,还可以让它在特殊的日子里显示不同的提醒文字,一起来试试吧! 本文所涉及到的函数有: 1、AND (logical1,logical2, ...) 2、DATE (year,month,day) 3、DAY (serial_number) 4、IF (Logical,Value_if_true,Value_if_false) 5、INT (number) 6、MONTH (serial_number) 7、NOW () 8、OR (logical1,logical2, ...) 1、启动EXCEL2003,新建一个工作表,取名保存(如万年历.xls),并在相应的单元格中,输入如图1所示的文本。
2、同时选中B1、C1、D1单元格,按“格式”工具栏上的“合并及居中”按钮,将其合并成一个单元格,并输入公式:=TODAY()。
选中B1(合并后的)单元格,执行“格式→单元格”命令,打开“单元格格式”对话框(如图2),在“数字”标签中的“分类”下面选中“日期”选项,再在右侧“类型”下面选中“二○○一年三月十四日”选项,“确定”退出,将日期设置成中文形式。
注意:TODAY()函数用于提取当前系统日期,请将系统日期一定要调整准确哟。
3、选中F1单元格,输入公式:=IF(WEEKDAY(B1,2)=7,\日\;选中H1单元格,输入公式:=NOW()。
选中F1单元格,打开“单元格格式”对话框,在“数字”标签中的“分类”下面选中“特殊”选项,再在右侧“类型”下面选中“中文小写数字”选项,“确定”退出,将“星期数”设置成中文小写形式;选中H1单元格,打开“单元格格式”对话框,在“数字”标签中的“分类”下面选中“时间”选项,再在右侧“类型”下面选中一款时间格式,“确定”退出。
注意:①上述前面一个公式的含义是:如果(IF)当前日期(B1)是星期“7”(WEEKDAY(B1,2)=7),则在F1单元格中显示“日”,否则,直接显示出星期的数值(WEEKDAY(B1,2))。
②上述第二个函数(NOW())用于提取当前系统日期和时间,也请将系统日期和时间调整准确。
4、在I1、I2单元格分别输入1900、1901,然后同时选中I1、I2单元格,用“填充柄”向下拖拉至I151单元格,输入1900—2050年份序列。
同样的方法,在J1至J12单元格中输入1—12月份序列。
5、选中D13单元格,执行“数据→有效性”命令,打开“数据有效性”对话框(如图3),按“允许”右侧的下拉按钮,选中“序列”选项,在“来源”下面的方框输入:=$I$1:$I$151,“确定”退出。
同样的操作,将F15单元格数据有效性设置为“=$J$1:$J$12”序列。
注意:经过这样的设置以后,当我们选中D15(或F15)单元格时,在单元格右侧出现一个下拉按钮,按此下拉按钮,即可选择年份(或月份)数值,快速输入需要查询的年、月值。
6、选中A2单元格(不一定非得是A2哟),输入公式:
=IF(F13=2,IF(OR(D13/400=INT(D13/400),AND(D13/4=INT(D13/4),D13/100<>INT(D13/100))),29,28),IF(OR(F13=4,F13=6,F13=9,F13=11),30,31)),用于获取查询“月份”所对应的天数(28、29、30、31)。
注意:上述函数的含义是:如果查询“月份”为“2月”(F13=2)时,并且“年份”数能被400整除[D13/400=INT(D13/400)],或者(OR)“年份”能被4整除,但不能被100整除[AND(D13/4=INT(D13/4),D13/100<>INT(D13/100))],则该月为29天(也就是我们通常所说的“闰年”),否则为28天。如果“月份”不是2月,但是“4、6、9、11”月,则该月为30天。其他月份天数为31天。
7、选中B2单元格,输入公式:=IF(WEEKDAY(DATE($D$13,$F$13,1),2)=B3,1,0)。再次选中B2单元格,用“填充柄”将上述公式复制到C2—H2单元格中。
注意:①上述B2公式的含义是:如果“查询年月”的第1天是星期“7”
(WEEKDAY(DATE)($D$13,$F$13,1),2)=B3)时,在该单元格显示“1”,反之显示“0”),为“查询年月”获取一个对照值,为下面制作月历做准备。
②上述C2—H2单元条中公式的含义与B2相似。
③在用拖拉法复制公式时,公式“绝对引用”的单元格(加了“$”号的,如“$D$13”等)不会发生改变,而“相对引用”的单元格(没有加“$”号的,如“B3”等),则会智能化地发生变化,例如在E2单元格中,“B3”变成了“E3”,整个公式成为:=IF(WEEKDAY(DATE($D$13,$F$13,1),2)=E3,1,0)。
8、选中B6单元格,输入公式:=IF(B2=1,1,0)。选中B7单元格,输入公式:=H6+1。用“填充柄”将B7单元格中的公式复制到B8、B9单元格中。
分别选中B10、B11单元格,输入公式:=IF(H9>=A2,0,H9+1)和=IF(H10>=A2,0,IF(H10>0,H10+1,0))。
选中C6单元格,输入公式:=IF(B6>0,B6+1,IF(C2=1,1,0))。用“填充柄”将C6单元格中的公式复制到D6—H6单元格中。
选中C7单元格,输入公式:=B7+1。用“填充柄”将C7单元格中的公式复制到C8、C9单元格中。同时选中C7—C9单元格,用“填充柄”将其中的公式复制到D7—H9单元格中。
选中C10单元格,输入公式:=IF(B11>=$A$2,0,IF(B11>0,B11+1,IF(C6=1,1,0)))。用“填充柄”将C10单元格中的公式复制到D10—H10单元格和C11单元格中。