excel - 仅使用公式即可获取当前文化以进行本地化

标签 excel localization excel-formula globalization

有没有办法使用 Excel 中的公式而不使用任何 VBA 代码来确定当前系统区域性?

我想象这样简单的事情:

IF(CULTURE="sk-SK","Prehľad","Overview")

或者类似的事情也适合我:

IF(CURRENCYSIGN="€","Prehľad","Overview")

我正在寻找一种简单的方法来全局化 XLSX 文件,而不需要任何额外的资源或文件。

最佳答案

不,没有 VBA 就无法获取系统语言设置。根本没有内置函数可以实现此目的。但如果您考虑 UDF,有一个解决方案:

Public Function GetLang()
    GetLang = Application.LanguageSettings.LanguageID(msoLanguageIDUI)
End Function

但是,在您的帮助下,我们找到了一个窍门。您可以通过分析公式文本来猜测系统语言(仅限Excel 2013):

A1=TODAY()
=IF(FORMULATEXT(A1)="=TODAY()",[some logic for English system],[some logic for non-English system])

或者通过分析本地月份名称:

=IF(TEXT(1,"mmmm")="January",[some logic for English system],[some logic for non-English system])

关于excel - 仅使用公式即可获取当前文化以进行本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28715106/

相关文章:

sql-server - 禁止 T-SQL 查询的 header 输出

c# - 如何通过 .NET 代码杀死 Excel.exe?

iphone - 默认启动画面无法获取区域格式

python - 在 Excel 或 Python 中将数字除以日期

excel - 根据标准汇总特定数量的单元格值

excel - 在 Excel 中去除前导/尾随空格和逗号

android-studio - 轻松本地化 : Localization key [. ..] 未找到

c# - 将短语翻译与 String.Format 集成

excel - 将多个值列转换为新的键值对

excel - 有没有一种方法可以在不使用VBA的情况下隐藏Excel中的行或列?