我想将两列数字(包含整数和非整数)转换为文本,并将它们放在称为“范围”的第三列下。
预期结果:
实际结果:
问题是,当我将其转换为文本时,值会四舍五入。
要进行此转换,我正在使用以下函数将它们转换为文本。
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 - 将数字转换为文本时防止舍入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54087642/