设置用户输入的小数位数并截断数字

设置用户输入的小数位数并截断数字

我正在尝试创建一个 Excel 电子表格,其中的数字有时会使答案没有小数位,而有时则会导致答案有许多小数位。我希望能够让用户在单元格中输入他们想要的小数位数。如果结果有几个小数位,我可以使用函数TRUNC表示 2 个(或任意数量的)小数,但如果没有小数位,我希望用 0 填充结果。所以如果结果是 990,我希望它显示 990.00。我不想从菜单栏调整零。

例如:公式的一部分是=TRUNC(D10-(B7*C$7),D$3)D$3是用户可以指定他们想要的小数位数的单元格。如果有多个小数位,它可以正常工作,但如果没有小数,该TRUNC函数显然对我没有任何作用。

答案1

修改@Máté Juhász 发布的公式以避免在不需要时使用分隔符:

=TEXT(TRUNC(D10-B7*C$7,D$3),"0" & IF(D$3,".",) & REPT(0,D$3))

如果没有TRUNC函数,值将被四舍五入而不是截断。

=TEXT(D10-B7*C$7,"0" & IF(D$3,".",) & REPT(0,D$3))

答案2

请尝试这个公式=TRUNC(D10-(B7*C$7),D$3)&REPT(0,D$3-MAX(0,LEN(TRUNC(D10-(B7*C$7),D$3))-LEN(INT(TRUNC(D10-(B7*C$7),D$3))-1)))

答案3

您可以使用TEXT()将数字转换为所需格式的函数:

TEXT(D10-(B7*C$7), "0."&REPT("0",D$3))

相关内容