Office中国论坛/Access中国论坛

标题: [求助]请教一个格式问题!! [打印本页]

作者: skystone    时间: 2005-6-5 04:34
标题: [求助]请教一个格式问题!!
原来以文本格式输入的数字,即使重新改为数值格式,也没办法在excel 里求和。

不过偶后来发现改成数值格式后,在原单元格双击-回车后(即重新输入),可以进行求和。

问题是有时候数字可能有上千个,没如果每个重新输入太麻烦了,请问高手有啥办法解决?[attach]10990[/attach]


作者: 情比金坚    时间: 2005-6-5 05:38
=TRUNC(D5),  向下复制就行了
作者: 淼漫    时间: 2005-6-5 05:43
=int()函数也可,但相比trunc()而言,处理负数时有所区别
作者: 红池坝    时间: 2005-6-5 19:29
文本型数字可以直接进行加减乘除运算,所以,把你的SUM()函数换成下面的公式即可:=D5+D6+D7+D8+D9+D10+D11+D12+D13
作者: shanui    时间: 2005-6-6 22:55
以下是引用红池坝2005年6月5日的发言

文本型数字可以直接进行加减乘除运算,所以,把你的SUM()函数换成下面的公式即可:=D5+D6+D7+D8+D9+D10+D11+D12+D13
这方法也太没效率了,各位还有快一点的方法吗?这问题也同样困绕我很久了。
作者: 红池坝    时间: 2005-6-6 23:33
呵呵,我不晓得兄弟要什么样的效率,这个与sum()有什么区别,你没见过超过上百个字符的组合公式吧
作者: skystone    时间: 2005-6-7 08:19
感谢二楼和三楼,是个有用的方法!!不过有时候表格比较复杂,要成片用TRUNC或INT的话比较麻烦,要在新的地方重建表式,这样比较麻烦且容易出错。我发现即使复制这些数据然后选择性粘贴回常规格式(或数值格式)的区域时,也仍然没用。我在想,是不是可以做一个可以在原单元格刷新的宏,做到双击每个单元格的效果,这样就可以了。可惜偶不会VBA望高手帮忙,给个终极解决方案!!![em17][em23][em24][em49]
作者: 红池坝    时间: 2005-6-7 23:41
不觉得使用2楼和3楼的函数有什么便利的地方,因为:1、至少要增加一个辅助的列,这多少会对表格的格式有影响,至少你还得隐藏这个列;2、你还得在这个辅助列里输入int()或trunc()函数并使用填充柄填充;3、你最终还要使用SUM()函数进行计算。也不觉得使用VBA是另一个好办法,因为:1,虽然这个办法可以完成你的任务,但你这个任务使用VBA有点杀鸡用牛刀的感觉;2、编辑VBA代码远比我那个公式复杂得多;3、双击每个单元格都运行你的代码,且不说你去双击每个单元格有多费力,单是每双击一次,就会运行一次代码,系统效率无论如何都是高不上去的。结论:你的任务还是用我提的那个办法吧:文本型数字可以进行任何加减乘除及乘方运算,这足够完成你的任务了建议:问题的关键不在问题本身,而在……呵呵,这是我的建议,自己再去揣摩权衡吧!
作者: skystone    时间: 2005-6-9 07:46
感谢楼上!1.可能我没有表达清楚,我的意思不是说每次双击单元格运行一个代码。因为如果去双击每个单元格的话,不需要任何代码就可以解决问题了(先设置成数值格式,再双击就OK了)。我需要的是做一个宏=双击每个选中的单元格,替我完成我本来需要手动完成的工作。2.你的方法虽然也可以解决问题但我的公式不一定是加法,而且我要加的数字很多,这样效率不高。
作者: shisgs    时间: 2005-6-12 05:58
用excel2002打开文件,选中文本数字区域,转换为数字就可以计算了。[attach]11171[/attach]


作者: 晓月清风    时间: 2005-6-12 17:50
以下是引用shisgs在2005-6-11 21:58:00的发言:

用excel2002打开文件,选中文本数字区域,转换为数字就可以计算了。



我用的EXCEL是2000版的,没有那个功能
作者: 晓月清风    时间: 2005-6-12 18:32
使用了楼上各种方法,我还是觉得使用VBA最方便,我使用的代码如下:Sub txt2num()

For Each xCell In Selection

'对所有选择的单元格进行操作

xCell.Value = xCell.Value

'单元格值转换

Next xCell

'寻找下一个选择的单元格

End Sub需要注意是,我使用的是FOR...NEXT循环语句,当选取整张工作表时,EXCEL将会进行所有的值替换操作,也就是对16777216个单元格进行操作 [em06]
作者: skystone    时间: 2005-6-13 03:31
晕啊,我用的是EXCEL2003,居然不知道shisgs说的这个方法。菜了。。。

不过这个方法只能用在连续选择的单元格,晓月清风的应该是正解!!!

^_^,谢了!!

[此贴子已经被作者于2005-6-12 19:39:06编辑过]


作者: xiaolin2    时间: 2005-6-13 23:37
选中转换区域,点击工具——错误检查——转换为数字也可以完成




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3