小数分隔符

小数分隔符

我可以在某些 Excel 文件中使用逗号,在其他 Excel 文件中使用句号作为小数分隔符吗?我的一些文件仅用于欧洲文件。而其他文件则严格用于美国。

感谢 PRDIGM

答案1

小数点与小数逗号的使用由计算机的区域设置决定。通常您不需要更改它,因为 Excel 会为您完成这项工作。此外,Excel 还会更改公式使用的语言,以反映随 Office 安装的语言集。

如果欧洲国家(例如德国)的某个人编写了 Vlookup 函数,则它看起来像

=SVerweis(foo;bar;baz;false)

函数名称不是 VLookup,参数以分号分隔,而不是逗号。带千位分隔符的十进制数将如下所示12.345,66

当在具有美国设置(使用小数点)的计算机上打开同一个 Excel 文件时,公式将如下所示:

=VLookup(foo,bar,baz,false)

公式将以当前计算机上 Office 安装的语言显示。数字将类似于“12,345.66”,同样使用当前计算机的区域设置。

您可以在 Excel 中覆盖计算机的区域设置,并手动(或使用 VBA 宏)设置小数、千位和列表分隔符,但为什么要这样做呢?这只会增加混乱并引发问题。

由于 Excel 在一台机器上使用一致的符号并自动翻译符号,因此无需手动更改设置即可使 Excel 正常工作。

我能想到的唯一原因是当您想要将公式复制/粘贴到用户指南中或截取屏幕截图时。如果您的计算机使用美国设置,而您正在为使用欧洲设置的人编写文档,那么您可能需要在截取屏幕截图之前更改设置,并且您可能需要安装语言包以启用在 Excel 函数使用的语言之间切换。

答案2

如果您在工作表中使用以下宏,则可以:

Private Sub Workbook_Activate()
    Application.DecimalSeparator = ","
    Application.ThousandsSeparator = "."
    Application.UseSystemSeparators = False
End Sub

Private Sub Workbook_Deactivate()
    Application.UseSystemSeparators = True
End Sub

没有其他办法,但根据您或接收公司的 Windows 政策,这可能会敲响各种警钟。您还需要关闭工作簿以将更改恢复为欧盟或美国,无论您如何配置它。

相关内容