EXCEL种如果同一单元格内有特殊符号和数字,那我想计算中一竖行或一横行的数字总和?

是一个EXCEL表格里,里面有不同的特殊符号,有些特殊符号后面有数字,我就想计算出那里面数字的总和。

例如下表格
单元格 内容(价格)
A1 100
A2 红100
A3 红100黑200
A4 100黑200
A5 红10000墨绿200蓝30
以上表格基本特点为:文字和数字混合在一起,而且数字长度不定,有几组数字不定,文字长度不定,有几组文字不定,文字和数字的相互位置不确定。除了编程外,只能把数字和文字分到不同列里,但是没有分隔符如何能保证使我们想要的格式呢?如下
红色10100黑颜色300蓝130 → 红色 10100 黑颜色 300 蓝 130
如果我能在数字的前后各添加一个空格,这样不就有了分隔符了么,到这里我就想到了一个每天都在用的功能--查找替换,不过不是使用excel的查找替换,而是使用word中的查找替换,因为word的查找替换可以支持很多通配符。
解决步骤:
1)复制示例表格到word中
2)在查找里面输入([0-9][1,10])点击下面“更多”按钮,勾选“使用通配符”
3)在替换里输入“空格”\1“空格”,点全部替换
注意:([0-9][1,10])括号要加表示是一个整体表达式,如果只是查找的话可以不加,但如果在替换里使用了\1,则必须加。否则弹出“替换内容含有超出范围的一组数”错误。
结果就变成了 红色 10100 黑颜色 300 蓝 130
4)把替换后的内容复制回excel然后执行分列,以空格为分隔符分列
5)对最后分列的数据进行计算
注意:分列后有的单元格为空,计算最好用if函数写一个判断如果单元格为空直接返回空,不为则进行计算,可以包含文本的单元格,文本不会参与计算结果仍然为原来的文本。
6)计算完成后再用“&”把各列合并即可
解释:[0-9]表示:0到9的字符
{1,10}表示:字符的长度在1到10范围内,本例假定价格为整数
()表示:作为一个整体表达式
\1 代表第一次出现符合查找条件的表达式
如果价格含有小数,如下例
A1 200.01
A2 200.01
A3 20.01黑300.01
A4 200.01黑300.01
A5 红色10100.01黑颜色300.01蓝130.01
则使用 查找:([0-9]{1,10}).([0-9]{1,10}) 替换:“空格”\1.\2“空格”,此处\1代表小数点前的([0-9]{1,10})而\2代表小数点后面的([0-9]{1,10})

网上看到的,不编程的情况下,这个好用
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-16
要提取出来,参加计算
如需要给你个代码
第2个回答  2011-04-16
不知道你那什么情况,你可以试着把单元格格式改成数字试一下
相似回答