作业帮 > 综合 > 作业

EXCEL 如何统计一个员工的出勤天数

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/14 17:39:00
EXCEL 如何统计一个员工的出勤天数
一个工作表是一个员工的整月报表 1天干多种产品 但是只要每天都有产品的 算出勤1天(按日期走) 最后如何一下得出他共出勤几天
如:姓名 日期 产品
### 10-1 A
### 10-2 B
### 10-2 A
### 10-2 C
### 10-3 A
### 10-3 B
### 10-5 B
如果日期列在B列,日期区域为 B2:B40则在其他单元格输入 =SUMPRODUCT(1/COUNTIF(B2:B40,B2:B40))即可统计出该名员工的出勤天数.
再问: 能帮我解释下这个公式的意思吗
再答: = SUM(1/COUNTIF(区域,区域)) 个公式是计算区域中不重值的个数的经典公式。 准备 区域A1:A10的数据分别是:公式、计算、可以、公式、公式、复制、这个、重复、可以、不可以 B1写入公式: =SUM(1/COUNTIF(A1:A10,A1:A10)) 它是一个数组公式,同时按 hift+Ctrl+Enter 三键结束。 观察 1、在编辑栏,像下面一样选取函数Countif()部分,然后按F9: =SUM(1/COUNTIF(A1:A10,A1:A10)) 你看到的结果会是: =SUM(1/{3;1;2;3;3;1;1;1;2;1}) 如果这时你按下Esc键,公式会还原为原来的状态。 2、在结果的基础上继续选取,=SUM({1/{3;1;2;3;3;1;1;1;2;1})或者在原公式上选取=SUM(1/COUNTIF(A1:A10,A1:A10)),按F9,结果为: =SUM({0.333333333333333;1;0.5;0.333333333333333;0.333333333333333;1;1;1;0.5;1}) 3、选取全部公式按下F9或者直接按三键,你看到的都是同一结果:7。 分析 1、Countif(A1:A10,A1:A10)是数组计算,运算过程相当于: Countif(A1:A10,A1) Countif(A1:A10,A2) …… Countif(A1:A10,A10) 结果如上面所示,是一个数组,表示区域中等于本单元格数据的个数。 2、用1除以个数,是个非常妙的想法,要结合前后计算才能领会好它的作用。把上一步的结果整理一下,用分数代替小数: =SUM({1/3;1/3;1/3;1/2;1/2;1;1;1;1;1}) 区域中有三个重复的数“公式”,那么这一步就有三个1/3,有两个“可以”,那么这一步的结果就有两个1/2,如果有5个重复的数,那么这一步的结果就有5个1/5,如此类推。 3、这一步几乎不用说了。Sum()进行的是加法运算,3个1/3相加,结果为1,2个1/2相加,结果也是1。如果区域中有8个重复的数,那么一定会有8个1/8相加,结果也是1。 重复的数经过三步运算,到最后结果都是1。 把所有结果加起来,就是区域中不重复的个数。