「最近刚入职一家制造企业。领导给我一张产线员工出勤表,要求我计算每位员工当月最大连续出勤天数,以方便下月排班。可是几千名员工的出勤和休息日期没有规律,如何计算呢?」 如下图所示,A2:H8为员工出勤表,“1”代表出勤,“0”代表“未出勤”。现在要求计算每个员工最大连续出勤天数。 以计算员工“皮卡球”最大连续出勤天数为例 1、计算出勤对应的列号 在B10单元格输入公式=IF(B2=1,COLUMN(B2),""),拖动填充柄向右复制公式。 2、计算未出勤对应的列号 在B11单元格输入公式=IF(B2=0,COLUMN(B2),""),拖动填充柄向右复制公式。 3、计算最大连续出勤天数 观察“出勤对应的列号”和“未出勤对应的列号”两行数值,员工“皮卡球”连续出勤天数分别是1、2、2。 1:“出勤对应的列号”中所有值(2、4、5、7、8)小于“未出勤对应的列号”中3的个数。 2:“出勤对应的列号”中所有值(2、4、5、7、8)大于“未出勤对应的列号”中3且小于“未出勤对应的列号”中6的个数。 2:“出勤对应的列号”中所有值(2、4、5、7、8)大于“未出勤对应的列号”中6的个数。 其实质是以“未出勤对应的列号”中的数值作为分段点,计算“出勤对应的列号”中的数值在各范围的个数。可以用Frequency函数计算。选中C14:C16单元格区域,输入公式 =FREQUENCY(B10:H10,B11:H11),按Ctrl+Shift+Enter结束公式输入。 4、计算最大连续出勤天数 最大连续出勤天数就是C14:C16单元区域最大值。 在C17单元格输入公式 =MAX(C14:C16) 5、整合步骤1-4公式,并写为数组公式。 在单元格I2输入公式 =MAX(FREQUENCY(IF(B2:H2=1,COLUMN(B2:H2),""),IF(B2:H2=0,COLUMN(B2:H2),""))) 按Ctrl+Shift+Enter结束公式输入。