string - 尝试仅显示一定数量的数字

标签 string excel excel-formula excel-2010 vba

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

所以我需要的是一种只显示这么多数字的方法,而不需要四舍五入。

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

最佳答案

请尝试:

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

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

TRUNC从字面上看,只是将小数截断(不四舍五入!)到适合的长度(即 3 如果要显示给定 nn.182392nn.182 或说nn.182999)。


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


上面的公式结合了文本操作和数字操作:

INT仅采用整数值(此处为14。)

MOD仅采用模数 - 除后非整数的残差,在本例中除以 1。所以只是 .182392 部分。然后以与上面使用类似的方式应用 LEFT,但不需要关心源值的整数部分的长度(即 141等并不重要)。

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

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

关于string - 尝试仅显示一定数量的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29964162/

相关文章:

javascript - 在整个字符串中随机分隔字符?

excel - 每 7 行将值增加一 - Excel

excel - Excel 中的日志文件

c++ - 什么时候在 C++ 程序的开头使用 '#include <string>'?

java - stringTokenizer java 的克隆值

c++ - 在 C++ 中将 int 转换为字符串的最简单方法

vba - 向负责的用户发送电子邮件

Excel 索引匹配数组 - 显示列表中的所有值

python - 在 XLS 或 CSV 文件中写入具有不同颜色的单元格的一部分