Excel 将数字转换为文本时防止舍入

Excel 将数字转换为文本时防止舍入,excel,vba,Excel,Vba,我想将两列数字(包含整数和非整数)转换为文本,并将它们放在第三列“range”下 预期结果: 实际结果: 问题是,当我将其转换为文本时,值会四舍五入。 要进行此转换,我使用以下函数将它们转换为文本 C2 =TEXT(A2,"0")&"-"&TEXT(B2,"0") 这给了我四舍五入的值 有人知道如何克服这个问题吗 我无法更改列格式以增加小数位数,因为我会有不必要的0。e、 我想要7而不是7.0 我已尝试将功能更改为 C2=TEXT(A2,“##.#”&“-”&TEXT

我想将两列数字(包含整数和非整数)转换为文本,并将它们放在第三列“range”下

预期结果:

实际结果:

问题是,当我将其转换为文本时,值会四舍五入。 要进行此转换,我使用以下函数将它们转换为文本

C2 =TEXT(A2,"0")&"-"&TEXT(B2,"0")  
这给了我四舍五入的值

有人知道如何克服这个问题吗

  • 我无法更改列格式以增加小数位数,因为我会有不必要的0。e、 我想要7而不是7.0

  • 我已尝试将功能更改为
    C2=TEXT(A2,“##.#”&“-”&TEXT(B2,“##.#”)
    ,这有助于不将所需文本四舍五入。但是,它也会在整数后添加一个额外的“.”小数点。例7。或者20。我不知道如何去掉额外的小数点


非常新的在这方面,任何帮助将不胜感激。打开以尝试宏

此操作不需要VBA代码。试试这个

检查单元格是否有小数。您可以通过
=INT(A1)=A1
来实现这一点。将其合并到公式中
=IF(INT(A2)=A2,TEXT(A2,“0”),TEXT(A2,“0.0”)
。第二个单元格也是如此

=IF(INT(A2)=A2,文本(A2,“0”)、文本(A2,“0.0”)、“&IF(INT(B2)=B2,文本(B2,“0”)、文本(B2,“0.0”)


谢谢你@Siddharth Rout。很好!我被困在这个问题上有一段时间了