比如一个月28天:这几天{28,3,6,9,12,15,18,21,24,25},一个月29天:这几天{28,2,5,8,11,14,17,20,23,25}一个月30天:这几天{28,1,4,7,10,13,16,19,22,25},一个月31天:这几天{28,31,3,6,9,12,15,18,21,24,25}提醒一下,因为我们每个月从上个月的26日结到这月的25日,每个月的日数又不同每月从26日开始每三日交一次到25号剩下一二天也要交掉的,我用这条:IF(DAY(EOMONTH(TODAY(),-1))=28,IF(OR(DAY(TODAY())={28,3,6,9,12,15,18,21,24,25}),""&TEXT(TODAY()-2,"m月d日")&"至"&TEXT(TODAY(),"m月d日")&"的单要交了",ROUNDUP(DAY(TODAY())/3,0)*3&"号记得要交单啊"),IF(DAY(EOMONTH(TODAY(),-1))=29,IF(OR(DAY(TODAY())={28,2,5,8,11,14,17,20,23,25}),""&TEXT(TODAY()-2,"m月d日")&"至"&TEXT(TODAY(),"m月d日")&"的单要交了",ROUNDUP(DAY(TODAY())/3,0)*3-1&"号记得要交单啊"),IF(DAY(EOMONTH(TODAY(),-1))=30,IF(OR(DAY(TODAY())={28,1,4,7,10,13,16,19,22,25}),""&TEXT(TODAY()-2,"m月d日")&"至"&TEXT(TODAY(),"m月d日")&"的单要交了",ROUNDUP(DAY(TODAY())/3,0)*3+1&"号记得要交单啊"),IF(DAY(EOMONTH(TODAY(),-1))=31,IF(OR(DAY(TODAY())={28,31,3,6,9,12,15,18,21,24,25}),""&TEXT(TODAY()-2,"m月d日")&"至"&TEXT(TODAY(),"m月d日")&"的单要交了",ROUNDUP(DAY(TODAY())/3,0)*3&"号记得要交单啊")))))
不知道用这条公式行不行,有什么不对请指教!!!
请问你这条月31.30.29.28都通用吗
追答是的,所有日期都通用。
怎么会这么绕啊!晕!就是提醒28-31天的月份几号交单吧!你也搞得太复杂了啊
如果是26日起算每逢3天提醒并要求每月25日改必须提醒,你的核算思路需要更换,公式为:
=IF(OR(DAY(TODAY())=25,MOD(TODAY()-EOMONTH(TODAY(),(DAY(TODAY())>25)-2)-25,3)=0),"★今天"&TEXT(TODAY(),"m月d日的单要交了"),"☆记得"&TEXT(3+TODAY()-MOD(TODAY()-EOMONTH(TODAY(),(DAY(TODAY())>25)-2)-25,3),"M月D日要交单"))
应该可以实现你的要求了…………
追问那你就帮我简化下吗
追答真的需要化时间!!!
估计你的逻辑也不是很完善,只能根据你的公式直白地修改,可以把公式改为:
=IF(OR(OR(DAY(TODAY())={25,28,31}),(DAY(TODAY())<25)*(MOD(DAY(TODAY()),3)=MOD(DAY(EOMONTH(TODAY(),-1))-1,3))),TEXT(TODAY()-2,"M月D日")&"至"&TEXT(TODAY(),"M月D日")&"的单要交了",ROUNDUP(DAY(TODAY())/3,0)*3+((DAY(EOMONTH(TODAY(),-1))=30)-(DAY(EOMONTH(TODAY(),-1)=29)))&"日记得要交单啊")
若是调整你的思路,换一种核算方式,公式可以改为:
=IF(OR(DAY(TODAY())=25,MOD(TODAY()-EOMONTH(TODAY(),(DAY(TODAY())>25)-2)-25,3)=0),"★今天"&TEXT(TODAY(),"m月d日的单要交了"),"☆记得"&TEXT(3+TODAY()-MOD(TODAY()-EOMONTH(TODAY(),(DAY(TODAY())>25)-2)-25,3),"M月D日要交单"))
请问这两条大小月都通用吗
追答你可以用一个新工作表,在A1单元格输入2020-1-1,复制并下拉到A400,再把公式输入到B1,然后把公式里的TODAY()全部改成A1,复制并下拉400行,即可检验每一天的提醒显示了,若是4000行就是检验11年多的数据了………………