excel 2003中,一张工资表,如何求同一个姓氏的工资和?用什么函数最简单?

如题所述

建立《工资表》,如下(模拟的Excel表):
行 A 列 B列 C列 D列 E列 F列 G列 ......
1 序号 姓名 工资 姓氏 工资总和
2 1 张三 100 张氏 【此处输入公式】
3 2 王五 200 王氏 【此处输入公式】
4 3 张二 100 刘氏 【此处输入公式】
5 4 王六 240
6 5 王三 320
7 6 刘二 180
8 7 张七 260
9 8 刘三 150
.... ..... ........ .......

求同一个姓氏的工资和:
张氏工资总和:在F列的F2单元格输入以下公式:
=SUMIF($B$100:$B$100,CONCATENATE(LEFT($E2,1),"*"),$C$100:$C$100)

用鼠标下托复制功能,将F2单元格中的函数公式复制到F列的其他单元格;就可分别得到“王氏、刘氏、.........”的工资总和。鼠标下托复制“王氏、刘氏......”所对应的工资总所在的单元格中的函数公式为:

王氏工资总和:在F列的F3单元格,显示的公式为:
=SUMIF($B$100:$B$100,CONCATENATE(LEFT($E3,1),"*"),$C$100:$C$100)

刘氏工资总和:在F列的F2单元格,显示的公式为:
=SUMIF($B$100:$B$100,CONCATENATE(LEFT($E4,1),"*"),$C$100:$C$100)

【补充说明】:
SUMIF函数的语法:
SUMIF(range, criteria, [sum_range])
1)range为:作为计算某单元格区域的值的条件单元格区域;通俗称“条件单元格区域”;
2)criteria为:用于确定对哪些单元格求和的条件;
3)[sum_range]为:要求和的实际单元格

那么,在上述给的函数公式(即:如下):
=SUMIF($B$100:$B$100,CONCATENATE(LEFT($E2,1),"*"),$C$100:$C$100)
其SUMIF函数语法解读如下:
1)range为:条件单元格区域,$B$100:$B$100
2)criteria为:用于确定对哪些单元格求和的条件,CONCATENATE(LEFT($E2,1),"*")
也就是,单元格E2中含有第一个字符+通配符(*),即:王*,代表王姓的人
3)[sum_range]为:要求和的实际单元格,$C$100:$C$100

如果《工资表》有1000行,那么,上述给的函数公式:
=SUMIF($B$100:$B$100,CONCATENATE(LEFT($E2,1),"*"),$C$100:$C$100)
中的“条件单元格区域”、“要求和的实际单元格”必须改变,变更后的函数公式为:
=SUMIF($B$1000:$B$1000,CONCATENATE(LEFT($E2,1),"*"),$C$1000:$C$1000)
如果《工资表》有1100行、1200行........行,依此类推修改公式。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-11
您好!
如果是同一姓名,用SUMIF函数最简单,假设A列为姓名,B列为工资,可以在C1输入公式
=sumif(A:A,"想求和的姓名",B:B)

如果只是同一姓氏,可以在C1输入公式
=sumproduct((left(A:A,1)="想求和的姓氏")*B:B)

希望帮到您!本回答被提问者采纳
第2个回答  2011-08-11
不用函数,使用排序,将姓氏相同的人员排到一起,用鼠标点选所有同姓氏人员的工资,状态栏就会自动显示合计数了
第3个回答  2011-08-11
姓名在A列 工资在B列 数据从第二行开始
C1输入姓氏
D1输入公式 =SUMPRODUCT((left(a2:a100,1)=c1)*b2:b100)
第4个回答  2011-08-11
先用筛选按钮选出姓氏相同的人,然后用SUM函数求工资和
相似回答