Skip to main content

I have lots of dates that are setup as numbers in my excel sheet that I am bringing into airtable. I need to change the formatting of the dates while leaving them as numbers in the original column.


Example. 20170112 YYYYDDMM I need it converted to 12-01-2017 MM-DD-YYYY


I usually convert it using the following excel formula:


=DATE(LEFT(CELL1,4),MID(CELL1,5,2),RIGHT(CELL1,2))


Thanks for any help you can provide.

I first collect the Day-Month-Year in seperate fields, just for making it visual.

You start off with a number


It is not a date, and when you check that with a formula DATETIME_FORMAT(NR,‘MM-DD-YYYY’) you will get an error message.


So let’s just split the date into 3 parts, like you described yourself:



DAY(MID(NR,5,2))

MONTH(RIGHT(NR,2))

YEAR(LEFT(NR,4))


Now you can use CONCATENATE() to collect the 3 into a datestring:

CONCATENATE(Month,"-",Day,"-",Year)



And then use the formula DATETIME_FORMAT(DateComp,‘MM-DD-YYYY’) to actually create a datefield


When you check the date now, for example with finding the WEEKDAY(Date) it will actually show you the weekday.


You have a date!


I first collect the Day-Month-Year in seperate fields, just for making it visual.

You start off with a number


It is not a date, and when you check that with a formula DATETIME_FORMAT(NR,‘MM-DD-YYYY’) you will get an error message.


So let’s just split the date into 3 parts, like you described yourself:



DAY(MID(NR,5,2))

MONTH(RIGHT(NR,2))

YEAR(LEFT(NR,4))


Now you can use CONCATENATE() to collect the 3 into a datestring:

CONCATENATE(Month,"-",Day,"-",Year)



And then use the formula DATETIME_FORMAT(DateComp,‘MM-DD-YYYY’) to actually create a datefield


When you check the date now, for example with finding the WEEKDAY(Date) it will actually show you the weekday.


You have a date!


Thank You That worked for me.


An alternate method is to use the function DATETIME_PARSE

In your case, you’d put:

DATETIME_PARSE(NR,'YYYYDDMM')

Which will give you the date, formatted by default as M/D/YYYY h:mm a according to the documentation.


An alternate method is to use the function DATETIME_PARSE

In your case, you’d put:

DATETIME_PARSE(NR,'YYYYDDMM')

Which will give you the date, formatted by default as M/D/YYYY h:mm a according to the documentation.


Good you mention that.

Combining PARSE + FORMAT would be:

DATETIME_FORMAT(DATETIME_PARSE(NR,‘YYYYDDMM’),‘MM-DD-YYYY’)


I never used PARSE a lote, but it really is useful!

Thx