我将尽量详细地介绍这个问题。我在 Microsoft Teams 网站上存储了一个 Excel 文档文件夹,每个团队成员大约有 20 个相同的跟踪器。此跟踪器中有以下公式
=IF(ISBLANK(B5),NA(),B5&" "&TEXT(I5, "[$-0809]dd/mm/yy"))
检查B5中是否有内容,如果没有则返回#N/A
,如果有则返回内容,并在列中添加空格,以及日期的文本格式I
。
对于除两位用户之外的所有用户,此公式都可以正常工作,但是,当一位位于德国的团队成员和一位位于意大利的团队成员(可能相关?)打开文件时,返回结果为#VALUE
。当前的修复方法是,我(位于英国)只需打开他们的跟踪器,单击公式,它就会正确计算,直到他们下次打开跟踪器。
我的理解是,不同地区的 Excel 会自动将公式更新为当地语言(即我希望看到的德国用户
=WENN(ISTLEER(B5);NV();B5&" "&TEXT(I5; "[$-0809]dd/mm/yy"))
然而,当我与任一用户共享屏幕时,它仍然显示该公式的英文版本,这让我相信这是导致问题的原因。
我的问题是,这个问题是否似乎是由这两个用户的区域设置引起的,如果不是,那么可能是什么问题,如果是,我该如何制作该公式的跨区域友好版本。
答案1
我怀疑问题在于将自定义数字格式翻译成当地语言,例如 YY 将是 JJ auf Deutsch 和 AA en Francais。
您可能需要将日期解析为块才能使其正常工作。在您的公式中:
=IF(ISBLANK(B5),NA(),B5&" "&TEXT(I5, "[$-0809]dd/mm/yy"))
尝试用这个替换TEXT位:
TEXT(DAY(I5),"00")&"/"&TEXT(MONTH(I5),"00")&"/"&MOD(YEAR(I5),100)
例如,如果您并不总是需要两位数的日期和月份,或者您可以使用 4 位数的年份,则可以简化此过程。至少值得一试。