![在 MS Excel 中,如何动态设置小数位数?](https://linux22.com/image/1446718/%E5%9C%A8%20MS%20Excel%20%E4%B8%AD%EF%BC%8C%E5%A6%82%E4%BD%95%E5%8A%A8%E6%80%81%E8%AE%BE%E7%BD%AE%E5%B0%8F%E6%95%B0%E4%BD%8D%E6%95%B0%EF%BC%9F.png)
我有一张表格,用于报告相关系数的范围,范围从 -1.0 到 +1.0。我想对它们进行格式化,如果它们是正或负一或零,则将它们格式化为一位小数,否则将它们格式化为两位小数。
例如,如果范围是 0.6789 到 1.000,则应格式化为 [+.68,+1.0]。
目前使用 CONCATENATE 和 TEXT 函数的组合我可以得到 [+.68,+1.00]。
有 Excel 专家可以帮忙吗?
答案1
对于 的下限A1
和 的上限B1
,可以使用以下超长公式:
="["&TEXT(A1,"+."&IF(MOD(A1,1)=0,"0","00")&";-."&IF(MOD(A1,1)=0,"0","00"))&","&TEXT(B1,"+."&IF(MOD(B1,1)=0,"0","00")&";-."&IF(MOD(B1,1)=0,"0","00"))&"]"
关键是函数TEXT
。函数中指定的格式包括条件,如果边界为 -1、0 或 1,则表示为小数点后一位。否则,边界表示为小数点后两位。此条件的测试是MOD(A1,1)=0
,测试数字是否为整数(如果为真,则为整数,否则为否)。
示例输出: