足球资讯

你的位置:足球资讯 > 足球资讯介绍 >

「干活儿有搭档,产量平均分」,这个Excel工资计件案例请收好

发布日期:2025-08-12 18:22:00|点击次数:145

问题求助SOS:如何对有组合的员工,进行件数的计件统计,想要得到每位员工最终的总件数?

小编想说,这道问题在很多中小型的生产型企业中经常会遇到,在干活的时候往往1~3个人组合起来,细分工序,进行生产,最终的产量需要平均分后再进行个人的总件数汇总。最终目的就会为了提高生产效率,获得更多收入。

而基础数据也会以姓名组合的方式录入erp,那么后期数据导出统计时就需要一定的excel技巧了。

如下图所示:

A列为系统导出的组合员工姓名,不同姓名之间用间隔符“/”进行了间隔区分,B列是各组合员工生产的总件数。这样的数据源可能包含几千行。

我们想要做的就是:

在右侧通过公式的方式,将单个员工生产的总件数进行汇总。计件制度是:组合员工产量需要平均分。

比如员工“张三”在组合1:“张三/李四/赵五”中出现过,故他的件数1为:99/3=33,同时也在组合2:“张三/赵五”中出现过,故他的件数2为:100/2=50,所以总件数应该是:33+50=83,也就是E4单元格的统计结果。

小编想说,[干活儿有搭档,产量平均分],这个Excel工资计件案例其实很简单,貌似我们在以前解决某些问题时有它的影子。我们不必追求过高、过难理解的函数组合,用辅助列+函数的方式轻松解决。

第一步:姓名拆分

运用最基础的TEXTSPLIT拆分函数:

=TEXTSPLIT(A2,"/")

用第2参数列分隔符“/”,将A2单元格中的组合姓名,拆分到不同的列当中(一行多列)。

第二步:产量平均

输入公式:

=B2/COUNTA(D2#)

很简单,COUNTA(D2#) 统计每行非空单元格的个数,即每行的实际组合员工人数,用当前行B2单元格的总件数除以人数,实际就是单个员工的平均后的件数。

第三步:数据一维列表化

使用经典的,也是公众号以前讲过很多次的公式:

=IF(D2:F5<>"",G2:G5,0/0)

用IF函数做了一个逻辑判断,逻辑是这样的:

如果D2:F5区域内单元格姓名不为空值时,我们返回G2:G5区域对应的产量值,否则返回错误值(0/0,除法中除数不能为0)。

这样我们就出现了一个3行3列的数组溢出返回区域。也就是用对应的产量值,将对应的姓名数据代替了。

接着嵌套TOCOL函数:

=TOCOL(IF(D2:F5<>"",G2:G5,0/0),3)

将上一步返回的3行3列的数组溢出区域,按照行优先的顺序,忽略空值与错误值后转置为一列显示。

继续使用TOCOL函数:

=TOCOL(D2:F5,3)

将D2:F5区域的姓名,按照行优先的顺序,忽略空值与错误值后转置为一列显示。

此时一维表构建完成:

一列为产量值,一列为对应的姓名,每行数据一一对应。

第四步:透视汇总

使用经典的透视汇总GROUPBY函数:

=GROUPBY(J2#,I2#,SUM,,0)

J2:J9姓名(J2#):为数据透视表的行字段

I2:I9产量值(I2#):为数据透视表的值字段

SUM:表示对值字段汇总求和

第5参数0:表示不显示“总计”行

为了减少辅助列区域,使步骤更加简化清晰:

我们可以将I列与J列的公式,分别带入GROUPBY函数的第2参数与第1参数中:

=GROUPBY(TOCOL(D2:F5,3),TOCOL(IF(D2:F5<>"",G2:G5,0/0),3),SUM,,0)

这样辅助区域I列与J列就可以删除了。如果大家公式运用不熟练,也可以保留,大家自行选择。

Powered by 足球资讯 RSS地图 HTML地图

Copyright Powered by365建站 © 2013-2024