Excel TEXT公式不会将'yyyy'转换为一年

问题描述 投票:9回答:6

我想在Excel 2013中将一些文本与日期结合起来。

假设我有一个A2的单元格,日期为30-10-2014。我尝试使用以下公式在文本后附加日期:="Some text and a date: "&A2

但输出显示日期为数字:一些文本和日期:41942

所以我尝试使用TEXT公式:="Some text and a date: "&TEXT(A2;"dd-mm-yyyy")

但这显示了一些文字和日期:30-10-yyyy而不是一些文字和日期:30-10-2014

所以或者我不明白TEXT公式是如何工作的或者是否存在一些错误/问题?

更新:看起来重要的是我有一个荷兰语版本的Windows(7),但英文版的Excel(2013)导致了这个问题!

excel date date-formatting
6个回答
18
投票

所有的荣誉都归@AxelRichter所有,谢谢Axel!

看起来如果你有一个荷兰语Windows但英文版的Excel(2013),公式就会混淆。例如,我仍然有英文公式名称,如TEXT(荷兰语为TEKST),但仍然必须在公式中使用冒号而不是逗号。 TEXT的format_text值仍然期望荷兰格式与年份不同(jjjj而不是yyyy)。

因此,如果您有荷兰语Windows和英语Excel版本,则某些文本后跟格式化日期的正确公式将为:

="Some text and a date: "&TEXT(A2;"dd-mm-jjjj")

我希望微软能解决这个问题,这很烦人!


2
投票

我们在工作中遇到了同样的问题,我发现如果我不能影响窗口的本地化,那么我会使用一个公式,在你的情况下看起来像:

="Some text and a date: "&TEXT(A2;"dd-mm-")&YEAR(A2)

有趣的是“dd”和“mm”是一样的。


1
投票

对于同样的问题,当您的系统或键盘是丹麦语时,请使用åååå代替jjjj。我也很努力地找到这把钥匙。但是,如果除荷兰语或丹麦语之外有任何人遇到同样的问题,那么您可以检查哪个键是正确的。要找到它,请右键单击任何单元格并转到“格式化单元格”,然后选择“自定义”并以您的本地语言查找与日期相关的格式。在那里,您可以找到用于本地语言的DATE格式的正确密钥。


1
投票

这里的Excel显然失败了。 TEXT应该与语言无关。

我发现的解决方法,特别是如果你有多个单元格格式:

  1. 在隐藏单元格或白色中计算所需的日期格式:

=IF(TYPE(VALUE(TEXT(DATE_CELL;"YY")))=1;"DD.MM.YYYY";"ДД.ММ.ГГГГ")

如果需要,可以扩展以支持多个区域,例如:

=IF(TYPE(VALUE(TEXT(DATE_CELL;"YY")))=1;"DD.MM.YYYY";IF(TYPE(VALUE(TEXT(DATE_CELL;"ГГ")))=1;"ДД.ММ.ГГГГ";"DD.MM.JJJJ"))

  1. 在需要日期的单元格上,使用上一个单元格作为第二个参数:

="Date: " & TEXT(DATE_CELL; FORMAT_CELL)


0
投票

解决方案:要检查“jjjj”格式是否正常工作:

您希望以特定格式显示的日期位于A1中

在单元格A2中,使用以下公式将cel链接到具有要以特定格式显示的日期的单元格:

=TEXT(A1;"dd/mm/jjjj")

在第3个单元格中,您可以放置​​以下公式:

=IF(RIGHT(A2;4)="jjjj";TEXT(A1;"yyyy");TEXT(A1;"jjjj"))

如果右边的4位数字是“jjjj”,则此公式将显示格式为“yyyy”的日期,否则将使用格式“jjjj”。


0
投票

Excel 2016(或Office 365,如果可能)仍然存在此问题。它是由Windows中的不同语言设置引起的。这种情况发生在具有不同年份符号的语言中(荷兰语是“jjjj”,葡萄牙语是“aaaa”)。如果您遇到此问题,请尝试使用本地Windows语言的年份格式。

© www.soinside.com 2019 - 2024. All rights reserved.