Exceldate从yyyymmdd转换为mm / dd / yyyy
我一直在寻找关于如何在Excel中做到这一点的一个小时。
我有一个从旧系统创build的Excel文件,我从SQL Server数据库中提取信息,我将input信息返回到SQL Server数据库,并希望date匹配。
我尝试过创build一个自定义格式,但是我不确定我是否做得正确。 我发现了几个地方,他们想以另一种方式将mm/dd/yyyy
改为yyyymmdd
但是他们没有帮助。
我不熟悉在任何Microsoft产品中使用VBA,否则我相信这将是一个简单的任务。
我有两个单独的列需要更改。
如何格式化(float)
yyyymmdd到(Date)
mm / dd / yyyy的整个列
您可以使用像这样的公式在单元格旁边将值转换为date:
=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))
A1是您需要转换的字段。
或者,您可以在VBA中使用此代码:
Sub ConvertYYYYMMDDToDate() Dim c As Range For Each c In Selection.Cells c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2)) 'Following line added only to enforce the format. c.NumberFormat = "mm/dd/yyyy" Next End Sub
只需突出显示您想要修复的单元并运行代码即可。
你有你说的数据(水平)的行或列(垂直)?
如果是后者,则可以使用“文本到列”function将“整个列”转换为“原位” – 这样做:
select列>数据>文本到列>下一个>下一个>从下拉列表中select“列数据格式”和“YMD”下的“date”
….否则,你可以通过使用公式转换
=TEXT(A1,"0000-00-00")+0
并以要求的date格式格式化
这里是一个裸露的骨头版本:
假设您在所描述的格式中在单元格A1中有一个date。 例如: 19760210
。
那么这个公式会给你你想要的date:
=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)).
在我的系统上(Excel 2010)它可以使用string或浮点数。
将dd/mm/yyyy
转换为mm/dd/yyyy
=DATE(RIGHT(a1,4),MID(a1,4,2),LEFT(a1,2))