ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 95645|回复: 279

[分享] 练剑,拿日期函数开刀(数组公式初级)7小题(胡剑开课了...)

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2011-5-16 15:58 | 显示全部楼层 |阅读模式
本帖最后由 胡剑0227 于 2015-5-12 20:44 编辑

这是数组培训班的一个练习题,刚刚看到一个热帖大家在讨论日期,所以也想谈谈自己对日期的理解,以及处理日期相关问题的一般方式。这个帖子会有些练习题,也会是不错的进行数组公式练习的材料。;:P 自卖自夸,呵呵


第一课讲了数组公式中最基础、最关键的一个思想:参数驱动。
在前几期我都会呼吁基础差的同学根据这个思想去开发常用函数的数组用法...以将这种认识融入到实战中。由于只是空泛地呼吁,没有拿出具体的科目进行训练,因此具体有多少人去做,效果如果我真的不清楚。知道一个知识是一个层次,能自由的运用就是另一个层次,之间的差距需要通过练习,进而得到体悟去弥补...

日期和时间,在是实际工作中经常需要处理的一个课题。EXCEL为此也专门配备了一整套函数。这些函数各有专长,能专门处理一些特定的日期和时间的问题。这本身无可厚非,但容易给我们造成一种错觉:特定的日期问题都可以去找特定的日期函数去解决。于是部分同学的用功方向就变成了熟记更多的日期函数并掌握它们。这有什么不好吗?!听上去一切正常。
我指出以下弊病:
1.很多函数是预定义的,而且对关键参数类型有限制,要求引用类型。
2.重单个的函数,势必轻日期本质的理解,进而弱化创造性编辑公式的能力。
3.函数名多的眼花缭乱,光记忆就是一种负担。

就这点来讲,医学典籍《太平惠民和剂局方》正是一个很好的例子。它是宋代太医局编的,里面整理了对应各种疾病的相应药方,出发点是好的,为了人人都能治病,但就是这部医典遗害无穷。后世医者为了速成,不再研读黄帝内经,不注重中医基本理论的研究,看病成了试方子...庸医如雨后春笋一般...(大意出自百家讲坛,中医学博士罗大中的 大国医)

下面我谈一下我对日期和时间的认识...

1.日期本质上就是数值(日期序列号)
日期对应图.jpg
上面这个类似于一次函数的图像很好的说明了日期与日期序列号之间的对应关系。1900-1-0是虚拟的一个特殊日期,是时间日期的起点,对应序列值0。1900-1-1凌晨0点对应序列值1,也就是说每一天对应一个序列值单位1。1900-1-1正午12点对应序列值1.5,就是说时间间隔(小时、分、秒)也是同时间序列值一一对应的。于是1 1/3(1又三分之一)就对应1900-1-1上午6点(一日=24小时,24*1/3=8)。

因此,很多对于日期的计算都可以转化为数值之间的计算或以此来理解。比如两个日期之间相隔的天数只要将两个日期相减就可以了。这是因为日期相减实质就是序列号相减,而序列号的单位1就等价为一天

日期型文本如“2011-5-16”本质就是文本,但是是Excel可以辨认的文本,中间有一个解读过程。当在单元格中输入“2011-5-16”时EXCEL能够识别这是个日期(和系统中设定的日期分隔符有关),然后将其翻译为日期序列值,并根据输入的日期格式将单元格设置为相应的日期格式。这些都是Excel智能性的表现(欢迎讨论)

2.掌握基本的时间日期函数
DATE:
=date(year,month,day)
这应该是最基本的日期函数了,EXCEL能对其中的month,day参数进行智能地解读。具体说DATE(2011,2,0)就能解读为"2011-1-31",DATE(2011,15,3)也能被解读为"2012-3-3",这样就为处理日期带来了极大地方便。我们可以通过间隔的天数或月份直接求得目标日期,也能方便的定位目标月份的最后一天(通过将月份参数增1,天参数设置为0,这样就能避免每月最后一天日期不确定带来的麻烦)

处理日期问题,我们可以先把“某一段”日期作为研究对象,然后再对这段日期进行特性测试,最后得到对这段日期的统计特性(符合多个条件的日期个数之类)。这个函数可以用来构造作为研究对象的那段日期。

YEAR,MONTH,DAY
这三个参数能直接从日期参数中提取对应的年份、月份和所在月的第几天。
WEEKDAY
返回对应星期几的数值,根据第二参数的不同意义不同。第二参数可以是1,2,3,我建议统统忘了1和3,就记一个2。我们中国人的习惯星期日是一星期的最后一天,使用2作为第二参数正好符合这种习惯。具体说,使用2作为第二参数时能返回1,2,...,7,分别对应星期一,星期二,...,星期日,因此不容易混淆。

TODAY,NOW
分别返回当下的日期和时间...

VALUE,DATEVALUE
能将日期转化为序列值...算是建立了一个通道

好了,我希望大家在解下面日期问题时能选用的日期函数局限于上面提到的。我相信这几个函数你记起来也不会特别的痛苦。
==========Excel函数实战技巧精粹=================
函数公开课群 246666938,进入群以后直接在聊天界面输入 #视频1001 可以下载公开课视频,不过建议直接输入 #报名 加入组织,那样毕业时你可以豪气万丈地对我说:“胡版,我当时连公开课都没听就直接报名了!!英明呀,回想起来真是痛快!“

所有的附件密码为


  1. 我知道是解答
复制代码



[ 本帖最后由 胡剑0227 于 2011-5-17 18:48 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-5-16 16:01 | 显示全部楼层
版主辛苦了!

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-16 16:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 胡剑0227 于 2017-7-19 22:05 编辑

大家不要把做出题作为唯一目标,最好能从中提炼出一些通用的解题思路。
这里我们不比公式的字符多少,但可以PK一下谁的公式思路上更顺畅,学会后即使路上磕磕碰碰N次,也不会把思路“丢”在路上


第一题:今天是本年度第几天?顺便谈谈你怎么测试你的答案是正确的。

不用附件了吧,大家直接飚公式好了,能自己点评一下更好。高手很多,但我想初学的朋友能得到更多的东西。


附件是答案,建议先尝试解答,密码36楼中找,呵呵


[ 本帖最后由 胡剑0227 于 2011-5-18 09:26 编辑 ]
小尺寸二维码.jpg

今天是本年度第几天.rar

4.72 KB, 下载次数: 1363

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-5-16 16:06 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
日期函数一直都是一个重要的函数,正要好好学习。

TA的精华主题

TA的得分主题

发表于 2011-5-16 16:07 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-5-16 16:13 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-5-16 16:15 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-5-16 16:15 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-5-16 16:21 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-5-16 16:21 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-28 13:58 , Processed in 0.045876 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表