Excel制作万年历方法(一看就会)

按CTRL,点击我

我们将一步一步教您怎么制作EXCEL万年历!

Office 2007是微软Office产品史上最具创新与革命性的一个版本。全新设计的用户界面、稳定安全的文件格式、无缝高效的沟通协作。

Excel是Office套件中的一个重要组件之一。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的微机数据处理软件。

日历分为阴历和阳历。阳历的历年为一个回归年,现时国际通用的公历(格里高历)即为太阳历的一种,亦简称为阳历;阴历亦称月亮历,或称太阴历,其历月是一个朔望月,历年为1 2个朔望月,其大月30天,小月29 天;中国的农历就是阴阳历的一种。

如何在Excel实现万年历是对Office能力的综合运用,又是分析问题并进行求解的一系列过程。

2. 分析

2.1 整体构思

在进行整体构思之前,不妨我们先看看多数日历是怎样的情形,其中:

1、上面居中为当前年份。

2、然后为当年的12个月份,至于每行为3个月还是4个月取决于可见界面的大小和美观。

3、总所周知,一周则为7天,每个月最大31天,最小28天;如果1号为周六或周日的话,则该月可能要跨越6周;因此每个月最大的跨越为六周,事实上我们找一下其它日历的模板,就会发现一般都是六周。所以我们可以把每个月视为一个7 *6的单元格集合。

我们将一步一步教您怎么制作EXCEL万年历!

2.2 算法问题

当我们确定了每个月事实上为7*6的单元格集合后,我们接下来要做以下几件事情:

1、如何定位和填充相应的每月的7*6单元格在单纯的Excel表中,我们很难采用逻辑判断和循环的方式获取在7*6单元格集合中的第一个星期一应该是哪一天;但我们知道这个7*6单元格所在月的第一天即1号却是固定的,同样当日期固定后,该日期所在的星期几也是固定的,假设2010-01-01为星期五,那星期一是几号呢?很显然,为2010年1月1号向前推4天即2009年12月28号,星期二则为1月1号向前推3天,以此类推,可以推到整个42个单元格中,只不过超过当月第一天的日期则向后推了。

如果我们换个思路可能更好些,在第一个7*6单元格集合中的首个星期一为2010年1月1号向前推5天即星期五,然后加1天,这也是理所当然的求法,那么星期二则为1月1号向前推5天,然后加2天,以此类推,推倒第42个单元格中则为1月1号向前推5天,然后加42天了,从1到42则为一个整数的序列;这样就变成Excel更擅长的计算方式了。

2、如何屏蔽非当月的日期

大家也许会注意到在这个7*6的单元格集合中,一定会混入不属于这个月的日期,怎么把这些不属于本月的日期去除呢?如果我们用函数来实现的话,也不是不可能,只不过过于复杂。

幸好Excel提供了条件格式,条件格式的目的就是为符合或不符合相应条件的单元格提供该单元格的格式化需求,如果我们将小于当月第一天,或者大于等于下个月第一天值的单元格字符设置为白色字体,同时将这些单元格的背景色也置为白色,岂不是看不到了嘛。

3、农历问题

农历问题是属于典型的算法问题,我还从未见到在单纯的Excel表格中使用函数和表达式就能实现农历算法的。很幸运的是,Office提供了强大的编程语言VBA,再加上强大的互联网搜索引擎,我们很容易就能找到并实现农历的功能。

关于如何对不在当月的农历日期进行屏蔽,详情见步骤。

2.3 显示和实际数据存储的关系

如果仅看以上最终版本,我们很可能认为“2010年日历”为字符串,“1月份”也为字符串,而月份中的日期为数字,实际上除了“一、二、三、四、五、六、日”为字符串外,年份、

月份均为数字类型,而日期则为日期类型;在Excel表中数据的展现方式与存储可以表现迥异,当然展现方式也不能完全孤立于其存储数据的类型和内容。

只有理解了以上困惑和难点,我们才知道如何下手开始工作。

3. 步骤

3.1 填充7*6日期单元格

为了简化问题,便于说明问题,让我们首先从完成第一个月开始

我们将一步一步教您怎么制作EXCEL万年历!

假设当前为2010年的1月份。

那么2010年1月份首日则为2010-01-01。我们把B5设置为2010-01-01,同时将其设置单元格格式为m"月""份"。

同时2010-01-01所在的星期=weekday(B5,2),则为5即星期五

既然2010-01-01是星期五,那本7*6单元格集合的第一个星期一应该是几号呢?

显然为=B5-4,也即=B5-WEEKDAY(B5,2)+1,然后依次加2得到周二的日期,加3得到周三的日期,加8得到下周一的日期;既然从1到42是个数字序列,为了快捷的缘由,我们直接构造了一个从1~42的数字序列,因此用我们把B5-J6+1替换为B5-J6+K6;然后把拷贝

公式到之后的行列中,但这样问题又来了,拷贝公式是相对引用的,我们想变的是K6即数字序列而不是B5和J6,因此我们要把B5、J6改为绝对引用,即$B$5,$J$6,=$B$5-$J$6+K6

当我们完成公式,并复制到7*6剩余的单元格后,就会发现1月份已填充完毕了,再与本机的日历比较一下,发现是没问题的

3.2 条件格式隐藏不符合条件的数据

接下来我们来考虑如何隐藏非本月的日期,实际上算法很简单:

在2010年1月份的日历中,将日期<2010-01-01 或者日期>=2010-02-01的单元格的字体颜色和背景色设置为白色即可。

在这里我们首先选中1月份的42个单元格,然后找到条件格式,点击管理规则。

我们将一步一步教您怎么制作EXCEL万年历!

在条件格式规则管理器中,点击新建规则。

在新建格式规则中,选择规则类型为,选择规则类型为“只为包含以下内容的单元格设置格式”。

设置单元格值小于$B$5,即2010年1月1日所在的单元格,然后点击格式按钮

在设置单元格格式窗口中,将字体颜色设置为白色,将填充背景色设置为白色。

确定后回到条件格式规则管理器,再次新建规则—>只为包含以下内容的单元格设置格式。

设置单元格值大于或等于$S$5,即2010年2月1日所在的单元格,然后点击格式按钮。

在设置单元格格式窗口中,将字体颜色设置为白色,将填充背景色设置为白色。

最终,条件格式规则管理器结果如下

然后返回Excel表,发现2010年1月份的日期已经正常显示。

3.3 套用表格格式进行美化

为了让界面好看点,我们在点击套用表格格式(选中包括标题栏的7*7单元格集合),选择自己所喜欢的表格样式。

我们将一步一步教您怎么制作EXCEL万年历!

但是,套用表格格式会导致另外一个不想要的结果,即自动对所谓的标题栏进行了筛选。

接下来,我们在这个7*7的单元格集合任意地方点击右键—>表格—>转换为区域即可。

3.4 进一步美工

我们还可以进一步进行美化处理,这个取决于你自己的想象力了,而非技术。

3.5 添加农历

首先点击开发工具—>点击Visual Basic。

然后插入模块,将GetYLDate()函数拷贝到右边的工作区域。

关闭Visual Basic窗口,回到Excel界面中,在每行日期下面增加一空行。

在对应的空行下输入以下公式,例如在C7下,输入=GetYLDate(C6)。

很不幸,我们并没有看到如期的效果,这个时侯,需要选中所有新增的农历行,然后点击条件格式—>清除规则—>清除所选单元格的规则。

很明显,这个也并非我们想要的,因为所有非本月的农历日期也全部显示出来了,再应用条件格式的话,恐怕技术上会有问题,我们不妨换一种思路,如果其上面的公历日期在本月范围内,则输出阴历,否则则输出空格。

=IF(AND(C6>=$B$5,C6<$S$5),GetYLDate(C6)," ") 最终结果如下:

3.6 持续改进

首先需要把每个月的日历完善起来。

其次需要把年份动态加入到相应的月份和日期中来。

再次需要添加数值调节钮(表单控件和ActiveX控件均可)

4. 总结

Excel的万年历制作涉及到Excel的函数、相对引用、绝对引用、数据的物理存储和展现、条件格式、套用表格格式、控件、VBA。

如果把万年历看做是一个小型项目的话,从需求分析、系统设计、实现、测试,直至不断优化是个反复迭代的过程。

我们将一步一步教您怎么制作EXCEL万年历!

用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,"日",WEEKDAY(B1,2));选中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,“确定”退出。

用EXCEL制作新年万年历

用EXCEL制作新年万年历 新年伊始,制作一个新年万年历送给别人新年的祝福,这份心意是非常重要的。制作新年万年历有很多办法,但用Office的Excel表格制作你又试过没?下面给大家介绍用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,"日",WEEKDAY(B1,2));选中H1单元格,输入公式:=NOW()。

用Excel怎样制作万年历

可以把Excel表格内容设置为桌面背景么? 悬赏分:10 - 解决时间:2007-2-15 08:32 由于经常要查一个Excel表,就想如果把它设置为桌面背景就会很方便了,求教高手,怎么做才能办到? 提问者:firtre - 三级 最佳答案 文件-另存为网页-在桌面上点右键-属性-桌面-自定义桌面-web-钩上就搞定了 用Excel怎样制作万年历 Excel 2010-02-07 15:18:53 阅读578 评论29 字号:大中小 准备工作,制作如下电子表格:

第一步:在C2中输入=TODAY()回车。TODAY()函数用于提取当前系统日期。 第二步:在F2中输入=IF(WEEKDAY(C2,2)=7,"日",WEEKDAY(C2,2)) 回车。 第三步:在H2中输入 =NOW() 回车。NOW()用于提取当前系统时间。 第四步:在D14中设置下拉菜单,数值为1900—2029。参见“怎样制作下拉菜单”

第五步:在F14中设置下拉菜单,数值为1—12。

将查询日期调为当前日期,如下图:

第六步:在A3中输入: =IF(F14=2,IF(OR(D14/400=INT(D14/400),AND(D14/4=INT(D14/4),D14/100<>INT(D14/100))),29, 28),IF(OR(F14=4,F14=6,F14=9,F14=11),30,31))回车。 第七步:B3中输入=IF(WEEKDAY(DATE($D$14,$F$14,1),2)=B4,1,0)回车。选中B3向右复制公式 至H3。 第八步:B6中输入=IF(B3=1,1,0)回车。 第九步:在B7中输入=H6+1回车,选中B7,向下复制公式至B9。 第十步:在B10中输入=IF(H9>=A3,0,H9+1)回车。 第十一步:在B11中输入=IF(H10>=A3,0,IF(H10>0,H10+1,0))回车。 第十二步:在C6中输入=IF(B6>0,B6+1,IF(C3=1,1,0))回车。 第十三步:在C7中输入=B7+1回车。 第十四步:选中C7向下复制公式至C9。 第十五步:在C10中输入=IF(B10>=$A$3,0,IF(B10>0,B10+1,IF(C6=1,1,0)))回车。 第十六步:选中C6,向右复制公式至H6。 选中C7,向右复制公式至H7。 选中C8,向右复制公式至H8。

用EXCEL制作新年万年历

用EXCEL制作新年万年历(修正版) 新年伊始,制作一个新年万年历送给别人新年的祝福,这份心意是非常重要的。制作新年万年历有很多办法,但用Office的Excel表格制作你又试过没?下面给大家介绍用Excel制作万年历。 今天我们介绍用Excel制作万年历的方法。这个新年万年历可以显示当月的月历,还可以随意查阅任何日期所属的月历,非常方便。如果你愿意,还可以让它在特殊的日子里显示不同的提醒文字,一起来试试吧! 本文所涉及到的函数有: 1、AND (logical1,logical2, ...) 2、DA TE (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,"日",WEEKDAY(B1,2));选中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”),为“查询年月”获取一个对

EXCEL制作日历和奖金表

用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,"日 ",WEEKDAY(B1,2));选中H1单元格,输入公式:=NOW()。 选中F1单元格,打开“单元格格式”对话框,在“数字”标签中的“分类”下面选中“特殊”选项,再在右侧“类型”下面选中“中文小写数字”选项,“确定”退出,将“星期数”设置成中文小写形式;选中H1单元格,打开“单元格格式”对话框,在“数字”标签中的“分类”下面选中“时间”选项,再在右侧“类型”下面选中一款时间格式,“确定”退出。 注意:①上述前面一个公式的含义是:如果(IF)当前日期(B1)是星期“7”(WEEKDAY(B1,2)=7),则在F1单元格中显示“日”,否则,直接显示出星期的数值(WEEKDAY(B1,2))。 ②上述第二个函数(NOW())用于提取当前系统日期和时间,也请将系统日期和时间调整准确。

excel表格制作日历

excel表格制作日历 2、同时选中B1、C1、D1单元格,按“格式工具栏上的“合并及居中按钮,将其合并成一个单元格,并输入公式:=TODAY()。 选中B1(合并后的)单元格,执行“格式→单元格命令,打开“单元格格式对话框,在“数字标签中的“分类下面选中“日期选项,再在右侧“类型下面选中“二○○一年三月十四日选项,“确定退出,将日期设置成中文形式。 注意:TODAY()函数用于提取当前系统日期,请将系统日期一定要调整准确哟。 3、选中F1单元格,输入公式:=IF(WEEKDAY(B1,2)=7,"日",WEEKDAY(B1,2));选中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/100I NT(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/100INT(D13/100))],则该月为29天(也就是我们通常所说的“闰年),否则为28天。 如果“月份不是2月,但是“4、6、9、11月,则该月为30天。 其他月份天数为31天。

如何用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,"日",WEEKDAY(B1,2));选中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,“确定”退出。

Excel 2003制作万年历的步骤

Excel 2003制作万年历的步骤 1、启动EXCEL2003,新建一个工作表,取名保存(如万年历.xls),并在相应的单元格中,输入如图1所示的文本。 2、同时选中B1、C1、D1单元格,按“格式”工具栏上的“合并及居中”按钮,将其合并成一个单元格,并输入公式:=TODA Y()。 选中B1(合并后的)单元格,执行“格式→单元格”命令,打开“单元格格式”对话框(如图2),在“数字”标签中的“分类”下面选中“日期”选项,再在右侧“类型”下面选中“二○○一年三月十四日”选项,“确定”退出,将日期设置成中文形式。

注意:TODAY()函数用于提取当前系统日期,请一定要将系统日期调整准确哟。 3、在F1单元格中输入公式:=IF(WEEKDAY(B1,2)=7,"日",WEEKDAY(B1,2));在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,“确定”退出。 同样的操作,将F13单元格数据有效性设置为“=$J$1:$J$12”序列。 注意:经过这样的设置以后,当我们选中D13(或F13)单元格时,在单元格右侧出现一个下拉按钮,按此下拉按钮,即可选择年份(或月份)数值,快速输入需要查询的年、月值。 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(O

Excel制作万年历方法(一看就会)

按CTRL,点击我 我们将一步一步教您怎么制作EXCEL万年历! Office 2007是微软Office产品史上最具创新与革命性的一个版本。全新设计的用户界面、稳定安全的文件格式、无缝高效的沟通协作。 Excel是Office套件中的一个重要组件之一。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的微机数据处理软件。 日历分为阴历和阳历。阳历的历年为一个回归年,现时国际通用的公历(格里高历)即为太阳历的一种,亦简称为阳历;阴历亦称月亮历,或称太阴历,其历月是一个朔望月,历年为1 2个朔望月,其大月30天,小月29 天;中国的农历就是阴阳历的一种。 如何在Excel实现万年历是对Office能力的综合运用,又是分析问题并进行求解的一系列过程。 2. 分析 2.1 整体构思 在进行整体构思之前,不妨我们先看看多数日历是怎样的情形,其中: 1、上面居中为当前年份。 2、然后为当年的12个月份,至于每行为3个月还是4个月取决于可见界面的大小和美观。 3、总所周知,一周则为7天,每个月最大31天,最小28天;如果1号为周六或周日的话,则该月可能要跨越6周;因此每个月最大的跨越为六周,事实上我们找一下其它日历的模板,就会发现一般都是六周。所以我们可以把每个月视为一个7 *6的单元格集合。

我们将一步一步教您怎么制作EXCEL万年历! 2.2 算法问题 当我们确定了每个月事实上为7*6的单元格集合后,我们接下来要做以下几件事情: 1、如何定位和填充相应的每月的7*6单元格在单纯的Excel表中,我们很难采用逻辑判断和循环的方式获取在7*6单元格集合中的第一个星期一应该是哪一天;但我们知道这个7*6单元格所在月的第一天即1号却是固定的,同样当日期固定后,该日期所在的星期几也是固定的,假设2010-01-01为星期五,那星期一是几号呢?很显然,为2010年1月1号向前推4天即2009年12月28号,星期二则为1月1号向前推3天,以此类推,可以推到整个42个单元格中,只不过超过当月第一天的日期则向后推了。 如果我们换个思路可能更好些,在第一个7*6单元格集合中的首个星期一为2010年1月1号向前推5天即星期五,然后加1天,这也是理所当然的求法,那么星期二则为1月1号向前推5天,然后加2天,以此类推,推倒第42个单元格中则为1月1号向前推5天,然后加42天了,从1到42则为一个整数的序列;这样就变成Excel更擅长的计算方式了。

日历工作计划表excel怎么做

竭诚为您提供优质文档/双击可除日历工作计划表excel怎么做 篇一:如何用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、启动exceL20XX,新建一个工作表,取名保存(如万年历.xls),并在相应的单元格中,输入如图1所示的文本。

2、同时选中b1、c1、D1单元格,按“格式”工具栏上的“合并及居中”按钮,将其合并成一个单元格,并输入公式:=ToDAY()。 选中b1(合并后的)单元格,执行“格式→单元格”命令,打开“单元格格式”对话框(如图2),在“数字”标签中的“分类”下面选中“日期”选项,再在右侧“类型”下面选中“二○○一年三月十四日”选项,“确定”退出,将日期设置成中文形式。 注意:ToDAY()函数用于提取当前系统日期,请将系统日期一定要调整准确哟。 3、选中F1单元格,输入公式:=IF(weeKDAY(b1,2)=7,"日",weeKDAY(b1,2));选中h1单元格,输入公式:=now()。 选中F1单元格,打开“单元格格式”对话框,在“数字”标签中的“分类”下面选中“特殊”选项,再在右侧“类型”下面选中“中文小写数字”选项,“确定”退出,将“星期数”设置成中文小写形式;选中h1单元格,打开“单元格格式”对话框,在“数字”标签中的“分类”下面选中“时间”选项,再在右侧“类型”下面选中一款时间格式,“确定”退出。 注意:①上述前面一个公式的含义是:如果(IF)当前日期(b1)是星期“7” (weeKDAY(b1,2)=7),则在F1单元格中显示“日”,否

制作新年万年历excel

制作新年万年历有很多办法,但用Office的excel表格制作你又试过没?新年伊始,制作一个新年万年历送给别人新年的祝福,这份心意是非常重要的。下面给大家介绍用Excel 制作万年历。今天我们介绍用Excel制作万年历的方法。 新年伊始,制作一个新年万年历送给别人新年的祝福,这份心意是非常重要的。制作新年万年历有很多办法,但用Office的Excel表格制作你又试过没?下面给大家介绍用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,"日",WEEKDAY(B1,2));选中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,“确定”退出。

用EXCEL做日历牌

用EXCEL做日历牌(公历) 2011-08-05 11:32 以前很多人喜欢在办公桌上放一本台历,方便查询日期,现在电脑已经普及了,大家都喜欢从电脑上查看日历,又方便又不占地方用编程的方法可以制做电子日历,但会编程的人不多。如今EXCEL电子表格的普及率很高,由于它强大的数据处理能力,被很多在EXCEL中有很多时间函数,通过这些函数可以制做一款简单实用的日历牌。 先看一下做好的样式: 在这个日历牌的上面左右两个微调按钮,可以通过它们调整想要显示的年月。 下面就介绍制做过程 1、选画边框 其中C2与D2单元格是合并单元格,用于显示年份。由于年份是四位数字,所以要占用两个单元格。 其中的E10:G10也是合并单元格,这是为了显示“今天”的日期,包含了年月日三个内容,所以要占三个单元格。 2、填入内容 这些内容不需要公式,直接手工输入,根据自己的喜好设置字体、字号、颜色。 注意年份输入在C2单元格,月份输入在F2单元格,这两个位置会被下面的公式所引用。 3、日历公式 这是关键一步,要输入公式了,公式的区域在B4:H9,由于第一个单元格是B4单元格,所以公式中要对它进行“绝对引用”。 可能很多人都不相信,这个区域中的公式都是一样的,虽然B4:H9区域共有42个单元格,但都使用了完全相同的公式,只要在B 公 =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)-WEEKDAY(DATE($C$2还有一小段“DAY(DA TE($C$2,$F$2+1,1)-1)”,我们给它起名为“最后一天”,因为它是计算日历牌中,当月最后一天的号数,也可以 然后把“号”与“最后一天”代入公式看一下: 公式就变成=IF(OR((号>最后一天),(号<1)),"",号) 这样是不是简单很多了,也容易理解了。 这就是一个常见的IF判断公式,在条件部份使用了OR函数进行逻辑“或”运算,只要“(号>最后一天),(号<1)”两部份中,任一部份为 提示:这只是为了分析方便而做的“简化”,实际使用时还要使用原公式的。 提示:对所有长公式都可以用这种方法“简化”,然后对每一部份逐一分析理解。 首先这是一个由IF函数构成的判断公式,大家都知道IF函数有三个参数,第一个参数是“条件”,第二个参数是“条件”为“真”是执行公式的含义是:如果当前单元格中显示的“号”大于当前月的“最后一天”或者小于“1”,那就说明这个“号”不应显示在当前月份牌中,

用excel制作万年历的公式问题

用excel制作万年历的公式问题 2010-10-18 21:44 提问者:匿名|浏览次数:1208次 用excel制作万年历时,在显示日期的单元格区域输入的这个公式如何理解, m_day-(WEEKDAY(m_day)-1)+(ROW()-5)*7这一步是怎么计算出来的?具体公式如下: =IF(MONTH(m_day)<>MONTH(m_day-(WEEKDAY(m_day)-1)+(ROW()-5)*7 +COLUMN()-2),"",m_day-(WEEKDAY(m_day)-1)+(ROW()-5)*7+COLUMN()-2 ) 我来帮他解答 2010-10-19 01:16 满意回答 不清楚你的公式是在哪个单元格输入。 “m_day-(WEEKDAY(m_day)-1)+(ROW()-5)*7”—— m_day……是个自定义区域名称,可以直接引用一个单元格区域,可以是数值或日期格式。 (WEEKDAY(m_day)-1)……是借用星期函数,返回星期几(表现为:星期日=1、星期一=2、……),其实公式可以简化:WEEKDAY(m_day,2) (ROW()-5)*7……这一步才是关键。利用行号*7,与公式中的COLUMN()配合,使向右每格增加1(天),至第7天(增加6天)后向下填充,使上下行相差“7”,就是上下间隔一个星期。 看他的附图,公式应该在第5行输入,故日期第一行=(5-5)*7=0,日期不增减。随着公式向下填充,每行增加7(天)。 至于该段公式要用引用原数据的单元格m_day减去星期表现形式的1~7,再加上0~7~14~21……,使数据在所给定的数值(或日期),逐格显示顺序日期。2 |评论

excel制作日历

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”,

如何用EXCEL表格制作万年历

1、启动EXCEL2003,新建一个工作表,取名保存(如万年历.xls),并在相应的单元格中,输入如图1所示的文本。 ① 2、同时选中B1、C1、D1单元格,按“格式”工具栏上的“合并及居中”按钮,将其合并成一个单元格,并输入公式:=TODAY()。 选中B1(合并后的)单元格,执行“格式→单元格”命令,打开“单元格格式”对话框(如图2),在“数字”标签中的“分类”下面选中“日期”选项,再在右侧“类型”下面选中“2001-3-14”选项,“确定”退出,将日期设置成中文形式。

② 注意:TODAY()函数用于提取当前系统日期,请将系统日期一定要调整准确哟。 3、选中F1单元格,输入公式:=IF(WEEKDAY(B1,2)=7,"日",WEEKDAY(B1,2));选中H1单元格,输入公式:=NOW()。 选中F1单元格,打开“单元格格式”对话框,在“数字”标签中的“分类”下面选中“特殊”选项,再在右侧“类型”下面选中“中文小写数字”选项,“确定”退出,将“星期数”设置成中文小写形式;选中H1单元格,打开“单元格格式”对话框,在“数字”标签中的“分类”下面选中“时间”选项,再在右侧“类型”下面选中一款时间格式,“确定”退出。 注意:①上述前面一个公式的含义是:如果(IF)当前日期(B1)是星期“7”(WEEKDAY(B1,2)=7),则在F1单元格中显示“日”,否则,直接显示出星期的数值(WEEKDAY(B1,2))。 ②上述第二个函数(NOW())用于提取当前系统日期和时间,也请将系统日期和时间调整准确。

4、在I1、I2单元格分别输入1800、1801,然后同时选中I1、I2单元格,用“填充柄”向下拖拉至I301单元格,输入1800—2100年份序列。 同样的方法,在J1至J12单元格中输入1—12月份序列。 5、选中D13单元格,执行“数据→有效性”命令,打开“数据有效性”对话框(如图3),按“允许”右侧的下拉按钮,选中“序列”选项,在“来源”下面的方框输入:=$I$1:$I$301,“确定”退出。 ③ 同样的操作,将F15单元格数据有效性设置为“=$J$1:$J$12”序列。 注意:经过这样的设置以后,当我们选中D15(或F15)单元格时,在单元格右侧出现一个下拉按钮,按此下拉按钮,即可选择年份(或月份)数值,快速输入需要查询的年、月值。 6、选中A2单元格,输入公式: =IF(F13=2,IF(OR(D13/400=INT(D13/400),AND(D13/4=INT(D13/4),D13/100<>INT(D13/100)))

用Excel制作万年历的一种方法

用Excel制作万年历的一种方法 1.概述 Office 2007是微软Office产品史上最具创新与革命性的一个版本。全新设计的用户界面、稳定安全的文件格式、无缝高效的沟通协作。 Excel是Office套件中的一个重要组件之一。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的微机数据处理软件。 日历分为阴历和阳历。阳历的历年为一个回归年,现时国际通用的公历(格里高历)即为太阳历的一种,亦简称为阳历;阴历亦称月亮历,或称太阴历,其历月是一个朔望月,历年为1 2个朔望月,其大月30天,小月29 天;中国的农历就是阴阳历的一种。 如何在Excel实现万年历是对Office能力的综合运用,又是分析问题并进行求解的一系列过程。 2.分析 2.1整体构思 在进行整体构思之前,不妨我们先看看多数日历是怎样的情形,其中: 1、上面居中为当前年份。 2.然后为当年的12个月份,至于每行为3个月还是4个月取决于可见界面的大小和美观。 3.总所周知,一周则为7天,每个月最大31天,最小28天;如果1号为周六或周日的话,则该月 可能要跨越6周;因此每个月最大的跨越为六周,事实上我们找一下其它日历的模板,就会发现一般都是六周。所以我们可以把每个月视为一个7*6的单元格集合。

2.2算法问题 当我们确定了每个月事实上为7*6的单元格集合后,我们接下来要做以下几件事情: 1.如何定位和填充相应的每月的7*6单元格 在单纯的Excel表中,我们很难采用逻辑判断和循环的方式获取在7*6单元格集合中的第一个星期一应该是哪一天;但我们知道这个7*6单元格所在月的第一天即1号却是固定的,同样当日期固定后,该日期所在的星期几也是固定的,假设2010-01-01为星期五,那星期一是几号呢?很显然,为2010年1月1号向前推4天即2009年12月28号,星期二则为1月1号向前推3天,以此类推,可以推到整个42个单元格中,只不过超过当月第一天的日期则向后推了。 如果我们换个思路可能更好些,在第一个7*6单元格集合中的首个星期一为2010年1月1号向前推5天即星期五,然后加1天,这也是理所当然的求法,那么星期二则为1月1号向前推5天,然后加2天,以此类推,推倒第42个单元格中则为1月1号向前推5天,然后加42天了,从1到42则为一个整数的序列;这样就变成Excel更擅长的计算方式了。 2.如何屏蔽非当月的日期 大家也许会注意到在这个7*6的单元格集合中,一定会混入不属于这个月的日期,怎么把这些不属于本月的日期去除呢?如果我们用函数来实现的话,也不是不可能,只不过过于复杂。 幸好Excel提供了条件格式,条件格式的目的就是为符合或不符合相应条件的单元格提供该单元格的格式化需求,如果我们将小于当月第一天,或者大于等于下个月第一天值的单元格字符设置为白色字体,同时将这些单元格的背景色也置为白色,岂不是看不到了嘛。 3.农历问题 农历问题是属于典型的算法问题,我还从未见到在单纯的Excel表格中使用函数和表达式就能实现农历算法的。很幸运的是,Office提供了强大的编程语言VBA,再加上强大的互联网搜索引擎,我们很容易就能找到并实现农历的功能。 关于如何对不在当月的农历日期进行屏蔽,详情见步骤。

相关文档
最新文档