Vba Excel上的宏或公式以标准化日期

Vba Excel上的宏或公式以标准化日期,vba,excel,date,Vba,Excel,Date,我真的需要帮助。我一直在寻找一个答案很长时间,但没有找到它。 在我的工作中,我需要使用每行上的日期在Excel上对表格进行排序。问题是我使用的电子表格有不同的日期布局,如下所示 2/13/2017 4:43:02 AM (M/DD/YYYY) 02/11/2017 05:05 (DD/MM/YYYY) 我不能这样分类,因为它总是读错。我需要做的是分割单元,然后连接它们,但这会造成很多麻烦 您能帮我检查一下是否有任何方法可以使用宏或至少使用公式自动执行此操作吗?发生这种情况是因为您得到的输出日期

我真的需要帮助。我一直在寻找一个答案很长时间,但没有找到它。 在我的工作中,我需要使用每行上的日期在Excel上对表格进行排序。问题是我使用的电子表格有不同的日期布局,如下所示

2/13/2017 4:43:02 AM (M/DD/YYYY)
02/11/2017 05:05 (DD/MM/YYYY)
我不能这样分类,因为它总是读错。我需要做的是分割单元,然后连接它们,但这会造成很多麻烦


您能帮我检查一下是否有任何方法可以使用宏或至少使用公式自动执行此操作吗?

发生这种情况是因为您得到的输出日期是文本格式,而不是日期格式。以下是解决案例的技巧,以mm/dd/yyyy hh:mm格式获得输出。您可以将格式更改为所需的格式

如果文本日期在列中,则公式为-

=DATE(MID(A3,SEARCH("/",$A3,SEARCH("/",$A3,1)+1)+1,4),LEFT(A3,SEARCH("/",A3,1)-1),MID($A3,SEARCH("/",$A3,1)+1,SEARCH("/",$A3,SEARCH("/",$A3,1)+1)-SEARCH("/",$A3,1)-1))+TIME(HOUR(RIGHT(A3,LEN(A3)-SEARCH(" ",A3,1))),MINUTE(RIGHT(A3,LEN(A3)-SEARCH(" ",A3,1))),SECOND(RIGHT(A3,LEN(A3)-SEARCH(" ",A3,1))))


希望这有帮助。如果满意,费率为:)

只有这两种格式吗?你怎么知道第二个是
DD/MM/YYYY
?第一个显然是
M/DD/YYYY
,因为没有第13个月,但是你怎么知道它是
DD/MM
?因为它的时间是
xx:xx
,而不是
xx:xx:xx am/pm
?嗨,布鲁斯,我知道这一点,因为当我尝试格式化日期时,它显示了差异。我试着在两个页面上都使用dd/mmm/aa格式。下面是结果2017年2月13日4:43:02 AM 2017年11月2日TKS使用该格式显示Excel将第二个存储为日期,但将第一个存储为字符串。您是否从CSV文件(或类似文件)中读取此数据,该文件已将其所有日期存储为mm/dd/yyyy格式?如果是这样的话,第二个日期可能应该是2017年2月11日(因为它在文件中是“02/11/2017”),但Excel假设我们的dd/mm/yyyy日期格式意味着它是2017年11月2日,因此出错。如果我们知道这些日期是如何进入你的文件的,我们也许能够提出一种更好的方法来把它们放到你的文件中,从而避免出现问题。它叫SiebelHi,Tks for your time=)我面临一个问题,说我对这个公式有问题。你能帮我找出哪里不对吗?嘿,你能给我看看公式吗?我不确定它为什么会出现错误。确定这里是=日期(中(A3,搜索(“/”,$A3,搜索(“/”,$A3,1)+1,4),左(A3,搜索(“/”,A3,1)-1),中($A3,搜索(“/”,$A3,1)+1,搜索(“/”,$A3,1)+时间(小时(右(A3,LEN A3,LEN A3)-搜索(“,A3,1)),分钟(右(A3,LEN A3),LEN(A3)-搜索(“,$A3,1)),秒(LEN,A3,1)))哦,对不起,哈哈,它说“我们发现这个公式有问题。请尝试单击“公式”选项卡上的“插入函数”来修复它…”它甚至不允许我快速插入它=/很少事情-您的Excel版本(我的版本是2016),您使用的是Excel还是csv