如何在excel中只保留字符串中的三位数?

时间:2016-02-10 16:32:46

标签: excel

如何自动保留字符串中的三位数并将其应用于列表,同时不超过5个小数点以及舍入数字?

示例:

0.645945 - > 0.646

0.0003452 - > 0.00035

0.000071533 - > 0.00007

4 个答案:

答案 0 :(得分:1)

如果您有一组从B2开始的数字,请突出显示范围并按以下步骤操作: -

(1)设置三位小数的默认格式。

(2)应用条件格式规则: -

=ABS(B2)<0.1

并设置四位小数(如果适用)。

(3)应用条件格式规则: -

=ABS(B2)<0.01

并设置五位小数(如果适用)。

正如@Scott Craner所指出的,第二条规则必须优先。实现此目的的一种方法是首先放置第二个规则并勾选“管理规则”中的“如果为真,则停止”框。

enter image description here

答案 1 :(得分:1)

这是一个可行的基于公式的解决方案。最后的公式很长,所以我把它分成了它的部分,这样你就能更好地理解它。

此解决方案的重点在于它为您提供所需的确切数字,而不是数字的格式化显示。

enter image description here

  1. B2 = ApplicationUser
  2. C2 = =TEXT(A2,".00000")
  3. D2 = =LEN(A2)-LEN(SUBSTITUTE(A2,"0",""))
  4. E2 = ==CHOOSE(LEN(A2)-LEN(SUBSTITUTE(A2,"0","")),100,1000,10000,100000,1000000)
  5. F2 = =ROUND(LEFT(B2,C2+4)*D2,1)/D2
  6. 我确信有一些方法可以在数学上更简单地使用它,但是对于小数点后小于等于0的值

答案 2 :(得分:0)

右键单击 - &gt;格式化单元格并为所需单元格选择数字和小数位。或者你想在vba中这样做吗?

好的就这样= ROUND(A1,INT(3-LOG(A1,10)))

答案 3 :(得分:0)

我找到了解决方案: 根据数字的对数执行带小数点的一轮值 = ROUND(A1,INT(3-LOG(A1,10)))