SuperSheet

Fix Inconsistent Date Formats in Excel

By Mark Fulton · 2026-09-09 · 12 min read

Fix Inconsistent Date Formats in Excel

A column of messy dates is almost always one of two problems, and they need opposite fixes. If the values are real dates that are just displayed differently, select the column, press Ctrl+1 and apply one date format. Nothing else is needed. If the values are text that looks like dates, no amount of formatting will touch them, and you have to convert them with Text to Columns, DATEVALUE, or Power Query. Tell the two apart in five seconds: real dates sit hard against the right edge of the cell, text dates sit against the left. The nasty third case is a column that is half and half, which usually means some rows were silently converted with the day and month swapped, and that one has no automatic fix.

Most of the time people lose is spent applying the wrong repair to the right problem. So diagnose first.

Is your column text or real dates?

Three tests, in the order they take least time. Run all three before touching anything, because the third one catches a case the first two miss.

Test 1: look at the alignment. Click nothing, change nothing, just look. In a cell with default alignment, Excel pushes numbers and dates to the right and text to the left. Microsoft states it plainly in its own troubleshooting page: if your date is aligned to the right, it is a date, and if it is aligned to the left, it is text. The one thing that breaks this test is a column where someone has manually set the alignment, usually by centering the whole thing to make it look tidy. If the alignment has been touched, clear it back to General alignment first, or skip to test 2.

Test 2: =ISNUMBER(A2). Put it in a spare column next to the first date and fill it down the whole range. Every real date returns TRUE, because a real date is a number underneath. Every text date returns FALSE. This is the test that survives manual alignment.

Test 3: =SUM(A2:A1000) and =COUNT(A2:A1000). Adding up dates produces a meaningless number, and that is the point. SUM only adds numeric values and COUNT only counts them, so the size of the answer tells you how much of the column is real. This is the test that finds the mixed column, because a scroll down 900 rows will not.

Now map the results:

What the tests say What you actually have The repair
Right-aligned, ISNUMBER all TRUE, COUNT equals your row count Real dates, inconsistent display only Apply one date format to the column. No conversion.
Left-aligned, ISNUMBER all FALSE, SUM returns 0 The whole column is text Convert it: Text to Columns, DATEVALUE, or Power Query with a locale
Mixed alignment, ISNUMBER returns both, SUM is non-zero but COUNT is lower than your row count Part of the column converted on import and part did not No automatic answer. See the ambiguity section below before you convert anything.

That third row is the one worth slowing down for. A SUM that returns zero is good news, oddly, because it means the column is uniformly broken and one operation fixes all of it. A COUNT of 640 in a 1,000-row column means Excel already made 640 decisions on your behalf, and you do not yet know whether they were the right ones.

Why does changing the format do nothing?

Because a number format is a display instruction applied to a value, and text has no value for it to apply to.

Underneath, Excel stores a date as a serial number counting days from a fixed start point. In the default system, January 1, 1900 is serial number 1 and January 1, 2008 is serial number 39448, which is why =DATEVALUE("1/1/2008") returns 39448. A date format is a rule for turning 39448 into 1/1/2008 or 01-Jan-08 or 2008-01-01 on screen. Change the rule and the display changes instantly.

The string "1/1/2008" sitting in a cell as text has no serial number behind it. Pressing Ctrl+1 and choosing Date sets a display rule for a value that is not there, so the cell keeps showing exactly the characters it always showed. Nothing errors, nothing warns you, and it looks like Excel ignored you. It did not. There was nothing to format.

This is the same failure that makes numbers-stored-as-text refuse to sum, and it is on the pre-send checklist for the same reason. Once the values are real, the display side is straightforward, and the format code grammar behind it is covered in the number formatting guide.

How do you convert text dates to real dates?

Three routes. Pick by how often the file comes back.

Text to Columns, for a one-off column. Select the column by its header, then Data > Text to Columns. Click Next twice to skip past the delimiter screens, and on Step 3 of 3, under Column data format, select Date and choose the order that matches your data, then Finish. The order dropdown is the whole point of this method and it is the step people skip. Choose the order the data is written in, not the order you want to see. If the export writes 31/07/2026, you pick DMY even if you want US display afterwards. Get that backwards and Excel will either reject the row or, worse, accept it as the wrong date. This method also strips the leading spaces that stop conversion in the first place. It writes back over the column you selected, so copy the original to a spare sheet first. The wider tour of that wizard, including how it overwrites columns to the right, is in the Text to Columns walkthrough.

DATEVALUE, when you want to see the conversion before you commit. In a blank cell formatted as General, enter =DATEVALUE(A2) and fill down. Each result is a serial number, which is the honest output and lets you spot failures immediately: a #VALUE! means that row did not parse. Then copy the serials, select the original text cells, and use Paste Special > Values before applying a date format. That is Microsoft's documented sequence. Two things to know. DATEVALUE reads the text using your computer's date settings, so the same formula on the same file gives different answers on a US laptop and a UK one. And if the year is missing from the text, it fills in the current year from your machine's clock, silently.

Power Query, when the file will come back next month. Load the data, then in the query editor right-click the column heading, choose Change type, and then Using locale. Pick Date as the type and pick the locale the data was written in, for example English (United Kingdom) for 31/07/2026. This is the only one of the three where the rule is stored. Next month's file gets the same treatment on refresh without you remembering anything, which matters more than the ten minutes it costs to set up.

One more path worth knowing: if your text dates have two-digit years, Excel's own error checking may already have flagged them with a green triangle in the corner of the cell, and the error button offers Convert XX to 20XX directly. That only appears when background error checking is on, under File > Options > Formulas, with the rule for cells containing years represented as 2 digits enabled.

What do you do with day/month ambiguity?

You go and find evidence, because the file does not contain any.

03/04/2026 is March 4 and it is 3 April. Both readings are valid, both are common, and nothing inside the cell distinguishes them. No tool can resolve this by looking at one value, including ours. What can resolve it is the rest of the column.

Sort the column as text and look for any value where the first number is greater than 12. If you find 26/09/2016 anywhere, the export writes day first, and every ambiguous row in the same file is day first too. If you find 09/26/2016, it is month first. That one row settles the whole column. If no value in the column exceeds 12 in either position, the file genuinely cannot tell you, and the only correct move is to ask whoever produced it, or re-export it with an unambiguous format.

Now the mixed column, which is the case that ruins afternoons. It happens like this. A CSV lands with dates written day-first. Your machine is set to month-first. Excel reads every row, converts the ones it can parse as month-first, and leaves the rest as text. So 26/09/2016 stays text, because there is no month 26. But 10/05/2016 parses cleanly as October 5, when the source meant 10 May. Half the column is now real dates carrying the wrong meaning, and the other half is text carrying the right meaning. The tests above show it as mixed alignment with a COUNT well below the row count.

The converted rows are the damaged ones, not the leftovers. If you know the source was day-first, the rows Excel converted are exactly the rows where day and month need swapping, and you can rebuild them: =DATE(YEAR(A2),DAY(A2),MONTH(A2)) reads the parts back out and puts them in the right slots. The rows that stayed as text convert normally. That works, but it is reconstruction, and it fails silently on any row where both numbers were 12 or under and the source really did mean the month first.

Which is why the honest answer is to throw the import away and do it again with the locale set correctly, and only reconstruct when the original file is genuinely gone.

Which display format should you standardize on?

yyyy-mm-dd, for anything that leaves your machine.

It is the one ordering with no second reading. 2026-04-03 is April 3 to a reader in Chicago and to a reader in Manchester, because year-month-day is not a regional convention anybody uses ambiguously. It is also the format the interchange standards settled on: the internet timestamp profile in RFC 3339 puts the full four-digit year first, then month, then day, for exactly this reason. It sorts correctly even when something downstream treats it as a string, which is a real advantage the moment your file reaches a database or a script.

Apply it as a custom format code and the underlying values stay untouched, so nothing about your formulas changes. For a document a specific team reads and nobody exports, a written month like 3 Apr 2026 is also unambiguous and easier on the eye. The rule that matters is not which format you pick but that the column has one.

How do you stop the next import breaking again?

Stop double-clicking the CSV.

Opening a .csv directly hands the parsing decision to your regional settings before you get a say. Microsoft's own import documentation says it outright: when Excel opens a .csv file it uses the current default data format settings to interpret each column, and the example it gives is a file written MDY landing on a machine set to YMD. That is the entire root cause of the mixed column, one double-click before anyone has seen the data.

Import it instead. On the Data tab, in the Get & Transform Data group, choose From Text/CSV, which routes the file through Power Query and lets you set the type and the locale per column before a single value is written to a sheet. Same file, same machine, right answer, and the rule survives to the next refresh.

Then ask for the format upstream. Anyone generating an export can usually be persuaded to emit yyyy-mm-dd, and it costs them one setting. That is a much better use of a message than the fifteenth time you fix the column by hand.

That is also the thinking behind our own CSV to Excel converter: it reads the whole column before it decides the type, rather than committing on the first row, and it shows you what it inferred so you can disagree. The spreadsheet cleaner does the same for numbers-as-text and stray whitespace. What it will not do is guess for you on a genuinely ambiguous column, because guessing quietly is how the problem started.

Common questions

Why won't Excel change my date format?

Because the cells contain text, not dates. A number format is a display rule for a numeric value, and text has none, so the format applies to nothing and the cell looks unchanged. Confirm with =ISNUMBER() on one cell. If it returns FALSE, convert the values first with Text to Columns, DATEVALUE, or Power Query, and format them afterwards. The other, rarer cause is that the cell itself is formatted as Text, in which case anything you type in stays a string. Set the cell format to General first, then re-enter the value.

How do I convert dd/mm/yyyy to mm/dd/yyyy safely?

If the values are already real dates, this is purely a display change: select the column, press Ctrl+1, and pick a format in the order you want. The stored values do not move, so nothing can break.

If the values are text, do not try to rearrange the characters. Convert them with Text to Columns, choosing DMY on Step 3 so Excel reads them the way they were written, then apply the mm/dd/yyyy display format after conversion. Reading order and display order are separate decisions, and treating them as one is how columns get scrambled. Before you start, check that no row in the column has a first number above 12, which would tell you the file is not uniformly dd/mm/yyyy at all.

What's the safest date format for a shared file?

yyyy-mm-dd. It reads the same in every country, it sorts correctly whether it is treated as a date or as a string, and it matches the ordering used by the internet date standards. If the audience is small and local, a written month such as 3 Apr 2026 is equally unambiguous. Avoid all-numeric slash formats in anything crossing a border, and avoid two-digit years entirely: Excel interprets 00 through 29 as 2000 to 2029 and 30 through 99 as 1930 to 1999, which is a cliff your data will eventually walk off.

Why do dates turn into five-digit numbers?

Because you are seeing the stored value with no date format on top of it. Dates are serial numbers counting days from a start point, and General format shows the number as it is. It usually happens after a paste, a formula, or a Clear Formats, all of which can strip the format while leaving the value intact. The fix is to select the cells and choose Short Date or Long Date from the Number Format box on the Home tab. Nothing is lost, and the number was never wrong.

There is a related case worth knowing. Excel supports two date systems, and while current versions all default to the 1900 system, older Mac workbooks used a 1904 system whose serial numbers are 1,462 days lower for the same date, which is four years and one day. If dates pasted between two workbooks come out roughly four years off, that mismatch is the reason, and the setting lives under File > Options > Advanced.


SuperSheet is a free set of spreadsheet formatting, CSV conversion, and cleanup tools. Your file never leaves the browser.