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