Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3999|回复: 14

[习题] 【开帖】[201401函初班]第六讲作业C组上交帖

[复制链接]
发表于 2014-4-15 20:44 | 显示全部楼层 |阅读模式
本帖最后由 huangcaiguang 于 2014-4-20 20:12 编辑

2014年函数初级班C组学员:请提交[201401函初班]第六讲作业!
注意:
1、本次作业提交直接贴公式即可(写好对应题号);
2、C组学员跟帖时,不要重复占楼,修改请在原楼层,不要回复学委点评,本帖已设置回复仅作者可见;
3、非本组学员勿跟帖,违者扣分删帖;
4、作业截止时间:2014-4-20  20:00

评分

参与人数 2 +18 收起 理由
air05 + 15 赞一个!
ghostjiao + 3 忘记评分了

查看全部评分

发表于 2014-4-15 22:39 | 显示全部楼层
【201401函初班】-C021-潇潇雨歇20088第六讲作业,请审阅。

1、=DATEDIF(TEXT(MID(D7,7,11)-500,"00-00-00,"),TODAY(),"y")
阐述公式原理:先使用MID函数选出身份证号码中的出生年月,再使用TEXT函数排除四舍五入的因素后转换成日期形式,最后使用DATEDIF函数计算出生日期与今天相关的年份,得出周岁年龄。
2、=EDATE(D19,E19)
阐述公式原理使用EDATE函数,返回超始日期加上或减去指定月份后的日期。
3、=EOMONTH(C28,0)
     =DATE(YEAR(C28),MONTH(C28)+1,0)
阐述其中一种公式原理:eomonth函数返回的就是指定月份之前或之后的月份的最后一天,将之后的月份写为零,则返回了当月的月末日期。
4、=IF(MONTH(C45)<4,"第一季度",IF(MONTH(C45)<7,"第二季度",IF(MONTH(C45)<10,"第三季度","第四季度")))
     =LOOKUP(MONTH(C45),{1,"第一季度";4,"第二季度";7,"第三季度";10,"第四季度"})
阐述其中一种公式原理:先计算出指定日期的月份,然后给出月份所在季度的条件然后使用IF函数得出结果。
5、=NETWORKDAYS(C57,D57)

评分

参与人数 1 +20 金币 +18 收起 理由
huangcaiguang + 20 + 18 最后一题要除开节假日!

查看全部评分

回复

使用道具 举报

发表于 2014-4-15 22:48 | 显示全部楼层
本帖最后由 仅落恩 于 2014-4-17 07:55 编辑

占楼
1 =DATEDIF(TEXT(MID(D7,7,6+(LEN(D7)=18)*2),"00-00-00"),TODAY(),"y")



2  =EDATE(D19,E19)



3 =DATE(YEAR(C28),MONTH(C28)+1,)
   =EOMONTH(C28,0)



4 =TEXT(INT((MONTH(C45)+2)/3),"第[DBNUM1]0季度")
   ="第"&MID("一二三四",(MONTH(C45)+2)/3,1)&"季度"

5  =NETWORKDAYS(C57,D57,G55:G72)+3 IXPT8974K5VM5`}HRD1N.jpg
睡觉  剩下的回头补

评分

参与人数 1 +16 金币 +18 收起 理由
huangcaiguang + 16 + 18 最后一题掉坑了!

查看全部评分

回复

使用道具 举报

发表于 2014-4-16 00:12 | 显示全部楼层
[201401函初班]第六讲作业:C017-969341591
1:=DATEDIF(DATEVALUE(TEXT(MID(D7,7,6+(LEN(D7)=18)*2),"00-00-00")),TODAY(),"y")
2:=EDATE(D19,E19)
3a:=EOMONTH(C28,0)
3b:=DATE(YEAR(D28),MONTH(D28)+1,0)
4a:=IF(MONTH(C45)/3<=1,1,IF(MONTH(C45)/3<=2,2,IF(MONTH(C45)/3<3,3,4)))
4b:=IF(MONTH(C45)<=3,1,IF(MONTH(C45)<=6,2,IF(MONTH(C45)<=9,3,4)))
5:=NETWORKDAYS(C57,D57)

评分

参与人数 1 +16 金币 +16 收起 理由
huangcaiguang + 16 + 16 第四题只能算一种解法,最后一题要除节假日.

查看全部评分

回复

使用道具 举报

发表于 2014-4-16 00:43 | 显示全部楼层
本帖最后由 air05 于 2014-4-16 00:47 编辑

1.=DATEDIF(TEXT(MID(D7,7,11)-500,"00-00-00,"),TODAY(),"Y")
因为身份证只有15和18位,无论是哪个,它们都是从第7位开始显示时间的,所以用mid函数从第7位开始提取,所以公式写为MID(D7,7,11),在MID外套个text写为TEXT(MID(D7,7,11)-500,"00-00-00,") ,MID结果减去500是在做千分位时怕千分符后的数进位,算周岁其实就是在算两个时间间隔的整年数,所以应该在外层套个DATEIF函数,DATEDIF(开始时间,结束时间,"Y"),他要求的第一参数和第二参数都必须是有分隔符的时间,结束时间可以用TODAY()求出
2.=EDATE(D19,E19)
这个题可以用EDATE函数,意思是对月分进行相加
3.解法1.=EOMONTH(C28,0)
   解法2.=DATE(YEAR(C28),MONTH(C28)+1,0)
本月的最后一天,其实相当于下个月的第0天,所以把C列用YEAR,month重新拆分,在用date组合,把month()+1表示下个月,date第三个参数写成0即可下拉公式
4.解法1.=INT((MONTH(C45)+2)/3)
解法2.=ROUNDUP(MONTH(C45)/3,)
判断季度就是判断月份,每个季度有3个月,用每个月除以3在进行,会发现是3倍数,整数部分会增加1,如黄色部分图所示,所以ROUNDUP向上取整
5.=NETWORKDAYS(C57,D57,G53:G62)+1
五一相当于放了一天假,因为5.1、5.2、5.3分别是周四、周五、周六,周五虽然放假,但周日却上班
十一法定假日是七天,而10.1-10.7一共是包含二天休息日,7天减掉2天还有5天
所以五一  的一天加上十一的5天一共是6天
而2014-4-16与2014-10-15之间有131个工作日减掉6天还剩125天



2.png
QQ截图20140416004049.png

评分

参与人数 1 +20 金币 +18 收起 理由
huangcaiguang + 20 + 18 第四题可写为=-INT(-MONTH(C45)/3)

查看全部评分

回复

使用道具 举报

发表于 2014-4-16 22:03 | 显示全部楼层
老师辛苦了!
第一题:
=DATEDIF(TEXT(MID(D7,7,6+(LEN(D7)=18)*2),"00-00-00"),TODAY(),"Y")
第二题:
=EDATE(D19,E19)
第三题:
=EOMONTH(C28,0)
=DATE(YEAR(C28),MONTH(C28)+1,1)-1
第四题:
=LOOKUP(MONTH(C45),{1,4,7,10;"第一季度","第二季度","第三季度","第四季度"})
=IF(MONTH(C45)/3>3,"第四季度",IF(MONTH(C45)/3>2,"第三季度",IF(MONTH(C45)/3>1,"第二季度",IF(MONTH(C45)/3>0,"第一季度"))))
第五题:
=NETWORKDAYS(C57,D57)-3-1-1-1
5.1  放假1天
端午放假1天
中秋放假1天
10.1放假3天


【6】2014-函初-日期函数-Eric_f765.rar

63.6 KB, 下载次数: 2

评分

参与人数 1 +19 金币 +18 收起 理由
huangcaiguang + 19 + 18 第三题刻写为=DATE(YEAR(C28),MONTH(C28)+1.

查看全部评分

回复

使用道具 举报

发表于 2014-4-17 10:28 | 显示全部楼层
【新手班】VBA-新手1
先交吧  原理不写了
1  =DATEDIF(TEXT((LEN(D7)=15)*19&MID(D7,7,6+(LEN(D7)=18)*2),"#-00-00"),TODAY(),"y")

2  =DATE(YEAR(D19),MONTH(D19)+E19,DAY(D19)-1)

3 (1) =DATE(YEAR(C28),MONTH(C28)+1,)
    (2)=DATE(YEAR(C28),MONTH(C28),DAY(EOMONTH(C28,0)))

4   (1)=TEXT(ROUNDUP(MONTH(C45)/3,0),"[dbnum1]第0季度")
      (2)="第"&MONTH(MONTH(C45)&0)&"季度"

5       =NETWORKDAYS(C57,D57)

点评

最后一题未除节假日!  发表于 2014-4-17 23:25

评分

参与人数 1 +16 金币 +16 收起 理由
huangcaiguang + 16 + 16 神马都是浮云

查看全部评分

回复

使用道具 举报

发表于 2014-4-17 13:25 | 显示全部楼层
本帖最后由 xuyouxm 于 2014-4-17 15:56 编辑

[201401函初班]---C002--xuyouxm

公式解释得不好:

01:
  1. =DATEDIF(TEXT(MID(D7,7,11)-500,"00-00-00,"),TODAY(),"y")
复制代码
  1. =DATEDIF(TEXT(MID(D7,7,6+(LEN(D7)=18)*2),"00-00-00"),TODAY(),"y")
复制代码
阐述公式原理:首先要将身份证中的出生日期提取出来,提取的方式要兼顾15位和18位。提取后用TEXT函数转换为日期格式,再用DATEDIF函数,(开始日期,结束日期,年份差值),得出结果!

02:
  1. =EDATE(IF(ISNUMBER(D19),D19,--(LEFT(D19,1)&MID(D19,3,9))),E19)
复制代码
  1. =EDATE(D19,E19)
复制代码
阐述公式原理:如果生产日期是统计的话,可直接用EDATE函求出,如果生产日期的年份不正确,需用公式将年份转化为正确的格式方可求出值

在DATE函数中,当年份缺省时,系统默认为1900年,当月份缺省时为0,即表示上年的第12月,当日期缺省时为0,则表示上月的月末天数,如DATE(2010,3)返回:2010-2-28,即是返回2010年2月份的月末的日期。

03:
  1. =EOMONTH(C28,0)
复制代码
  1. =DATE(YEAR(C28),MONTH(C28)+1,)
复制代码
阐述其中一种公式原理:用DATE分别求出年份,月份,并在月份加上1,DAY()的日期为0,没有日期可以取,所以将会取上月的最后一天为日期。

04:
  1. =INT((MONTH(C45)+2)/3)
复制代码
  1. =ROUNDUP((MONTH(C45))/3,0)
复制代码
  1. =LEN(2^MONTH(C45))
复制代码
  1. =CEILING.PRECISE(MONTH(C45)/3)
复制代码
阐述其中一种公式原理:用公式MONTH求出月份。再用2的月份的次方求出相应的值。再用LEN求出相应的位数。因为2的月份的次方计算后的位数刚好与季度吻合。
05:

如果只算休息日(周末休息)就用以下公式:
  1. =NETWORKDAYS(C57,D57)
复制代码
如果休息日要包含法定假日,就用以下公式:
  1. =NETWORKDAYS(C57,D57,{41760,41761,41913,41914,41915,41920})
复制代码





点评

做的很好!赞一个!  发表于 2014-4-17 23:28

评分

参与人数 1 +20 金币 +18 收起 理由
huangcaiguang + 20 + 18 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2014-4-17 15:39 | 显示全部楼层
交作业

[201401函初班-hhxy-CO12.zip

64.42 KB, 下载次数: 3

评分

参与人数 1 +18 金币 +16 收起 理由
huangcaiguang + 18 + 16 最后一题未除节假日

查看全部评分

回复

使用道具 举报

发表于 2014-4-17 19:38 | 显示全部楼层
1.
F7=DATEDIF(TEXT(MID(D7,7,6+(LEN(D7)=18)*2),"00-00-00"),TODAY(),"y")

阐述公式原理:=DATEDIF(TEXT(MID(D7,7,6+(LEN(D7)=18)*2),"00-00-00"),TODAY(),"y")
LEN(D7)=18)*2 判断D7是不是18位 若是则1×2=2,若不是则0×2=0
TEXT(MID(D7,7,6+(LEN(D7)=18)*2),"00-00-00" 依据第一次判断来提取出生年,用TEXT函数转成日期
最后用隐藏函数DATEDIF(开始日期,结束日期,"Y")得出两年之差,"Y"表示年

2.
F19=EDATE(D19,E19)

阐述公式原理:=EDATE(开始日期,之后几个月)

3.
D28=DATE(YEAR(C28),MONTH(C28)+1,)
B28=EOMONTH(C28,0)

阐述其中一种公式原理:=DATE(YEAR(C28),MONTH(C28)+1,)
DATE(year,month,day)
YEAR(C28) 提取C28里面的年
MONTH(C28)+1 提取C28里面的下一个月
第三参数为空,默认最后一天

=EOMONTH(C28,0)
EOMONTH(开始月份,当月最后一天)
若0改为1,则显示下月最后一天

4.
D45=TEXT((MONTH(C45)+5)/3,"第aaa季度")
E45="第"&LOOKUP(MONTH(C45),{1,4,7,10},{"一","二","三","四"}&"季度")

阐述其中一种公式原理:

="第"&LOOKUP(MONTH(C45),{1,4,7,10},{"一","二","三","四"}&"季度")
先判断日期的月份month,然后使用查找函数来查找对应的值(我是用lookup),最后借用字符连接填写辅助信息

5.
E67=NETWORKDAYS(C57,D57,{41760;41792;41890;41913;41914;41915})

其中41760;41792;41890;41913;41914;41915分别表示 2014/5/1;2014/6/2;2014/9/8;2014/10/1;2014/10/2;2014/10/3

评分

参与人数 1 +20 金币 +18 收起 理由
huangcaiguang + 20 + 18 赞一个!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-16 12:30 , Processed in 0.361834 second(s), 24 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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