ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的测验 > 函数与公式 > 【练习题001】日期加减 ※已总结※

【练习题001】日期加减 ※已总结※

作者:绿色风 分类: 时间:2022-08-18 浏览:139
楼主
天南地北
规则:
     1.根据A列已知的日期和B列需要进行加减的年月计算最终的日期;
     2.月份不大于11,年份不大于99,可能是整年,也可能不满1年也就是n月;
     3.函数作答,03版本为标准,最终效果如D列。
    4.开贴时间:2013-7-26

评分:
    1.公式长度小于等于120评5魅力值;公式长度小于等于95另加3技能分; 【长度根据字符数统计】
    2.其他答案视情况适当给予魅力值。

任何问题请站内信联系
                ——天南地北
                ——@EXCEL数据处理与分析

谢谢各位关注,接下来的日子可能会有更多的练习题供大家练手!


 

PS:分析工具库函数也可以


总结见14楼【猛戳跳转】
增加一道更为复杂的练习的供练手,请下载查看,答案已附上

【练习题001】日期加减.rar
2楼
冰茗
=EDATE(A2,IF(LEFT(B2,1)="加","+","-")&IF(ISERROR(FIND("年",B2)),0,MID(B2,FIND("年",B2)-1,1))*12+IF(ISERROR(FIND("月",B2)),0,MID(B2,FIND("月",B2)-2,1)))
另外友情提示:楼主第四个些许哦了哦,
工作簿1.zip
3楼
冰茗
=EDATE(A2,IF(LEFT(B2,1)="加","+","-")&IF(ISERROR(FIND("年",B2)),0,MID(B2,FIND("年",B2)-1,1))*12+IF(ISERROR(FIND("月",B2)),0,MID(B2,FIND("月",B2)-2,1)))
4楼
冰茗
第四个写错了了哦,QQ截图20130719103612.gif
 
5楼
冰茗
第四个写错了了哦,QQ截图20130719103612.gif
 
6楼
keven
楼主 你的D4单元格应该是2011年9月17日才对
7楼
keven
暴力求解 求更加好的办法
8楼
keven
暴力求解 求更加好的办法
【练习题001】日期加减.zip
9楼
hopeson2010
  1. =EDATE(A2,SUM(-1^(B2>"减")*(0&TRIM(MIDB(B2,FINDB({"年","个"},B2&"0年0个")-2,2)))*{12,1}))
10楼
hezongzhong
  1. =EDATE(A2,-1^(B2>"减")*IF(ISERROR(MID(B2,FIND("年",B2)-1,1)),0,MID(B2,FIND("年",B2)-1,1))*12+-1^(B2>"减")*IF(ISERROR(MID(B2,FIND("个月",B2)-1,1)),0,MID(B2,FIND("个月",B2)-1,1)))
11楼
vadera
  1. =EDATE(A2,-1^(B2>"甲")*(MIDB(B2,4,2)*AND(LENB(B2)<>{8,9})*12+(0&TRIM(MIDB(B2,7^AND(LENB(B2)<>{8,9}),LENB(B2)/4)))))
  1. =EDATE(A2,-1^(B2>"甲")*SUM(TEXT({"00","0 "}&MID(SUBSTITUTE(SUBSTITUTE(B2,"年"," "),"个月","/12"),3,9),"[>];;;!0")*12))

  1. =EDATE(A2,-1^(B2>"减")*(MID(B2&0,FIND("年",B2&"00年")-2,2)*12+TEXT(MIDB(B2,LENB(B2)-5,2),"0;;;!0")))
  1. =EDATE(A2,-1^(B2>"减")*(MID(B2&0,FIND("年",B2&"00年")-2,2)*12+MIDB(B2&0,FINDB("个",B2&"0个")-2,2)))
12楼
wh_china2010
  1. =DATE(YEAR(A2)+IFERROR(MID(B2,FIND("年",B2)-1,1),0)*IFERROR(FIND("加",B2),-1),MONTH(A2)+IFERROR(MID(B2,FIND("月",B2)-2,1),0)*IFERROR(FIND("加",B2),-1),DAY(A2))

120+
13楼
笨笨四
03版=TEXT(A2+-1^(B2>"减")*SUM(MIDB(B2&"00",FINDB({"年","个"},B2&"0年个")-2,2)*{365.2,31}),"e-m-")&DAY(A2)

07版=EDATE(A2,-1^(B2>"减")*SUM(MIDB(B2&"00",FINDB({"年","个"},B2&"0年个")-2,2)*{12,1}))
14楼
天南地北
答题人数不多,题目不难,不对每个公式做一一点评,简单总结一下



具体公式和分析请查看附件【03版本使用EDATE请加载分析工具库】
PS:附件提供了一道拓展练习题,供大家练习,答案已经附上!
 

【练习题001】日期加减 - 总结.rar
15楼
笨笨四
=SUM(MATCH(TRIM(MID(SUBSTITUTE(SUBSTITUTE(A1,"加",REPT(" ",9)),"减",REPT(" ",9)),{1,9},{9,19})),TEXT(ROW(A1:A1000),"[DBNUM1][$-411]G/通用格式"),)*{1,-1}^ISERR(FIND("加",A1)))
关于附件中的附加题,还请版主大大指正。
16楼
天南地北
请参照14楼公式自行核对吧,公式在隐藏列,不做分析!
17楼
张雄友
功力果真深厚!
18楼
cnjade
学到一个新的函数edate,但是对于后面的公式就看不懂了。SUM(-1^(B9>"减")*MIDB(B9&0&0,FINDB({"年","个"},B9&"0年个")-2,2)*{12,1}) 有个^符号。

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap