小伙伴们好啊,今天和大家分享的是一组特殊数据的处理。
先看下面的数据,是各部门的奖励补贴数据,同一个部门的数据都挤在一个单元格内,现在要计算每个部门的奖励补贴总和,该如何处理呢?
接下来咱们说说几种常用方法:
方法一:
复制Excel中B列的混合内容,打开Word,右键粘贴为文本。
然后按Ctrl+H键,调出替换对话框。
查找内容输入:
[!^1-^127]{1,}
替换为输入加号“+”
然后选择使用通配符,点击全部替换。
再将替换后的内容复制粘贴到Excel即可:
方法二:
右键单击工作表标签→查看代码
在VBE界面中点击【插入】→【模块】,然后输入以下代码:
Function GetNum(S$)
Dim i&, SS
For i = 1 To Len(S)
SS = Val(Mid(S, i))
If SS <> 0 Then i = i + Len(SS): GetNum = GetNum + SS
Next i
End Function
关闭VBE窗口,在C2单元格输入自定义函数,OK了:
=GetNum(B2)
使用该方法时,注意需要将文件保存为xlsm格式。
方法三:
如果你使用的是Excel 2021,可以使用以下公式处理:
=SUM(1*TEXTSPLIT(B2,TEXTSPLIT(B2,ROW($1:$10)-1,,1),,1))
TEXTSPLIT(B2,ROW($1:$10)-1,,1)部分,使用ROW($1:$10)-1的结果,也就是序号0~9作为间隔符号,对B2单元格的内容进行第一次拆分,第三参数使用1,表示忽略空白单元格。拆分结果为:
{"补贴:王亮","牛莉",",优秀人员标兵:李志文","房新军","王新","牛一万"}
接下来再进行第二次拆分,第二拆分的间隔符号为第一次拆分得到结果,也就是除了数字之外的文本内容,拆分结果为:
{"5","10","300","300","300","300"}
将提取后的文本型数字乘以1变成数值格式,最后使用SUM函数求和。
方法四:
如果你使用的是最新版WPS表格,这个问题就简单了。
C2单元格输入以下公式,向下复制:
=SUM(1*REGEXP(B2,"\d+"))
REGEXP是WPS表格中的函数,参数支持正则表达式。本例中,正则表达式为“\d+”,表示要分别提取出连续的数字。
将提取后的文本型数字乘以1变成数值格式,最后使用SUM函数求和。
图文制作:祝洪忠