Excel 如何计算某个人一个月最长连续工作天数

如题所述

一、因为我不知道你的数据是什么样的数据,我尽量假设数数量比较庞大,如下为数据样例:

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年的数据,所以结果显示的数据有限):

回答比较繁杂,希望对你有所帮忙

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-16
上传带行列号有数据示例的截图,理解了已知条件和结果是怎样的,才能给你答案。本回答被网友采纳
第2个回答  2017-11-16
要用频率函数
最好上图举例说明你的问题
才便于写函数
相似回答