EXCEL设置会员生日提醒
我的函数应用不太好,请帮忙直接写出函数,非常感谢! 展开
.1 解析DATEDIF函数
DATEDIF函数是用来计算两个日期之间的间隔时间的。语法是:
DATEDIF(START_DATE,END_DATE,UNIT)我们可以翻译成DATEDIF(开始日期,结束日期,返回参数),第三个参数可以设置为Y、M、D、YM、YD、MD六种形式,分别对应年、月、天数、除了周年之外剩余的足月、除了周年以外剩余的天数、除了足月之外剩余的天数。
2 假设开始日期为2013年5月15号,结束日期为2014年8月5号,如下图,我们可以解释各个参数的不同含义。很清晰的对每个参数的用法进行详尽的解析。
3 .选择参数 根据这个函数的特性,我们来设置员工生日提醒了。 所谓生日,必须包含月和日,而包含月和日的第三参数只有”YD“了,因此我们就用它了,
4 .设置生日提醒
如下图,我们在对应的单元格中输入=TEXT(10-DATEDIF(B13-10,TODAY(),"YD"),"还有0天生日;;今天生日"),就可以得到我们想要的结果,这里只有10日以内的生日才会提醒,其他则显示空白。
在这个函数中理解起来还是有一点困难的,它的逻辑就是用10减去我们相隔相遇10的日数,如果大于0则显示”还有N天生日“,小于0则不显示,等于0显示”今天生日“。这里面有个逻辑上的绕,需要我们多去思考思考!
点击生日的那一列的列标,比如你放在F列,就点那个列标"F",再点菜单栏的"格式",点“条件格式”,在条件框那里选择"公式" 右边的框中输入这个公式:
=and(text(f1,"mmdd")-text(today(),"mmdd")>0,text(f1,"mmdd")-text(today(),"mmdd")<7)
公式里面的f1要根据你生日所在列的实际情况,生日在D列,就改为D1
点"格式"→点"图案"→选红色→"确定"→"确定"
这样你就可以在每次打开文件时看到未来7天内过生日的人都是红色背景显示的.
如果你一定要用函数也可以:
在生日旁边的列比如G2中输入
=if(and(text(f2,"mmdd")-text(today(),"mmdd")>0,text(f2,"mmdd")-text(today(),"mmdd")<7),"本周生日",)
公式里面的f2要根据你生日所在列的实际情况,生日在D列,就改为D2
往下拉
B2输入以下公式并填充到表尾:
=IF(AND(DATE(YEAR(TODAY()),MONTH(A2),DAY(A2))>=TODAY()-WEEKDAY(TODAY(),2)+1,DATE(YEAR(TODAY()),MONTH(A2),DAY(A2))<=TODAY()-WEEKDAY(TODAY(),2)+8),"本周"&WEEKDAY(DATE(YEAR(TODAY()),MONTH(A2),DAY(A2)),2)&"生日","")
如果是在本周3生日,就回出现"本周3生日",如果不是在本周生日则空白.
G2=IF(TODAY()-F2)<=7,"本周生日","")
公式下拉进行复制。