我在德语版 Windows 8.1 上使用 Excel 2013。当我将数字格式化为数字,在单元格或图表中,它以逗号作为小数符号显示(如“3,1415”)。我想用句点显示数字,就像在英语(美国)区域设置中一样。
我尝试了具有明确语言环境的数字格式,例如
[$-409]0.0;@
但那没用。不过它对日期有效([$-409]MMM JJ;@
)。
如何用句点格式化数字?我正在寻找最不具侵入性的解决方案,因此更改系统区域设置不是一种选择。根据工作簿或工作表更改语言是可以的,但我更喜欢对单个单元格或图表元素起作用的方法。我不想更改数据,因此函数substitute
等将不起作用。
答案1
解决方法是:在高级设置中,您可以选择是否使用系统分隔符,并定义您自己的分隔符。
答案2
我有同样的问题:数字格式为“-34,754.27”,我想将其转换为英语语言环境中的数字,即“-34754,27”或“-34.754,27”
我正在使用构建它的NUMBERVALUE函数:
=NUMBERVALUE(文本,DECIMAL_SEPARATOR,GROUP_SEPARATOR)
这将根据您提供的分隔符来解释文本,并返回当前语言环境中的数字。
或者,您可以采用蛮力方式,自己搜索并替换这些分隔符 - 这种方法的问题在于,除了不优雅之外,您最终会得到需要进一步转换为数字的文本,然后您将回到 NUMBERVALUE,因此最好单独使用它:
(本例中的测试是 [@Suma] )
=REPLACE(IFERROR(REPLACE([@Suma],FIND("。",[@Suma],1),1,""),[@Suma]),FIND(",,IFERROR(REPLACE([@Suma],FIND("。",[@Suma],1),1,""),[@Suma]),1),1,"。")
答案3
如果您有一个显示单元格π作为:
3,1415
选择该单元格并运行这个小宏:
Sub Reformat()
Dim st As String
st = ActiveCell.Text
st = Chr(34) & Replace(st, ",", ".") & Chr(34)
ActiveCell.NumberFormat = st & ";;;"
End Sub
显示内容将变成:
3.1415