想在excel里把同名人员的金额、销量、分数这类数据加总?最省心的办法就是先把不重复的姓名单独提出来,再用 sumif 函数按姓名匹配求和就行。这次演示用的是microsoft 365版本的excel,示例里b列放员工姓名,c列是销量,最后在e、f两列就能算出每个人的总销量。
第一步:选定姓名和数值列
先核对下你的原始数据,至少得有两列:一列存姓名,一列放要相加的数值。咱们示例里的姓名区域是 B2:B8,销量区域是 C2:C8,表格右边空出E列和F列当汇总区。姓名列有重复没关系,但数值列必须是标准数字格式;要是看到单元格左上角飘着绿色小三角,那就是文本型数字,得先转成正常数字再往下做。

第二步:生成不重复姓名
选中 E2 单元格,输入公式 =UNIQUE(B2:B8),按一下回车,Excel就会自动把B2到B8里的姓名去重,溢出填充到E列下面。这是动态数组生成的结果,要是之后原始数据加了新姓名,直接把公式里的区域改大就行,比如写成 =UNIQUE(B2:B100) 就能覆盖更多行。

第三步:输入SUMIF公式
接着在 F2 单元格输入 =SUMIF($B$2:$B$8,E2,$C$2:$C$8)。这里给姓名列和销量列都加了绝对引用符号$,是为了向下拖动填充的时候,匹配和求和的范围不会跟着乱跑;E2 保持相对引用,拖到下一行时会自动变成 E3,刚好对应下一个姓名。

第四步:向下填充并核对结果
按回车算出第一位员工的合计后,点住F2右下角的填充柄往下拖,就能批量算出所有人的结果。示例里张三的总销量是 24+26=50,王五是 33+41=74,陈二是 37+35=72;你可以随手挑两三个人核对下,就能确认公式范围有没有选错。

SUMIF函数语法和参数
SUMIF 的完整语法是 SUMIF(range, criteria, [sum_range]),逻辑特别好懂:在指定的条件区域里找到所有符合要求的行,再把这些行对应的数值加起来就行。
| 参数 | 是否必填 | 本例写法 | 作用 |
|---|---|---|---|
range |
必填 | $B$2:$B$8 |
放姓名的条件区域 |
criteria |
必填 | E2 |
要匹配的姓名,比如张三 |
sum_range |
可选 | $C$2:$C$8 |
真正参与求和的销量区域 |
要是你嫌单独做姓名列表麻烦,也可以直接把条件写死,比如输入 =SUMIF($B$2:$B$8,"张三",$C$2:$C$8),就能直接返回张三对应数据的总和。不过还是建议把要匹配的姓名单独放在单元格里,之后改人名不用动公式,维护起来更省心。
容易出错的地方
这里给大家提几个容易踩坑的点:第一,range 和 sum_range 的行数得一致,不能一个选到第8行、另一个选到第9行,不然会出现匹配错位。第二,向下填充前最好把数据区域设成绝对引用,不然第二行公式会变成 B3:B9 这类错位的范围,结果全错。第三,要是姓名前后藏了看不见的空格,肉眼看着是一样的,Excel却会当成两个不同的文本,遇到这种情况可以先用 TRIM 函数做个辅助列清理空格。第四,数值列如果是文本格式,求和结果可能偏小甚至直接为0。
多个条件时怎么扩展
如果你的汇总要求不止匹配姓名,还要同时按月份、部门或者项目这类维度一起统计,直接换成 SUMIFS 函数就行。它的语法是 SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...),注意和SUMIF不一样,求和区域要放在最前面哦。
| 需求 | 公式示例 |
|---|---|
| 按姓名汇总销量 | =SUMIF($B$2:$B$8,E2,$C$2:$C$8) |
| 按姓名和月份汇总销量 | =SUMIFS($D$2:$D$100,$B$2:$B$100,H2,$C$2:$C$100,I2) |
| 按姓名汇总大于 30 的销量 | =SUMIFS($C$2:$C$8,$B$2:$B$8,E2,$C$2:$C$8,">30") |
要是你用的是WPS或者旧版Excel,先确认下支不支持 UNIQUE 函数;不支持的话,就用顶部菜单栏「数据」选项里的「删除重复项」功能先生成姓名清单,之后照常输入 SUMIF 操作就可以了。


















