我在列中有一个大型的导入的csv文件,其中包含美国日期。我想使用代码将这些日期更改为英国格式(dd/mm/yyyy)。问题在于美国日期采用"mm/dd/yyyy""m/dd/yyyy"格式-后者不响应excel中的任何“可点击”选项-包括“文本到列”过程。是否有代码在相邻列中运行时会进行转换?

最佳答案

您也可以很容易地使用TEXT()函数(注意:源数据必须是excel日期值)

TEXT(value, format_text)


其中value是参考单元格,而format_text是您要设置文本格式的方式-在您的情况下为dd / mm / yyyy。

假设:

A1 = 3/17/2013
A2 = 12/27/2013


在B1和B2中,只需输入:

B1 = TEXT(A1, "dd/mm/yyyy")
B2 = TEXT(A2, "dd/mm/yyyy")


结果应该是

     A              B
3/17/2013      17/03/2013
12/27/2013     27/12/2013


希望能有所帮助。

如果使用文本,则建议更新:

使用mid()left()right()函数拆分字符串,然后使用LEN()函数检查月份mm是1还是2个字符长。最后,使用&和/运算符将字符串连接在一起。

尝试将此粘贴到B1中,它应该可以正常工作:

=MID(A1,FIND("/",A1,1)+1,2)&"/"&IF(LEN(LEFT(A1,FIND("/",A1)-1))=1,0&LEFT(A1,FIND("/",A1)-1),LEFT(A1,FIND("/",A1)-1))&"/"&RIGHT(A1,4)

09-10 04:36
查看更多