关于EXCEL保留小数的问题

有个比较棘手的问题,我做了一个EXCEL的模板,从其他地方提取数据之后汇总到EXCEL表格中的,有2个问题
1:因为里面有些数据小数点之后很多位数,我只需要保留4位,但是我要达到的效果是有小数超过4位的保留四位,无小数的还是保留原有的数据显示方式,举例:比如说有2个数字,100和0.00026,那我要显示成100和0.0003。单元格格式里面要怎末调啊
2:我这边有个单重和总重,总重是单重乘上数量得出来的,都是文本型的,但有个很奇怪的现象,比如单重是0.3,数量是4,乘出来应该是0.12,但是显示的缺是.12,前面的0自动隐藏了,搞不清楚啊,请问这个要怎么解决啊
问题有些麻烦,解决的朋友我会在追加100分的,麻烦了
大家要搞清楚一个事情,我现在是做了一个EXCEL的模板文件,之后从SQL数据库中提取数据导入到EXCEL中,所以那种调整小数点啊什么的都不能用,只能是使用单元格格式里面进行调整


1、选择你要设置的单元格,点击右键,选择“设置单元格格式”,在“数字”对话框中,选择“数值”并将“小数位数”设为“4”。
这样设置后,所显示的数据为4位小数(自动四舍五入)。

2、使用ruond(表达式,4)对单元格的数据进行四舍五入并保留4位小数。

这两设置是有差异的:
第一种只是以4位小数进行显示,在计算时还是以原数据参与计算。
第二种不仅以4位小数显示,而且在计算时是以四舍入五后的数据参与计算。

你可以根据你的需要选择一种使用。


1 选中要输入数据的列,执行"格式/单元格/数字/文本"操作,再输入数字.
2 另法:
先输入一个半角单引号后再输入数字.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-04-08
1.按下ALT+F11,双击点左边的"SHEET1"(假设你要在SHEET1中完成此功能),然后复制下面代码,退出.即可达到你要的功能.我是针对工作表中所有数字单元格进行这样设置的.
(我这个仅适用于每次输入数据后的改变,如果已经有数据,要改变,不适用)
Private Sub Worksheet_Change(ByVal Target As Range)
If Not WorksheetFunction.IsNumber(Target.Value) Then
Exit Sub
End If
If Target.Value = Int(Target.Value) Then
Target.NumberFormatLocal = "0"
Exit Sub
End If
If Target.Value * 10 = Int(Target.Value * 10) Then
Target.NumberFormatLocal = "0.0"
Exit Sub
End If
If Target.Value * 100 = Int(Target.Value * 100) Then
Target.NumberFormatLocal = "0.00"
Exit Sub
End If
If Target.Value * 1000 = Int(Target.Value * 1000) Then
Target.NumberFormatLocal = "0.000"
Exit Sub
Else
Target.NumberFormatLocal = "0.0000"
End If
End Sub

2.可能是单元格格式设置成了.00
将它设置为0.00(格式-单元格-数字-分类-自定义中输入0.00)
第2个回答  2008-04-07
首先选中要填数字的单元格,然后单击鼠标右键,选择设置单元格格式,单击数字显项卡,然后再单击数值,在右边的小数位数设为4就可以了。(先设好了再输数字。)
第3个回答  2008-04-08

格式-单元格-数字-分类-自定义
中输入
#0.####
就都解决了

那第一个问题只能分两步
第一,假如你的数据在A列
你在临时的列(假如F列)输入如下公式
=INT((A1+0.00005)*10000)/10000
一直拖到数据最后一行

然后选中F列,复制
再选A列点右键,选择性粘贴中选数值
再把F列删除
第4个回答  2008-04-08
按你所说的问题自己试了一下:
1、不知道你的那些数据是原始数据还是计算得出的结果,如果是计算得出的结果就比较好做,如A1=100,A2=0.02235,则在B2输入“=round(A1,4),然后将B2下拉复制格式,这样A1显示为100,A2显示为0.0224。
2、显示为.12是因为在单元格格式里设置成自定义的.00,你可以把这栏设置成数字格式或自定久里的0.00。
相似回答