转自EXCEL不加班

如何计算每个人的工资?

明细,记录每个人每天的工资。一个单元格有多个人员,当天的工资平均分。如卢子、路人7月20日306元,一人就153元。

汇总,已经列出了所有人员,现在只需要计算总工资。

对于这种问题,如果要一步搞定很难,这时可以尝试拆分成多步完成,这样会简单很多。

Step 01 计算每个单元格有多少人。

单元格1个人,0个顿号(、)。

单元格2个人,1个顿号(、)。

单元格3个人,2个顿号(、)。

也就是计算出顿号(、)的个数再+1,就是人数。

用FIND或者COUNTIF+通配符,只能判断单元格有没包含顿号(、),没办法直接计算出顿号(、)的个数。

这里,可以采用间接计算法。通过用函数将顿号(、)替换掉计算字符减少了多少个,从而得到顿号(、)的个数。

替换掉顿号(、):

=SUBSTITUTE(B1,"、","")

原来字符数:

=LEN(B1)

替换掉顿号(、)的字符数:

=LEN(SUBSTITUTE(B1,"、",""))

两者的差就是顿号(、)的个数:

=LEN(B1)-LEN(SUBSTITUTE(B1,"、",""))

人数就是顿号(、)的个数+1:

=LEN(B1)-LEN(SUBSTITUTE(B1,"、",""))+1

绕了一圈,终于计算出了人数。

Step 02 计算每个人的平均工资。

平均工资,就是总计除以人数。

=B32/B33

Step 03 计算每个人的总工资。

=SUMIF(明细!$1:$1,"*"&A2&"*",明细!$34:$34)

"*"&A2&"*"的意思就是包含单元格A2的内容。

多用辅助列,会使问题变得更简单,这样方便自己写公式,同时也方便其他人理解公式。

陪你学Excel,一生够不够?