我正在尝试创建一个 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))