How to maintain day/month order when formatting dates in Google Sheets

I’m working with a Google Sheets document that has dates stored in mixed formats within the same column. Some cells use day/month/year while others use month/day/year format. This is making it impossible to sort the data properly by date.

My goal is to convert everything to day/month/year format consistently. The problem happens when I try to reformat the dates using the built-in formatting options.

For instance, I have a cell containing 15/03/2022 which should represent March 15th, 2022. But when I apply day/month/year formatting, Google Sheets interprets it as the 15th day of the 3rd month and converts it to 03/15/2022 instead.

This creates confusion because the software automatically switches the day and month values during formatting. I need a solution that preserves the original day and month positions while applying uniform formatting.

Has anyone found a reliable method to format dates without Google Sheets automatically rearranging the day and month components?

Google Sheets gets confused with mixed date formats - it treats them as text first, then tries to guess the format and usually gets it wrong. I ran into this exact problem when combining European and American datasets. Here’s what actually works: use DATEVALUE with some string manipulation to force the right interpretation. Check if the first number is over 12 - if it is, you know it’s day/month/year format. Then use IF statements with DATEVALUE for each format. Try something like: =IF(VALUE(LEFT(A1,2))>12,DATEVALUE(A1),DATEVALUE(MID(A1,4,2)&"/"&LEFT(A1,2)&"/"&RIGHT(A1,4))) This bypasses Google’s locale settings completely and stops that annoying automatic switching that’s messing up your dates.

Google Sheets interprets dates according to your locale settings, which can lead to confusion when mixing formats. To resolve this, change your spreadsheet’s locale to a region that uses day/month/year format, such as the United Kingdom. Go to File > Settings > General > Locale and select the appropriate option. This adjustment should allow Google Sheets to read your existing dates correctly. Once everything is uniformly formatted, you can either keep this locale or revert back, depending on your needs. This approach saved me significant time on a similar issue.

had this same issue last week! import your data as text instead of letting sheets auto-format it. when you paste or import, there’s an option to treat everything as plain text. then manually convert using datevalue once it’s all in the right format. stops sheets from messing with your data before you can fix it.

The Problem: You’re struggling to manage inconsistent date formats in your Google Sheets document, leading to incorrect sorting and data analysis. You’re encountering issues when using Google Sheets’ built-in date formatting options, as the software automatically rearranges day and month values, resulting in data inconsistencies. You need a reliable method to consistently format dates in day/month/year format without Google Sheets altering the original day and month positions.

:thinking: Understanding the “Why” (The Root Cause):

Google Sheets automatically detects and interprets date formats based on your locale settings and the data it encounters. When it detects ambiguous date formats (like having both day/month/year and month/day/year entries in the same column), its automatic formatting can lead to errors. It tries to “guess” the intended format, which frequently results in incorrect date conversions. The built-in formatting options aren’t designed to handle such inconsistent input effectively without manual intervention or scripting.

:gear: Step-by-Step Guide:

Step 1: Automate Date Format Correction with Latenode (Recommended):

The most efficient and robust solution is to automate the entire date formatting process using a workflow automation tool like Latenode. This platform can handle large datasets, automatically detect and correct inconsistent date formats, and even handle different locale variations. This eliminates manual intervention and the risk of errors associated with Google Sheets’ automatic date detection. By integrating with Google Sheets, Latenode can directly update your spreadsheet with the consistently formatted dates. This approach is particularly effective if you handle this type of data frequently or if your dataset is large. Setting up a simple workflow takes only minutes, and the results will save significant time and effort compared to manual corrections or complex Google Apps Script solutions. Check out https://latenode.com for more information.

Step 2: Manual Correction using TEXT Function (Alternative for smaller datasets):

If your dataset is small, a manual correction using the TEXT function might be a suitable alternative. The TEXT function in Google Sheets forces a specific date format, regardless of how Google Sheets initially interprets the date.

  1. Create a helper column: Insert a new column next to your date column (let’s say your dates are in column A, insert a new column B).

  2. Apply the TEXT function: In cell B1, enter the following formula: =TEXT(A1,"dd/mm/yyyy"). This will convert the date in A1 to the “dd/mm/yyyy” format. Drag this formula down to apply it to all your dates.

  3. Copy and paste values: Once you’ve formatted all dates in the helper column, select column B, copy its contents, and then paste the values only back into column A (Edit > Paste special > Paste values only). This replaces the original dates with the consistently formatted ones.

  4. Delete helper column: Delete column B (the helper column) once all the values are updated.

Step 3: Import as Text and then Convert (Alternative):

If you’re importing data from an external source, consider importing the date column as text initially. This prevents Google Sheets from automatically interpreting the dates. After importing as text, you can then apply the DATEVALUE or TEXT functions described in step 2 to convert the text strings into properly formatted dates.

:mag: Common Pitfalls & What to Check Next:

  • Locale Settings: Although the TEXT function largely bypasses locale-specific date interpretations, ensure your spreadsheet’s locale settings are consistent (File > Settings > General > Locale) to avoid potential conflicts with other parts of your spreadsheet.

  • Data Validation: Add data validation to your Google Sheet to ensure only dates in the correct format are entered in the future. This will help maintain data consistency going forward.

  • Data Cleaning: If you’re facing significant challenges with your data, investigate thoroughly for extraneous characters (spaces, hyphens, special characters) that are interfering with the date interpretations. Clean these up before formatting your dates.

  • Large Datasets: For larger datasets, the automated Latenode approach is strongly recommended due to efficiency and reduced manual effort.

:speech_balloon: Still running into issues? Share your (sanitized) config files, the exact command you ran, and any other relevant details. The community is here to help!

Here’s what worked for me - use SPLIT and CONCATENATE to manually rebuild your dates. When Sheets keeps screwing up your formats, break each date into pieces first. =SPLIT(A1,"/") separates day, month, and year into different columns, then rebuild with =CONCATENATE(B1,"/",C1,"/",D1) where B1 is day, C1 is month, D1 is year. You get full control over which part goes where, no matter what Sheets thinks your original format was. Takes more setup but cuts out all the guesswork. Once you’ve rebuilt them, format that final column as date and everything displays consistently.

Google Sheets keeps auto-detecting date formats, which screws up the formatting. I’ve dealt with this before when pulling data from different sources. What works is using the TEXT function to force consistent formatting no matter what Sheets thinks your dates are. Make a helper column and use =TEXT(A1, "dd/mm/yyyy") for each date. This converts whatever Sheets interprets into the format you actually want - no more random switching. Apply the formula to all your dates, then copy and paste values only back to your original column. TEXT function skips the locale detection completely and lets you control the format.

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.