我有一个工作公式,用于以下文本到目前为止的转换。但是,我不明白为什么必须添加尾随0才能以YYYY格式显示年份。
2016年6月21日转换为2016年4月21日
=(MID(A2,4,2)&"/"&LEFT(A2,2)&"/"&RIGHT(A2,2))+0
非常简单直接。但是,如果你删除公式末尾的0,它将只显示16而不是2016.但我可以做Right(A2,4)而不是Right(A2,2)。但我还是想知道为什么?任何人?谢谢!
答案 0 :(得分:7)
尾随零将整个事物转换为数学运算,使得字符串(+0左侧的所有内容)被视为数字。
您也可以使用* 1代替+0
=(MID(A2,4,2)&"/"&LEFT(A2,2)&"/"&RIGHT(A2,2))*1
或者你可以放弃+0和前面的添加 - 在它之前(它应该都是相同的。
=--(MID(A2,4,2)&"/"&LEFT(A2,2)&"/"&RIGHT(A2,2))
答案 1 :(得分:6)
正如Ed已正确回答,这是因为它将您的日期字符串视为数字。
但是,Excel必须解释字符串才能获得它真正的数字,并且这样做依赖于区域设置。 在美国的区域设置下,您的公式非常有效,但是当我使用英国区域设置将其插入Excel时,我得到了#Value,因为" 04/21/16"不是英国的有效日期或号码。
为了避免这个问题,您应该使用DATE()函数将其转换为日期,无论您的区域设置如何,都可以使用该函数。
=DATE(RIGHT(A2,4),MID(A2,4,2),LEFT(A2,2))