ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 宏业教育

[原创] 庖丁解牛:学习自己需要的函数

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-19 13:18 | 显示全部楼层
上接8楼)接下来,应该是第二/四个公式了,为什么把第二个和第四个一起分析呢,因为他们比较相似。先看一下公式吧:
=DATEDIF(F3,TODAY(),"y")    =IF(H3="","",DATEDIF(H3,TODAY(),"y"))
在这两个公式当中,都运用了两个日期函数,一个是DATEDIF ,一个是TODAY函数,但是他们的功能确有差别。先看一下TODAY函数吧,函数:TODAY
用途:返回系统当前日期的序列号。 参数:无 语法:TODAY() 实例:公式“=TODAY()”返回2001-8-28(执行公式时的系统时间)。这是一个比较特殊的函数,它没有参数,或都说它的参数就是一个空括号,从前边的资料当中,我们可以看出,TODAY函数在这两个公式中都是作为DAETDIF函数的参数身份出现的。但可能有朋友要问,为什么是用TODAY 呢,难道用在DATEDIF的第二个参数位输入今天的日期不行吗?行,但是是有差距的,因为直接输入日期,它是一个静态数,也就是永远不会改变,但我们的档案名册不可能只用一天两天或是一年半载。如输入(2010-04-19)那么,它就永远是这个日期,而用TODAY函数呢,则会随着你的系统日期变换,永远保持着最新日期。至于用那个,你自己可以选择。
DATEDIF函数:这个函数可以计算两个日期间的间隔,它能够显示周、月、年。其语法结构为:=DATEDIF(第一日期,第二日期,"差异")
第一日期: 两个日期中较早的一个日期
第二日期:两日期中距今天最近的日期。
"差异" : 这正是你想要计算的.(表为参数三内容,不同的选择会有不同的结果)
"d"        两日期之间的天数.       
"m"        两日期之间的月数.       
"y"        两日期之间的年数.       
"yd"        把两日期年成是同一年的相差月数.
"ym"        把两日期年成是同一年的相差天数.
"md"        把两日期年成是同一年、同一月的相差天数.
从上面的资料我们可以看出,DATEDIF所执行的就是用“出生日期”(即H3)与“当前日期”(即TODAY求出来的)作比较,然后求出它们之间的整年差异数,即为我们想要求得的年龄。
最后一个IF同前一个公式第一次出现一样,都为了屏闭错误值。
好的,我们这个单元格的内容也就分析完了。

[ 本帖最后由 宏业教育 于 2010-4-20 18:27 编辑 ]

附件二.rar

2.96 KB, 下载次数: 216

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-19 14:04 | 显示全部楼层
品完茶后,我们继续前边的内容,看一看第三个填有函数的单元格,即为出生日期单元格。=--TEXT(IF(LEN(M3)=15,19,"")&MID(M3,7,6+IF(LEN(M3)=18,2)),"#-00-00")
我们将该公式简化为:=--TEXT(MID,M3,7,8),"#-00-00") 如果资料里的身份证号全是18号数,这样写是最方便的,但是,这样写的唯一缺点就是,如果资料里边有15位的,就会出现错误值。简化后的公式,只有嵌套两个级别,一个是TEXT函数,另一个就是作为参数出现的MID函数,由于MID函数我们在前讲中已经讲解过,相信朋友们已经掌握,这里只说明一下它的作用是将身份证信息中的第7—14位数提取出来。即出生日期字段提取给TEXT处理,让其设置日期格式。接下来请看TEXT函数的基本定义与写法。
.函数:TEXT,将数值转换为按指定数字格式表示的文本。
语法:TEXT(value,format_text)
Value    为数值、计算结果为数字值的公式,或对包含数字值的单元格的引用。
Format_text    为“单元格格式”对话框中“数字”选项卡上“分类”框中的文本形式的数字格式。
说明
•        Format_text 不能包含星号 (*)。
•        通过“格式”菜单调用“单元格”命令,然后在“数字”选项卡上设置单元格的格式,只会更改单元格的格式而不会影响其中的数值。使用函数 TEXT 可以将数值转换为带格式的文本,而其结果将不再作为数字参与计算。
从上边的信息,我们可以了解到,TEXT函数就是将数字或文本转换为指定的文本。什么意思呢?如果不进行转换,MID所提取出来的8位日期值就不会以日期的格式出现,电脑会将其显示为8位连续的数字(如:19790628,就不会显示为:1979-06-28)。这样不是我们想要的结果,所以,外套了一个TEXT文本函数。在这里,MID所提取出来的就是TEXT函数的第一个参数,即,value, (数值或是文本),而“#-00-00”则是TEXT函数的第二个参数,是我们想要显示的格式,它表为显示为“年-月-日”格式,这样就得到我们想要的日期格式了。
前边那个较长的公式,我们也来做个简单的解说:即:用IF判断身份证号所在单元格的位数(用LEN提取出来的)是否=15位,如是,则加上19,否则就不加,即“” 空值。
当然,也可以用另一种笨办法:=MID(M3,7,4)&MID(M3,11,2)&MID(M3,13,2)

[ 本帖最后由 宏业教育 于 2010-4-19 18:00 编辑 ]

TA的精华主题

TA的得分主题

发表于 2010-4-19 22:21 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-4-20 12:41 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-4-20 12:54 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-4-20 13:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
能在一个附件里是最好不过了

TA的精华主题

TA的得分主题

发表于 2010-4-20 13:32 | 显示全部楼层
老师辛苦了,多谢分享知识,先占个位置,再慢慢学习!

TA的精华主题

TA的得分主题

发表于 2010-4-20 14:10 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-20 15:41 | 显示全部楼层
嘻嘻,谢谢各们朋友捧场,由于考虑工程比较大,所以自己先占一楼,专门作为附件存取处,这样也比较方便以后继续上传附件。现第一个学习附件(EXCEL表格附件)已经编制好,上传,

[ 本帖最后由 宏业教育 于 2010-4-24 12:46 编辑 ]

性别附件.rar

5.29 KB, 下载次数: 114

附件二.rar

2.96 KB, 下载次数: 119

身份证系统.rar

2.76 KB, 下载次数: 224

TA的精华主题

TA的得分主题

发表于 2010-4-20 16:02 | 显示全部楼层
谢谢这样的总结,给个建议,能否把版式稍微排一下,方便大家阅读呢,这样看着眼睛累得慌。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-8 02:16 , Processed in 0.028459 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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