我正在尝试将一个长度为5或6个字符的文本字符串插入日期,方法是插入/找到正确的位置。我很难获得excel来做到这一点。
我尝试使用谷歌搜索,我尝试使用Cdate或
=IF(LEN(A1)=5,DATE(RIGHT(A1,2),LEFT(A1,1),MID(A,2,2)),0)
但他们没有返回正确的日期,因为它假设数据已经是正确的日期。这似乎应该如此简单。没有使用excel非常简单,你只需输入2个点中的/就可以转换为正确的日期。
例如,我可能在A1中有一串文字,如:
80715
80715
80715
122515
122515
122515
我想要发生的是:
8/07/15
8/07/15
8/07/15
12/15/15
12/15/15
12/15/15
我正在考虑做的事情(如果没有更简单的解决方案)是让用户先输入日期,然后填写范围,即:
Dim Input1 As Date
Input1 = InputBox("Please Enter the Date", "Input1", 0)
Range("A1").Value = Input1
但肯定有一种更简单的方法吗?请帮助我超越天才。
答案 0 :(得分:3)
试试这个公式:
'仅限字符串:
=LEFT(RIGHT("0"&A1,6),2) & "/" & MID(RIGHT("0"&A1,6),3,2) & "/" & RIGHT(RIGHT("0"&A1,6),2)
'as date:
=DATEVALUE(LEFT(RIGHT("0"&A1,6),2) & "/" & MID(RIGHT("0"&A1,6),3,2) & "/" & RIGHT(RIGHT("0"&A1,6),2))
答案 1 :(得分:2)
您可以使用值的长度来确定当月使用的数量以及开始提取当天的位置:
=DATE(2000+RIGHT(A1,2),LEFT(A1,LEN(A1)-4),MID(A1,LEN(A1)-3,2))
这适用于2000年或更晚的日期,因为您的字符串值仅包含年份的两位数。
由于这会返回日期值,因此请确保将单元格格式化为日期以查看正确的日期字符串。