前几日作念过一个2024年月份自动考勤表2023年放假与上班判断.xlsx,其中的一个需求是:输入自便一个月份,考勤表能自动识别哪一天是休息日,并以蓝色配景符号出来,如下图:
图1 月份考勤表自动识别当月休息日,并自动符号出来
考勤表能自动识别休息日的必须前提是要知说念一年365天,每一天是休息如故上班,如图2
图2 一年365天上班如故放假符号
那么一年365天,若何快速判断每一天是休息如故上班?就要用If函数的多层嵌套(多种情况分支)来判断。
假定双休的情况下,周一至周五需要上班,周末两天是休息的,然而接头国度法定节日放假,那么就存在周一至周五也可能是休息的,同期因为法定节日放假调休,而导致有的周末也要上班,如下表2024年国度法定节日放假安排。
图3 2024年国度法定节日放假及调休安排
那么,接头法定节日放假调休安排,就不可浅薄地把柄每一天是星期几来判断休息如故上班。在判断之前,咱们需要将法定节日放沐日历及因为放假将底本是周末而调为上班的日历先符号出来。
符号法定节日放沐日历及因为放假将底本是周末而调为上班的日历,不错用index+match函数组合大略vlookup函数查询出来作念符号,很浅薄,表中我依然符号出来了,不会的不错下载附件看下。
If函数的多分支情况判断,判断条目开垦的话,势必能获取一个笃定的复返,不开垦的话,就要再嵌套if分情况来判断。是以这种多分支情况的判断,咱们一般需要先从迥殊情况入辖下手进行第一个判断。
为了素养便捷,咱们将2024年1月1日这条数据先复制到标题行上头,公式写到G1单位格。
那么本案例中,咱们先看D列:本来是周末,实质调为上班的日历来源。若是D列符号为“上班”,那么这一天服气是需要上班的,若是未作符号,那么就要看C列的符号情况,函数写为=IF(D1="上班","上班",)
图4 把柄D列进行第一层判断:本来是周末,实质调为上班
若是C列的符号为节日,则暗意放假休息,若是未作符号,那么就要看A列的符号情况。C列的符号为节日,因为节沐日字符数王人大于1,是以不错用LEN(C1)>1暗意C列是法定节日放沐日,是以G1公式写稿=IF(D1="上班","上班",IF(LEN(C1)>1,"休",)
图5 把柄C列进行第二层判断:符号为节日,则暗意放假休息
若是A列的符号为节日日历为周末,则是休息日,其余情况上班,其余唯唯一种情况,即日历为周一至周五,不需要再写IF(WEEKDAY(A1,2)<6,”上班”)。G1公式写稿 =IF(D1="上班","上班",IF(LEN(C1)>1,"休",IF(WEEKDAY(A1,2)>5,"休","上班")))。
图5 把柄A列进行第三层判断:符号为节日日历为周末,则是休息日,其余情况上班
注:计较某一天是周几,不错用weekday函数,weekday(日历,2)暗意一周从周一初始,计较的效果:周一=1,周二=2…周日=7。If(weekday(A1,2)>5,,),暗意若是计较效果是周六、周日,则…,不然…
至此,统统的情况王人依然判断竣事。
If函数多种情况分支判断公式并不难,但需要去厚实其中的判断逻辑。上头咱们讲的是从D列符号初始判断,那么从C列来源初始第一个判断,你会了吗
今天的共享即是这些了,但愿能匡助你加深对if函数嵌套的厚实。可爱的一又友九游体育app娱乐,请点赞、转发。