excel怎么设置合同到期提醒功能(Excel基础知识-合同到期统计表引发的又一轮炫技)
这天小陆,小皮和小度在茶水间闲聊,就看着霉霉满脸疑惑的表情就来了,对着小陆说:你给我讲的函数,什么today()返回当天的日期,edate函数设定返回间隔几个月的日期,date设置日期函数,我都记住了,怎么遇到问题我还是不会写公式呢?
小陆笑了说:这很正常的,你能记住我给你讲的函数已经很不错了,我学习的时候,需要反复的练习,做笔记才记得住的,你这过了两天你既然还能记得已经很好了,而且记得跟上手用是两回事,走吧,先帮你搞定你的表格,再看看有什么好告诉你的,慢慢来吧!说着就朝霉霉工位走去。
说时迟那时快,打开电脑就看到这样的一张表:
数据表格示意图
然后小陆就是开始他的常规操作:
首先:ctrl g,【定位条件】按钮,选常量,然后点确定就会选择已有内容的单元格,然后我们通过开始菜单下的【套用表格样式】随便的选个样式,这样就把选取的内容变成“智能表格”,
注:Excel基础知识之一张退休统计表引发的搭讪
然后:E1单元格填写“合同提示”回车确认,会自动将表格样式扩充到这一列(智能表格优点),输入公式如下:
=iferror(if(year(c2) d2&month(c2)=year(today())&month(edate(today(),1),text(c2,"m月d")&"日到期",""),“日期异常”);回车后搞定。所有有“8月X日到期”内容的单元格就是要下个月续签合同的人。
霉霉:厉害厉害,我自己在这想了半天了,没有一点头绪,你是怎么想的啊?
小陆:我跟你说一下思路:续签合同的规则你知道吗?
霉霉:不知道!续签合同有什么规则啊?
小陆:续签合同是有两种方式,一种就是到期当日续签,还有一种为了节省人力资源的时间,签订到合同到期月末,这两种方式都是被法律认可,你也可以跟老板提一下按第二种方法做,这样能提高工作效率。
霉霉:频频点头,没有想到你懂这么多啊,我算是找对人啦!哪公式的思路呢?
小陆:因为我们求的是下个月的签合同的人,我们就可以比较月份就好,先获得合同到期的日期,方法:签合同日期的年份 合同期限再加上月份,而下个月的日期就是今天的日期的月份加1,要写这部分公式需要知道日期函数的三剑客:year(获取年份),month(获取月份),day(获取日期),使用语法结构图如下:
日期获取年份,月份,日期的函数语法结构图
获取合同到期日期的年份=year(c3) d3,月份=month(c3),
而今天的日期年份=year(today()),下个月的月份=month(edate(today(),1)),分别拼接一下,对比这两组数:用if函数做判断,如果相等,返回签订合同的日期(获取签合同的月份和日期拼接),不相等返回“”,公式如下
if(year(c3) d3&month(c3)=year(edate(today(),1))&month(edate(today(),1)),MONTH(C2)&"月"&DAY(C2)&"日到期","")
再加一个严谨性判断,用iferror函数,如果出现错误,就提示日期异常;
霉霉正要点头,小度插话道:公式写的不错,公式也算讲的清楚,不过最大的败笔就是没有优化,比如说,我要你汇总出三个月以内要的合同到期的人员该怎么写公式啊?如果用相减小于等3,却还需要排除负数的情况,就比较符在,我来帮你改改公式吧!
小度推开小陆,为了避开智能表格的自动扩展,需要隔一列选中一单元格,点【数据】菜单下的【数据验证】按钮,然后选择验证条件 :【允许】选择序列,填充数字序列,以逗号为分隔符,然后点确定就创建了G1下拉菜单,操作如下图:
创建下拉菜单单元格操作示意图
然后将公式改为:=iferror(if(mod(year(c2) d2&month(c2),year(today())&month(today) 1)<=g1,month(c2)&"月"&day(c2)&"日到期",""),"日期异常"),搞定。
小陆:你的想法不错,不过公式写的就有点问题啦!你明明选的是3月以内到期的,怎么没有统计出十月份的人呢?而且你的公式还有个隐形的问题啊。
小度红着脸说:等等,我看看啊。
小陆:等什么啊,看我的啦!说这就将公式写成:
=iferror(if(mod(year(c2) d2&text(month(c2),"00"),text(edate(today(),1),"yyyymm"))<=$g$1,text(c2,"m月d日")&"到期",""),"日期异常"),这里需要注意,在引用智能表格以外的单元格需要加绝对引用符号,否则会自动递增,这样就行了!数学好,经验少,还是嫩啊!
小度不服气的说:我的公式有什么问题,你到时是说说!
小陆:在计算日期的时候,别相当然的加减运算,需要考虑边界的问题,比如12月 1确还是等于1月,而年份有变动,使用日期函数就不用担心这种问题啦!还有你在取余的时候,只是因为8,9月没有进位,拼接的取余就没有问题,如果遇到10/11/12,就是相差10倍的关系,怎么可能求出相差为几的结果,我写的公式虽然现在看没有问题,等遇到现在日期为12月的时候,取余算出的结果就肯定是错的啦,你觉得呢?
小陆转过头对霉霉说:学东西的时候,要尽量多开发新的功能,不过在工作的时候,写出第一个公式行了。然后白了小陆一眼说:对于哪些功能虽好,但不太实用的就不用浪费时间了,锦上添花的事,有也更好,没有也不影响工作!
不知什么时候,小皮也加入观战的行列,不懈的说:有些锦上添花却很必要啊。然后用身体把小陆从座位挤走,开始了小皮式操作:先复制第一个公式的if条件year(c3) d3&month(c3)=year(edate(today(),1))&month(edate(today(),1)),然后【开始】菜单下的条件格式按钮,然后选择创建新规则,选使用公式设置单元格格式选项,然后在公式栏输入=,然后粘贴刚才的公式,然后点格式按钮设置想显示过的格式,然后点击格式刷,托选需要填充格式的单元格,搞定,这样就完美了!
设置条件格式步骤示意图
霉霉一脸茫然说:原来表格还有这么多能玩的花样,我都快看不过来啦,怎么办,三位师傅?
这次却一口同声的说:慢慢来吧,我们也不是一天就学成的啊!
霉霉:哪我先学什么呢?
小皮和小度异口同声说:哪你就跟小陆学噻!
霉霉彻底迷茫了!小陆悄悄的说:没事,有我呢!
好了今天的故事就到这,希望通过看故事也能对Excel做功能有个系统的了解,从什么步骤开始,怎么思考,也希望你留下的宝贵建议,我看到后第一时间回复,哪我们就下个故事见啦!最后放张效果图,有需要表格下方留下邮箱,统一发送!
合同到期统计效果图
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com