一、因为我不知道你的数据是什么样的数据,我尽量假设数数量比较庞大,如下为数据样例:
A列为姓名,B列为上班日期
排序——对以上两列数据进行排序(第一关键字为“姓名”,第二关键字为“上班日期”)
以下就是排序后的部分截图:
二、设置统计辅助列C列和D列
C列的列名为“姓名+月份” D列的列名为“月内连续上班天数”
三、以下设置C列的D列的公式
在C2单元格中输入以下公式:
=A2 & " "&YEAR(B2)&"年" & MONTH(B2) & "月份"
下拉C2,以复制公式到达数据底部,得到结果如下:
D2单元格的值毋庸置疑是1,直接输入1即可,
公式从D3开始,D3单元格内输入以下公式:
=IF(AND(C3=C2,B3-B2=1),D2+1,1)
理解本公式的意义对你至关重要,公式的意思就是:如果姓名、年份和月份都一样,并且这一行的日期比上一行的日期恰好大1天,那么就在上一行的连续上班天数之上再加1,否则就初始化连续上班天数为1
【注】你的上班记录中,必须保证每人每天的上班记录只出现一次,否则以上公式就会失灵。如果同一人同一天上班记录有重复,得必须删除这些重复记录后再进行统计
输入好D3的公式后,对D3进行下拉,复制公式到达数据底部,获得结果如下截图:
四、分类统计
选中A、B、C、D列--->按下菜单"数据"里的“分类汇总”工具按钮,弹出对话框后,作如下设置:
即分类字段里选中“姓名+月份”列
汇总方式里选中“最大值”
选定汇总项里勾选“月内连续上班天数”列
其它项都默认,然后确定,得到分类汇总结果如下:
点击工作表左上角的数字“2”按钮:
可以隐藏记录明细,只显示统计结果,如下:
此时,用鼠标将统计结果中有意义的结果数据框选选中,如下:
再按下“CTRL+G”组合键,弹出对话框:
点击“定位条件”后,又弹出另一个对话框:
选中“可见单元格”作为定位条件--->确定,返回到工作表
此时按下“CTRL+C”组合键进行复制
在另一工作表,比如Sheet2中,进行“CTRL+V”粘贴,得结果如下:
在A和B之间插入两个空白列,得到如下:
选中A列中除标题行外的包有数据,对其进行数据分列,“分列”工具按钮在“数据”菜单中
分列对话框的设置如下:
第一步聚为选“分隔符号”
第二步骤:勾引“空格”和“连续分隔符视为单个处理”
得到如下分列结果:
删除C列,再更改A、B列标题,便得到了所有年份,所有月份,所有人在当月的最大连续上班天数(因为我的样本数据中只有一个张三,也只随机录了些2017年的数据,所以结果显示的数据有限):
回答比较繁杂,希望对你有所帮忙