在excel中,当输入的数字>=100时,无小数位数,小于100时,保留一位有效数字。要在单元格格式-数字-分类中 怎样把excel中的数保留指定的有效数字?例如5.69999...

www.zhiqu.org     时间: 2024-05-23
单元格格式-数字-自定义:[<100]#0.0;#0

选中需要设置的范围,右键设置单元格格式——数字——自定义
类型中输入
[>=100]#;[<100]#.0

输入的数字为B2的话,结果栏公式:

=IF(B2>=100,ROUND(B2,0),ROUND(B2,1))

要是单元格格式设置里面可以做到,那还要函数来做什么。

你新建一个辅助列用if函数和round函数来实现不就得了。

Excel中保留有效数字的问题~

保留有效数字的自定义函数:

在工作表界面中按 +,
进入代码页面,然后再 WORKBOOK中插入模块,把以下代码COPY入模块中。
就可以在工作表中使用 =YXSZ(数值,保留位数)。

如:
A1=456.789
B1=YXSZ(A1,4)
=456.8


代码如下:
Public Function YXSZ(X, n As Integer) 'n为有效数字位数

Dim jk, j
Dim Y As Single
Dim temp As String
Dim zfh As Integer
zfh = 1
If X = "" Or (Not Application.WorksheetFunction.IsNumber(X)) Then mYX = "?Value!": Exit Function
X = Val(X)

If n < 1 Then mYX = X: Exit Function
If X <= 0 Then
zfh = -1
X = X * zfh
End If
If X < 1 Then
j = 1

Do
temp = CStr(X)
j = j + 1
Loop Until Val(Mid$(temp, j, 1)) > 0
j = j + n
X = X * 10 ^ j
jk = Len(CStr(Int(X))) - n
Y = X / 10 ^ jk + 0.5
YXSZ = Int(Y) * 10 ^ jk / 10 ^ j* zfh
X = X / 10 ^ j

Else
jk = Len(CStr(Int(X))) - n
Y = X / 10 ^ jk + 0.5
YXSZ = Int(Y) * 10 ^ jk * zfh
End If

End Function

右键单元格,设置单元格合适,选择数字,将小数点位数设置好


#刁乔贴# 问一下各位有没有谁知道我在EXCEL里打进去的数字100不知道为什么就变成1 -
(17127131781): 你不小心自动设置小数点位置为2了.更正方法: 单击"工具"菜单下“选项”,在选项框中选择“编辑”标签,将“自动设置小数点”前的 复选框中的 钩钩给去掉,确定返回却可.

#刁乔贴# 我的excel表中,输入的数字100为何显示0.1 -
(17127131781): 输入100就该得1 输入1000才会得10啊 A1=100 B1=100 C1=A1/B1 在A1格中输入数值

#刁乔贴# 为什么EXCEL会自动除100 -
(17127131781): 工具/选项/编辑,去掉“自动设置小数点位数”

#刁乔贴# 我的excel中,如果输入整数,在输下一个单元格时,这个数值就会被除以100,但是如果输入小数的话,它又不除100.如:输入100,在按回车后,就变成了1,但如果输100.2,在按回车后,数值就不变,
(17127131781): 你重新在网上下个excel 模版试下

#刁乔贴# excel中如果同一行中两个数相同,显示为100,否则显示为0 .如A1和A2都为184的数字,另外一格中显示为100 -
(17127131781): 假设数据在A1:A10中,A1为184,A2为184,是在B1和B2都显示0吗,如果是,B1中输入=100*(COUNTIF(A$1:A$10,A1)=2) 将B1公式下拉.三个相同也显示0吗,如果不是,请再说明.

#刁乔贴# 我在excel里面输入数字,系统自动将数字后面的两个0取消了,怎么解决? -
(17127131781): 这是设置的问题: 在Excel中,选取菜单“工具—选项”命令下的“编辑标签”,取消“自动设置小数点”选项就可以了 注:你可能是设置小数位数为2,则输入10000显示100,输入100显示1;如果设置为-2,则输入1显示100

#刁乔贴# 在Excel中,如何在一块区域单元格所输入的数据会同时乘以100,需是先设置好,后输入数据,输入时会自动生 -
(17127131781): 需要用到VBA Dim Changed As Boolean Private Sub Worksheet_Change(ByVal Target As Range) If Changed = False Then Select Case Target.Row < 4 And Target.Column < 4 Case 1 Changed = True Target = Target * 100 Changed = False End Select End If End Sub

#刁乔贴# 在excel如何实现同一格中输入数字后不显示输入的数字而显示计算结果 -
(17127131781): mtsnow2007的公式可用,也可直接输入=后面是公式.如mtsnow2007的例子++3+5+9+(9*2)+3-2-(6/3)回车,也可以输入为=3+5+9+(9*2)+3-2-(6/3)回车,公式1开头的+和公式2开头的=意思是一样的.

#刁乔贴# 为什么在Excel 2003单元格中输入数据时显示不对 -
(17127131781): 工具-选项-编辑-自定义小数点位数.去掉前面的勾√.

#刁乔贴# excel 如何自动输入1到100内任意数字? -
(17127131781): 比如,选择A列,在编辑框(fx右边的框)输入:=roundup(rand()*100,)注意,按CTRL+回车结束