In my Excel workbook, I copy some date information from another (text) source. To be able to do calculations with these dates, I use the function \"DATEVALUE\".
Exam
Try the following UDF :
Public Function EngDate(s As String) As Date
Dim dayz As Long, monthz As Long, yearz As Long
ary = Split(LCase(s), " ")
dayz = CLng(ary(0))
yearz = CLng(ary(2))
mnth = Split("january,february,march,april,may,june,july august,september,october,november,december", ",")
For i = 0 To 11
If ary(1) = mnth(i) Then
monthz = CLng(i + 1)
Exit For
End If
Next i
EngDate = DateSerial(yearz, monthz, dayz)
End Function
It will process inputs like:
day as number, single space, month as text, single space, year as a number
You can try this formula:
=DATE(RIGHT(A1;4);MATCH(MID(A1;4;3);{"Jan";"Feb";"Mar";"Apr";"May";"Jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec"};0);LEFT(A1;2))
Date admits arguments always in the order year, month, day
I admit that day values are always 2 digits.
If you dont mind to write the months abrev. in a range then you can get a much more shorter formula.
Depending on your regional settings you may need to replace field separator ";" by ","