Excel精英培训网

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

[习题] [201401函初班]第六讲作业D组上交贴【已开贴】

[复制链接]
发表于 2014-4-15 14:48 | 显示全部楼层 |阅读模式
本帖最后由 tianyiyi 于 2014-4-24 09:52 编辑

D组童鞋交作业了
1.作业请注明学号+ID 如:【2014函数初级班】
-D006-云子。
2.作业请直接贴答案,压缩包上传一律不改批改,请见谅。
3.
作业上交截止时间:2014年4月18日 晚7点
第五题请大家把数据区域截图上传
这次做作业的时间有点短,大家抓紧时间,胜利就在前方。
第六讲作业贴:http://www.excelpx.com/thread-322954-1-1.html

评分

参与人数 2 +9 收起 理由
若烟 + 3 赞一个!
蓝粆 + 6 yiyi辛苦了哇~!

查看全部评分

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-4-15 14:50 | 显示全部楼层
本帖最后由 蓝粆 于 2014-4-18 16:27 编辑

交作业~有肉吃~!
1、
  1. =TRUNC((DAYS360(DATE(MID(D7,7,2+(LEN(D7)=18)*2),MID(D7,9+(LEN(D7)=18)*2,2),MID(D7,11+(LEN(D7)=18)*2,2)),DATE(YEAR(NOW()),MONTH(NOW()),DAY(NOW())),FALSE))/360,0)
复制代码
  1. =TRUNC((DAYS360(TEXT(MID(D8,7,6+(LEN(D8)=18)*2),"#-00-00"),TODAY(),0))/360)
复制代码
  1. =DATEDIF(TEXT("19"&MID(D7,7+(LEN(D7)=18)*2,6),"#-00-00"),NOW(),"Y")
复制代码
  1. =DATEDIF(TEXT(MID(D7,7,6+(LEN(D7)=18)*2),"00-00-00"),TODAY(),"Y")
复制代码
  1. =DATEDIF(TEXT(MID(D7,7,11)-500,"00-00-00,"),TODAY(),"y")
复制代码
  1. =TRUNC((1140418-MID(D7,7+(LEN(D7)=18)*2,6))%%)
复制代码
  1. =INT((1140418-MID(D7,7,6+(LEN(D7)=18)*2))%%)
复制代码
  1. =-LEFT(MID(D7,7+(LEN(D7)=18)*2,6)-1140418,3)
复制代码
阐述:利用MID+LEN判断该从身份证中哪里取出日期,然后用DAYS360算出出生日期到今天多少天,再除以360,得出年份,再利用TRUNC取整。
2、
  1. =DATE(YEAR(D19),MONTH(D19)+E19,DAY(D19))
复制代码
  1. =EOMONTH(D19,E19-1)+DAY(D19)
复制代码
  1. =EDATE(D19,E19)
复制代码
阐述:利用EDATE函数特性直接求出几个月之后的日期,得出保质期过期日
3、
  1. =DATE(YEAR(C28),MONTH(C28)+1,0)
复制代码
  1. =EOMONTH(C28,0)
复制代码
  1. =EDATE(C28,1)-1
复制代码
阐述:利用EOMONTH函数第二参数为0特性求出该月最后一天
4、
  1. ="第"&LOOKUP(MONTH(C45),{1,4,7,10;"一","二","三","四"})&"季度"
复制代码
  1. ="第"&TRIM(MID("  一  二  三  四",MONTH(C45),3))&"季度"
复制代码
  1. =TEXT(ROUNDUP(MONTH(C45)/3,0),"第0[DBNUM1]季度")
复制代码
  1. =TEXT(CEILING(MONTH(C45)/3,1),"第0[DBNUM1]季度")
复制代码
  1. =TEXT(INT((MONTH(C45)+2)/3),"第[DBNUM1]0季度")
复制代码
  1. ="第"&NUMBERSTRING(LEN(2^MONTH(B2)),3)&"季度"
复制代码
  1. =TEXT(MONTH(MONTH(C45)&0),"第[dbnum1]0季度")
复制代码
  1. =TEXT(LEN(2^MONTH(C45)),"第0[DBNUM1]季度")
复制代码
  1. =TEXT(MONTH(C45)/3+0.7,"第[dbnum1]D季度")
复制代码
  1. =TEXT(MONTH(C45)*10,"第[DBNUM1]M季度")
复制代码
  1. =TEXT(MONTH(C45)&0,"第[DBNUM1]M季度")
复制代码
  1. =TEXT((MONTH(C45)+5)/3,"第aaa季度")
复制代码
阐述:利用CEILING函数向上取整得出月份所在季度,然后利用TEXT函数转换大写
5、
  1. =NETWORKDAYS(C57,D57,{41760;41792;41890;41913;41914;41915})
复制代码

点评

2000年后=MOD(INT((140418-MID(D7,LEN(D7)/2,6))%%),100)  发表于 2014-4-20 20:30
10JY奖励  发表于 2014-4-18 22:06

评分

参与人数 3 +48 金币 +40 收起 理由
huangcaiguang + 8 1为什么没有LEN(D7)/2
我帮你 + 20 + 20 赞一个!看得眼睛花。。。
tianyiyi + 20 + 20 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2014-4-15 16:50 | 显示全部楼层
【2014函数初级班】-D002-就是我
  1. 第一题 =DATEDIF(TEXT(MID(D7,7,6+(LEN(D7)=18)*2),"00-00-00"),TODAY(),"y")
  2. 第二题 =EDATE(D19,E19)
  3. 第三题 方法1 =DATE(YEAR(C28),MONTH(C28)+1,0)
  4. 第三题 方法2 =EOMONTH(C28,0)
  5. 第四题 方法1 ="第"&ROUNDUP(MONTH(C45)/3,0)&"季度"
  6. 第四题 方法2 =LOOKUP(MONTH(C45),{1,4,7,10},{"第1季度","第2季度","第3季度","第4季度"})
  7. 第五题 =NETWORKDAYS(C57,D57)
复制代码
第一题阐述公式原理:先用mid函数取出身份证的出生日期(身份证18位时为8位,16位时为6位),再用text函数将出生日期转换为日期格式,最后用datedif函数计算出出生日期与今天日期的差即为此人的年龄。
第二题阐述公式原理: 用edate函数计算出生产日期的若干月后(保质期的月份)的日期,即为过期日期。
第三题阐述其中一种公式原理:第一种方法的原理是用date函数,年份是给定日期的年份,月份是给定日期的月份加1,天数是0,也就是给定日期的下一个月的第一天再减去1,即为给定日期当月的最后一天。
第四题阐述其中一种公式原理:第一种方法的原理是先用month函数计算出日期所在的月份数,再除以3求余数,再向上取整,即可求得日期所在的季度数,最后用连字符连接“第”和“季度”完成。

评分

参与人数 1 +10 金币 +16 收起 理由
tianyiyi + 10 + 16 第五题需除节假日

查看全部评分

回复

使用道具 举报

发表于 2014-4-15 17:01 | 显示全部楼层
本帖最后由 皮皮2 于 2014-4-15 17:02 编辑

【2014函数初级班】-D004-皮皮2
  1. 1.=YEAR(TODAY())-YEAR(--TEXT(MID(D7,7,LEN(D7)/2.2),"0-00-00"))
  2. 2.=EDATE(D19,E19)-1
  3. 3.1 =DATE(YEAR(C28),MONTH(C28)+1,1)-1
  4. 3.2 =DATE(YEAR(C28),MONTH(C28)+1,)
  5. 4.1 =ROUNDUP(MONTH(C45)/3,0)
  6. 4.2 ==INT((MONTH(C46)+2)/3)
  7. 4.3  =LOOKUP(MONTH(C45),{1,4,7,10},{"1","2","3","4"})&"季度"  三键结束(加上季度的时候)
  8. 5 =NETWORKDAYS(C57,D57)
复制代码

点评

第五题需除去节假日  发表于 2014-4-18 22:11
第一题公式有误  发表于 2014-4-18 22:09

评分

参与人数 1 +10 金币 +12 收起 理由
tianyiyi + 10 + 12 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2014-4-16 00:05 | 显示全部楼层
【2014函数初级班】-D007-13641096715提交作业
1.计算出每个人到今天的周岁年龄
=DATEDIF(TEXT((LEN(D7)=15)*19&MID(D7,7,(LEN(D7)=18)*2+6),"#-00-00"),TODAY(),"Y")
阐述公式原理:如果身份证号码是15位,则用19+身份证号从第7位向后取6位,如果是18位身份证从第7位向后取8位,得到出生日期与今天日期相减,得出年龄。
1.计算出每个食品的过期日期
=DATE(YEAR(D19),MONTH(D19)+E19,DAY(D19))
阐述公式原理:利用DATE函数在第二参数月中加上保质期月数,得到过期日
1.计算出每月月末日期
=DATE(YEAR(C28),MONTH(C28)+1,0)
=EOMONTH(C28,0)
阐述其中一种公式原理:使用DATE函数利用原日期中年、月与1的和,0分别作为新日期的年、月、日生成日期,由于日显0,根据日参数特性,将得到月末最后一天日期。EOMONTH函数第二参数输0,得到本月最后天日期。
1.计算出日期所在的季度
=INT((MONTH(C45)+2)/3)
=ROUNDUP(MONTH(C45)/3,0)
阐述其中一种公式原理:每季度有3个月,在日期当月+2后除3用INT函数取整得出日期所在季度,ROUNDUP函数也是取整求所在季度。
1.计算出起始日到终止日中的工作日天数(周末休息)
=NETWORKDAYS(C57,D57,)
忽略第3参数得到131天,与将周末休息日作辅助列作为第3参数,计算结果相同,但此公式不能将节日休息日剃除,题目未要求去除节日,这个公式得出的不是真正的工作天数,是不是不正确,请指教,谢谢。

评分

参与人数 1 +10 金币 +16 收起 理由
tianyiyi + 10 + 16 第五题需除去节假日

查看全部评分

回复

使用道具 举报

发表于 2014-4-16 09:57 | 显示全部楼层
本帖最后由 珺珺妈 于 2014-4-16 13:11 编辑
  1. =DATEDIF(TEXT(MID(IF(LEN(D7)=15,REPLACE(D7,7,,"19"),D7),7,8),"0-00-00"),NOW(),"y")
  2. =EDATE(D19,E19)
  3. =EOMONTH(C28,0)
  4. =EDATE(C28,1)-1
  5. =TEXT(MONTH(C45)&0,"M")
  6. =LOOKUP(MONTH(C46),{1,1;4,2;7,3;10,4})
  7. =NETWORKDAYS.INTL(C57,D57,1,{"2014-5-1","2014-5-2","2014-5-3","2014-6-2","2014-9-8","2014-10-1","2014-10-2","2014-10-3"})
复制代码
第一题:15位身份证号码里插入19,再用mid函数统一取出中间8位,用text函数转成日期格式,用datedif函数求出和今天的时间差,用Y取周年。

第二题:EDATE函数返回在开始日期之后指示的月数的日期。

第三题:EOMONTH(start_date,months),月份取0就返回开始日期当月的最后一天。用EDARE算出下月日期,然后-1就是上月月末日期。
第四题:用Month函数取出月份,然后用lookup模糊查找原理在常量数组中查找出季度。
第五题:用NETWORKDAYS.INTL函数,第一参数为起始时间,第二参数为终止时间,第三参数选择周末休息代码1,第四参数为法定节假日区域,或者输入法定节假日常量日期,输入常量日期时要有半角引号。

评分

参与人数 1 +10 金币 +16 收起 理由
tianyiyi + 10 + 16 第五题正确答案125

查看全部评分

回复

使用道具 举报

发表于 2014-4-16 11:32 | 显示全部楼层
【2014函数初级班】-D23-sun2638
  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,0)
  4. =EOMONTH(C28,0)
  5. ="第"&ROUNDUP(MONTH(C45)/3,0)&"季度"
  6. =LOOKUP(MONTH(C45),{1,4,7,10},{"第1季度","第2季度","第3季度","第4季度"})
  7. =NETWORKDAYS.INTL(C57,D57,11,{"2014-5-1","2014-5-2","2014-5-3","2014-6-2","2014-9-8","2014-10-1","2014-10-2","2014-10-3"})
复制代码
第一题:先用mid函数取出身份证的出生日期(身份证18位时为8位,15位时为6位),再用text函数将日期转换为日期格式,最后用datedif函数计算出出生日期与今天日期的差,用“Y”取周岁。
第二题:用edate函数计算出生产日期的若干月后(保质期的月份)的日期,即为过期日期。
第三题:第一种方法的原理是用date函数,年份是给定日期的年份,月份是给定日期的月份加1,天数是0,也就是给定日期的下一个月的第一天再减去1,即为给定日期当月的最后一天。
第四题:第一种方法是先用month函数取月份数,再除以3求余数,再向上取整,即可求季度数,用连字符连接“第”和“季度”完成。

评分

参与人数 1 +10 金币 +16 收起 理由
tianyiyi + 10 + 16 第五题公式有误

查看全部评分

回复

使用道具 举报

发表于 2014-4-16 13:18 | 显示全部楼层
本帖最后由 若烟 于 2014-4-16 13:57 编辑

第一题,=DATEDIF(TEXT(MID(D7,7,6+(LEN(D7)=18)*2),"00-00-00"),TODAY(),"y"),原理,提取出生信息,15位长度的身份证是从第七位开始取6位字符,18位长茺的身份证是第7位开始的8位字符。用千分位符转换为文本格式的日期数据,利用DATEDIF,计算出身份证与当前日期相差的数据,计算出年龄。
第二题,=EDATE(D19,E19),利用EDATE,返回月份前后的日期。
第三题,=EOMONTH(C28,0)利用EOMONTH,算于当前月份的最后一天。
=DATE(YEAR(C28),MONTH(C28)+1,)先把当前的年提出来,再把当前的月加上1就是提取当前月份的最后一天。
第四题,="第"&LEN(2^MONTH(C45))&"季度"
=LOOKUP(MONTH(C45),{1;4;7;10},{"第1季度";"第2季度";"第3季度";"第4季度"})
创建当年各季度起始日期数组,使用LOOKUP函数,模糊匹配数组。
第五题:
=NETWORKDAYS(C57,D57,C61:C66)
利用NETWORKDAYS函数计算出C57与D57之间除却双休日的天数。然后添加辅助列,去除法定节假日的天数。
第5题.jpg

评分

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

查看全部评分

回复

使用道具 举报

发表于 2014-4-16 20:14 | 显示全部楼层
1.
  1. =DATEDIF(TEXT(MID(D7,7,(LEN(D7)=18)*2+6),"#-00-00"),TODAY(),"y")
复制代码
阐述公式原理:
    确定出生日期,如果是18位的话等于TRUE,1*2=2,就取8位,否则是FALSE,0*2=0,就取6位,再用TEXT格式日期,最后用datedif函数计算周岁年龄
2.
  1. =EDATE(TEXT(SUBSTITUTE(D19,"/","-"),"e-m-d"),E19)
复制代码
阐述公式原理:
    用SUBSTITUTE把“/”替换为“-”统一日期格式,text格式日期年月日,edate函数计算几个月后的日期
3.
  1. =DATE(YEAR(C29),MONTH(C29)+1,)
复制代码
阐述其中一种公式原理:
     利用date函数求月末日期,月加1表示下个月,日为0天表示这个月还没开始,所以就是上个月的最后一天
  1. =EOMONTH(C28,0)
复制代码
4.
  1. ="第"&ROUNDUP(MONTH(C45)/3,)&"季度"
复制代码
阐述其中一种公式原理:
   一年12个月每个季度3个月所以除以3,如果整除说明在这个季度,不整除向上进一位取整就是所在的季度
  1. ="第"&LEN(2^MONTH(C45))&"季度"
复制代码
5.
  1. =NETWORKDAYS(C57,D57)
复制代码

点评

第五题需除去节假日  发表于 2014-4-18 22:21
第二题SUBSTITUTE用的有点多余  发表于 2014-4-18 22:20

评分

参与人数 1 +10 金币 +16 收起 理由
tianyiyi + 10 + 16 很给力!

查看全部评分

回复

使用道具 举报

发表于 2014-4-17 00:53 | 显示全部楼层
本帖最后由 云子 于 2014-4-17 00:58 编辑

1.从身份证号第7位开始取,取出11位(对于15位身份证号,取9位),通过text函数转变为出生日期,再通过datedif计算年龄
  1. =DATEDIF(TEXT(MID(D7,7,6+(LEN(D7)=18)*2),"00-00-00"),TODAY(),"y")
复制代码
  1. =DATEDIF(TEXT(MID(D7,7,11)-500,"00-00-00,"),TODAY(),"y")
复制代码
2.在某日期上增减月份,日数不变,用edate函数
  1. =EDATE(D19,E19)
复制代码
  1. =DATE(YEAR(D19),MONTH(D19)+E19,DAY(D19))
复制代码
3.公式一:函数eomonth
公式二:下个月的第一天减1
  1. =EOMONTH(C28,0)
复制代码
  1. =DATE(YEAR(C28),MONTH(C28)+1,)
复制代码
4.公式一:利用2的幂的位数
公式二:用text函数将提取的月份*10,转化为"m"格式
公式三:常规
  1. =LEN(2^MONTH(C45))
  2. =TEXT(MONTH(C45)*10,"m")
  3. =ROUNDUP(MONTH(C45)/3.1,)
复制代码
5.
  1. =NETWORKDAYS(C57,D57,C59:C64)
复制代码
其中 C59:C64={41760;41792;41890;41913;41914;41915}

评分

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

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 15:34 , Processed in 0.322565 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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