试图只显示一定数量的数字

时间:2015-04-30 09:38:00

标签: string excel excel-vba excel-formula excel-2010 vba

要向我的客户进行销售,我需要将报表中的数字导入Excel文档。例如,进入的号码将是14.182392。我不买产品的唯一原因是因为他只想在Excel表格上查看14.182。好吧,另一个问题是,数字不能以任何形状或形式进行舍入。

所以我需要的是一种只显示这么多数字的方法,没有任何影响。

这可能吗?关于如何解决这个问题的任何想法都会很棒。

3 个答案:

答案 0 :(得分:1)

请尝试:

=TEXT(INT(A1)+VALUE(LEFT(MOD(A1,1),5)),"00.000")  

首先= TRUNC是一个更好的答案(更短)。我的版本与您的要求中的不确定性有关(这很奇怪!)并且希望如果不是您/您的老板想要的话可​​能更容易调整。

TRUNC字面上只是将小数(不舍入!)截断为适合的长度(即3是否显示给定nn.182 nn.182392或说nn.182999 })。

LEFT也可能是更好的选择,但这取决于知道数字的整数部分有多大。 =LEFT(A1,6)会在A1中显示14.189给出14.189999。但是它会在A1中显示1.4189 1.4189999(即小数点后四位)。

上面的公式将文本操作与数字操作相结合:

INT只取整数值(此处为14。)

MOD只取模数 - 除法后的余数不是整数,在本例中是1。所以只是.182392部分。然后以类似于上面使用的方式在此处应用LEFT,但是不需要关注源值的整数部分的长度(即141等并不重要)。

VALUE然后将结果转换回数字格式(字符串操作函数,如LEFT总是返回文本格式),因此我们的缩写十进制字符串可以添加到我们的整数。

最后,TEXT部分用于格式化,但很难或不可能证明这一点!关于唯一的用途是它在单元格中显示左对齐的结果 - 也许是一个警告,显示的数字不是“真实”值(例如,它不会SUM),因为,由于一个公式,它不会标有一个小的绿色警告三角形。

答案 1 :(得分:1)

显示的值可以使用TRUNC function这样的

=TRUNC(A1, 3)

但是你必须在任何计算中使用A1来保持原始值的精度。

答案 2 :(得分:0)

我知道最简单的方式:

=LEFT(A1; x)

其中x =您想要的字符的数量。请注意,点也算作一个角色。