Change date format for column of existing non-US format datetimes in Numbers

numbers

I can't believe I have to ask this, but here I am.

I have a Numbers (Numbers version 6.0 (6194)) sheet with data from an imported CSV file. One column is date/time info, formatted like so:

21.05.2018 12:00

This is the correct date format in the country I am in. My Mac knows this, so I assume Numbers ought to.

I need to get rid of the time from this col. You'd think that would be pretty simple. I select the cells in that col (not including the header, in case that single plain text cell confuses things), then click Format, then Cell, then under Data Format I choose Date & Time. No matter what Date or Time option I choose … absolutely nothing happens. My selected column of dates does not change – the displayed text is in exactly the same format as it started as, as shown above.

I know there isn't, but it is as if there is an "Apply" button I am missing, so my chosen settings aren't actually applied. If I click another cell in the sheet, then back to one of the ones I just tried to format, the Data Format has gone back to Automatic, not whatever I just chose.

Searching for help turns up the official Apple guide which, AFAICT, tells me to do exactly what I am doing.

I also found this old question and answer right here on Stackexchange which seems again to be exactly what I am doing – though the answer suggests that typing in new dates will result in them being formatted as required. Maybe I can't reformat existing dates in the sheet? That makes no sense!

What am I missing?

Edit

I tried adding a new col and using a formula to generate a date without the time:

YEAR($A2)−MONTH($A2)−DAY($A2)

But it just shows an error:

The function “YEAR” expects a date, but cell A2 contains a string.

Best Answer

I suspect your date is simply not in a format Numbers natively recognizes. To test this failure-mode and see the same symptom, try typing in something else it may not recognize, like 999999999999, and set it to a date format. Again, it doesn't change, because Numbers doesn't want to assume how to parse it, and risk outputting incorrect values.

A solution is to pre-parse the input by field. Here's a demo using MID to extract the year, month, and date fields by their position in the string, and hand them off to the DATE function.

=DATE(MID($A2,7,4),MID($A2,4,2),MID($A2,1,2))

screenshot of the above formula in action