我已经搜索了大约一个小时关于如何在Excel中做到这一点。
我有一个从旧系统创建的Excel文件,我正在从SQL Server数据库中提取信息,我将把信息输入到SQL Server数据库中,并希望日期匹配。
我尝试创建自定义格式,但我甚至不确定我是否做得正确。我发现有几个地方他们想从另一条路mm/dd/yyyy
到yyyymmdd
,但他们并没有提供帮助。
我不熟悉在任何Microsoft产品中使用VBA,否则我相信这将是一项简单的任务。
我有两个单独的列需要更改。
如何将整个列从(float)
**yyyymmdd格式化为(Date)
**mm/dd/yyyy
发布于 2012-10-25 03:19:55
您可以在单元格旁边使用如下公式将该值转换为日期:
=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
只需突出显示您想要修复的任何单元格,然后运行代码。
注意,正如RJohnson在注释中提到的,如果您选择的一个单元格为空,则此代码将出错。您可以在c.value上添加一个条件,以便在为空时跳过更新。
发布于 2012-10-25 03:33:55
你有你所说的数据行(水平)还是列(垂直)?
如果是后者,您可以使用"Text to columns“功能将整个列”就地“转换-这样做:
选择column > Data > Text to columns > Next > Next >在"column data format“下选择"Date”,从下拉菜单>“Finish”中选择“YMD
....otherwise您可以使用以下命令转换公式
=TEXT(A1,"0000-00-00")+0
和格式为所需的日期格式
发布于 2012-10-25 03:20:32
这是一个简单的版本:
假设您在单元格A1中有一个您所描述的格式的日期。例如:19760210
。
然后这个公式会给出你想要的日期:
=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)).
在我的系统(Excel2010)上,它可以处理字符串或浮点数。
https://stackoverflow.com/questions/13056051
复制相似问题