如何将excel中的大数字四舍五入为两位有效数字

如何将excel中的大数字四舍五入为两位有效数字,excel,numbers,format,rounding,Excel,Numbers,Format,Rounding,我想在Excel中设置大数字的格式,以便只显示两个最重要的数字。剩余的数字将用额外的零填充 例如: 1234567将显示为120万 和 1234将显示为1200 使用000格式会将1234567显示为1235000,但这不是我想要的,因为它不能缩放到少一位数的数字。像1.2米这样的解决方案也不是我想要的 两个示例都应该使用相同的格式。我不想对数字进行四舍五入,但只对显示的值按格式进行四舍五入。也许您可以使用如下所述的条件格式: 所以,如果你的数字超过100,小于1000-00 超过1000人而

我想在Excel中设置大数字的格式,以便只显示两个最重要的数字。剩余的数字将用额外的零填充

例如:

1234567将显示为120万 和 1234将显示为1200

使用000格式会将1234567显示为1235000,但这不是我想要的,因为它不能缩放到少一位数的数字。像1.2米这样的解决方案也不是我想要的


两个示例都应该使用相同的格式。我不想对数字进行四舍五入,但只对显示的值按格式进行四舍五入。

也许您可以使用如下所述的条件格式:

所以,如果你的数字超过100,小于1000-00 超过1000人而少于10000人

等等


编辑-我知道本教程适用于某些Mac版本的excel,但我的excel 2010中仍然存在条件格式设置

假设您的值为A1,以下公式将返回两个数字的正确结果

=圆形1/POWER10,透镜A1-2,0*POWER10,透镜A1-2

换句话说,获取位数

LENA1

获取10^位数-2

POWER10,LENA1-2

把你的数字除以那个数字

A1/POWER10,透镜A1-2,0

把那个数字四舍五入以去掉小数

ROUNDA1/POWER10,LENA1-2,0

然后乘以这个数字得到最终结果

=圆形1/POWER10,透镜A1-2,0*POWER10,透镜A1-2

然后可以使用文本格式来获得所需的格式。类似于

=textrunda1/POWER10,LENA1-2,0*POWER10,LENA1-2

可能会满足你的需要

编辑:如注释中所述,如果原始值位于不同的单元格中,也可以使用以下函数进行格式设置


=ConcatenatedElefta1,2,REPT0,LENA1-2

如果要以这种方式格式化的单元格包含值而不是公式,请选择单元格并运行此小宏:

Sub PhancyPhormat()
    Dim r As Range, i As Long, le As Long
    Dim DQ As String
    DQ = Chr(34)
        For Each r In Selection
            s = CStr(r.Value)
            le = Len(s)
            For i = 3 To le
            Mid(s, i, 1) = "0"
        Next i
        phony = DQ & s & DQ & ";;;"
        r.NumberFormat = phony
    Next r
End Sub

如果更改值,则需要重新运行宏。

据我所知,格式00不显示123和120。0如何?我想我只是把零算错了。也许你可以在提交答案之前测试一下。我的建议是基于你最初的断言,000将1234567格式化为1234000。事实并非如此。也许你可以在你的问题中加入你用来实现这一点的实际格式?我回答的重点是使用条件格式,而不是使用特定的格式代码。格式000实际显示1235000。我已经相应地更新了我的帖子。我希望它显示120 000。正如我所说,我不想对值进行四舍五入,我想对其显示/格式化的值进行四舍五入。这意味着如果单元格A1包含值126,则显示的值应为120。如果单元格A2通过公式2*A1链接到A1,A2应显示252或250,如果格式相同,但不是240!所以,您希望就地值为1234567,但显示为1200000?我可以看出我的解决方案是多么令人不满意。在另一个单元格中显示数据的另一个选项是=concatenatedElefta5,2,REPT0,LENA5-2,但我猜这将与我的第一个解决方案有相同的问题。000如何将1234567显示为1234000?你能举一个格式化的例子吗?所有这一切似乎都是在末尾连接三个0。我敢打赌,使用“格式单元格->数字”菜单无法完全实现您想要的操作,但是有很多方法可以使用Visual Basic或引用的单元格实现。请参阅我的解决方案。如果你能告诉我们问题的背景,我们可能会提供其他建议。对不起,我做了一个错误的判断。格式000显示1234567为1235000。我也对解决方案感兴趣。但是,这在Excel中是不可能的。@Heyji你是什么意思?我对这个问题投了赞成票。