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

预期结果:
excel - 将数字转换为文本时防止舍入-LMLPHP

实际结果:
excel - 将数字转换为文本时防止舍入-LMLPHP

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

C2 =TEXT(A2,"0")&"-"&TEXT(B2,"0")


这给了我四舍五入的价值。

有谁知道如何克服这个问题?


我无法更改列格式以增加小数位数,因为我会产生不必要的0。例如我想要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,TEXT(A2,"0"),TEXT(A2,"0.0")) & "-" & IF(INT(B2)=B2,TEXT(B2,"0"),TEXT(B2,"0.0"))

excel - 将数字转换为文本时防止舍入-LMLPHP

关于excel - 将数字转换为文本时防止舍入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54087642/

10-13 07:55