Excel 允许将格式与TEXT()
,例如:
=TEXT(B2, "ddd")
=A2&" " &TEXT(B2,"mm/dd/yyyy")
但如果我尝试在 office365 上执行此操作,它只会显示该文本(不起作用)。出了什么问题?
更新:B2
包含01.01.2022
格式化,d.m.
因此显示为1.1.
(我的语言环境设置)。但直接格式化ddd
单元格内容=B2
即可正常工作。但我需要将日期与其他文本结合起来。
我使用的是捷克语言环境。它可能与语言环境有关:https://techcommunity.microsoft.com/t5/excel/in-excel-office-365-text-function-does-not-work-correct/mp/1786188。
答案1
这 TEXT 函数 Office 365 似乎已损坏。
我使用上面的链接下载了 下载 Excel TEXT 函数示例,这就是微软的工作表的样子,完全损坏了:
您可以在反馈中心向微软投诉。
作为一种解决方法,您可以使用 YEAR、MONTH 和 DAY 函数。
答案2
呃,这取决于语言环境。我使用的是捷克语言环境,因此无法使用默认的英语 TEXT()
功能,但捷克语言环境是HODNOTA.NA.TEXT()
:
=HODNOTA.NA.TEXT(B2; "ddd")
从 Linux 上的 LibreOffice 开始,这对我来说确实有很大的不同。
答案3
更普遍的情况是,如果您将单元格格式化为文本,然后输入公式并且 Excel 按照字面意思理解并一直将公式显示为一段文本,我就会看到这个问题。
测试:使用最简单的公式“=B2”并查看得到什么,以证明这是否与函数的本地化或 O365 中的 TEXT 函数有关(尽管是英文,但对我来说很有用)。
如果是这个问题,只需将其格式化为“常规”,然后输入公式,然后格式化为文本(如果您仍然愿意)。
答案4
区域依赖性的另一个方面是日期部分使用的缩写可能与英文版本不同。
例如,day 可能基于“d”,因此“Mon”可能仍来自“ddd”——正如预期的那样,所以如果不考虑的话,就不会有损失。但在相同的语言版本中,year 可能是一个不同的缩写,所以可能是“tttt”而不是“yyyy”,虽然只使用“ddd”的函数会按预期工作,但当它使用“mm/dd/yyyy”时会失败,因为它需要“mm/dd/tttt”……这里的情况并非如此,因为使用语言环境函数名称解决了问题,但有时这可能是个人的问题。
另一种情况是:这样那样的函数在单元格函数中运行良好,但在 VBA 中却失败了。反之亦然。因为 VBA 完全基于英语,函数因地区而异。习惯于将参数写在一个函数中,你很容易就会忘记。
对于捷克语版本,需要使用“rrrr”而不是“yyyy”。因此“mm/dd/yyyy”会失败,而“ddd”可以工作。更改为“mm/dd/rrrr”应该可以正常工作。(然而,在 VBA 中执行相同的操作仍然需要“yyyy”而不是“rrrr”...)