在 MS Excel 中,如何动态设置小数位数?

在 MS Excel 中,如何动态设置小数位数?

我有一张表格,用于报告相关系数​​的范围,范围从 -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,测试数字是否为整数(如果为真,则为整数,否则为否)。

示例输出: 在此处输入图片描述

相关内容