Sorting by date in Google Sheets is simple when your data is clean. When it is not, dates that look perfectly formatted will sort wrong, and the cause is almost always the same: the date is stored as text, not as a date data type that Google Sheets recognizes as a number.
This guide covers every sorting method, how to validate your data before you start, and how to fix broken dates when they refuse to cooperate.
How to Validate Your Date Data First
Before sorting anything, confirm that every cell in your date column contains a real date value rather than a text string. Skipping this step is the most common reason date sorting produces unexpected results.
Here is how to run a data validation check:
- Select the range of cells you want to validate.
- Go to Data in the top menu and select Data Validation.

- In the data validation window, click Add rule.
- Go to Criteria and choose Is valid date.
- Select Show a warning and click Done.
Any cell that fails validation will display a warning indicator. Fix those before proceeding with any sort.
How to Sort by Date in Google Sheets Using Filters
Filters give you a quick way to sort any range of data in ascending or descending chronological order without altering your sheet structure permanently.

- Select the range of data you want to sort, including any header row.
- Go to Data in the top menu and click Create a Filter.
- Click the filter icon at the top of the column containing your dates.

- Select Sort A to Z for ascending order (oldest date first) or Sort Z to A for descending order (newest date first).
The entire dataset will re-sort based on the date column, keeping each row’s data together.
How to Sort by Date Using the Sort Range Option
Sort Range is the best option when you need a one-time static sort and do not need the result to update dynamically. It rearranges your actual data in place rather than producing a separate output.
If you might need to return to the original order, make a backup copy of the tab before you proceed.

- Select the full range of data you want to sort, including headers.
- Open the top menu and click Data.

- Click Sort range.
- Click Advanced range sorting options. In the Sort range dialog box:
- Check Data has header row if your range includes a header. Leave it unchecked if it does not.
- Under Sort by, choose the date column from the dropdown.
- Select A to Z for oldest to newest, or Z to A for newest to oldest. This is the sorting rule that controls the order.

- Click Sort.

Your data sorts immediately. The number of rows in your dataset does not change; only the order changes.
You can also add a second sorting rule if you want to sort by a secondary column when dates are identical. Click Add another sort column in the same dialog.
Related: How to Change the Date Format in Google Sheets
How to Sort by Date Using the SORT Function
The SORT function takes your original range of data and outputs a sorted version in a separate location. Unlike Sort Range, the result is dynamic: when your source data changes, the sorted output updates automatically.
This is the right approach when your data is live or updated regularly.
SORT Function Syntax
SORT(range, sort_column, is_ascending, [sort_column2, is_ascending2, ...])
- range: The range of data to sort. This can be a single column or a multi-column range of cells.
- sort_column: The column number within the range to sort by. For example, if your range is A2:B9 and your date column is column A, the value here is 1. If your date is in column B of the range, use 2.
- is_ascending: TRUE sorts in ascending order (oldest to newest). FALSE sorts in descending order.
- sort_column2, is_ascending2 [OPTIONAL]: Add additional columns and sort directions if you want to apply a secondary sorting rule.
Sorting a Single Date Column
Suppose you have a list of dates in A2:A9 and want to sort them in chronological order.

- Click on an empty cell where you want the sorted output to begin.
- Type the formula and press Enter:
=SORT(A2:A9,1,TRUE)

The formula takes three arguments:
- A2:A9: The range of cells to sort.
- 1: Sort by the first (and only) column in that range.
- TRUE: Sort in ascending order, oldest date first.
Sorting Multiple Columns by Date
If your range of data has multiple columns and dates are in one of them, the SORT function sorts the entire dataset based on the date column while keeping each row intact.

=SORT(A2:B9,1,TRUE)

A few things to keep in mind with SORT:
- The cells where the output lands must be empty. If any cell in the output area already has data, Google Sheets will return an error and tell you why.
- Because this is an array formula, you cannot edit individual cells in the output range. If you need to make changes, convert the formula output to values first.
- If you want to sort by multiple columns, add additional sort_column and is_ascending arguments to the formula.

Related: SORT Function in Google Sheets: Full Guide
How to Sort Dates by Day of the Week
If you need to group and sort by day of the week rather than chronological order, use the WEEKDAY function to generate a numeric category for each date, then sort by that number.
- Add two helper columns to your sheet: one for the day name and one for the day number.
- In the day number column, enter the WEEKDAY formula for the first row and press Enter:
=WEEKDAY(D2)

- Drag the formula down through the rest of the column to populate the entire column with day numbers.
- In the day name column, enter the CHOOSE formula to convert the number into a readable label:
=CHOOSE(WEEKDAY(D2),"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")

- Select your full range of data.
- Go to Data in the top menu and click Sort range.
- Click Advanced range sorting options.
- Check Data has header row if your range includes headers.
- Under Sort by, choose the day number column. Sorting by this numeric category keeps the days in the correct Sunday-through-Saturday sequence.
- Click Sort.

Your data is now sorted by day of the week. You can hide the helper columns if you do not want them visible in the final sheet.
How to Sort a Single Column by Date
If you only need to sort the date values in one column without affecting the rest of the sheet, use the Sort sheet by column option.
First, confirm that every cell in that column contains a valid date data type (not text). You can do this with Data > Data Validation > Is valid date as described above. It also helps to freeze the header row at the top of the column so it stays in place during the sort.
- Click any cell in the date column.
- Go to Data in the top menu, then select Sort sheet by column X.
- A to Z sorts from the earliest date to the latest.
- Z to A sorts from the latest date to the earliest.
This approach sorts the entire sheet based on the values in that column. If you only want to sort a subset of rows, use Sort Range instead and specify the exact range of cells.
You can also sort by multiple columns if you need a secondary sort applied after the date column.
How to Fix Dates Stored as Text in Google Sheets
If your dates are sorting incorrectly, the most likely cause is that they are stored as text rather than as a date data type. Google Sheets treats dates as serial numbers behind the scenes. For example, January 1, 2020 is stored as 43831. When a date is stored as text, Google Sheets cannot convert it to that number, so it sorts it like any other string.
There are two quick ways to diagnose this.
Check the Alignment
By default, Google Sheets right-aligns dates and left-aligns text. If the values at the top of the column are left-aligned, they are almost certainly stored as text.

Use the DATEVALUE Function
Enter =DATEVALUE(A2) in an adjacent column, where A2 is the cell you want to check. If it returns a number, the date is valid. If it returns an error, Google Sheets cannot parse it as a date.

Run DATEVALUE down the entire column to identify every cell with a broken date. Any error means that cell needs to be fixed before sorting.
How to Convert Text Dates to Real Dates
Once you have identified which cells contain text dates, here are the most reliable ways to fix them.
Option 1: DATEVALUE formula
Use =DATEVALUE(A2) in a helper column to convert a text date to its serial number, then format the result as a date. Copy the helper column, paste as values only, and delete the original column.
Option 2: Find and replace
If your dates use a separator Google Sheets does not recognize (such as a period in 01.15.2024), open Find and Replace with Ctrl+H (Cmd+H on Mac), search for the separator character, and replace it with a slash or hyphen that Google Sheets does recognize. Press Enter to confirm and re-check the column alignment.
Option 3: Paste as values with correct locale
Copy the text dates, paste them into a blank column using Paste Special > Values only, and then use Format > Number > Date to apply a date format. If the data type changes and the values right-align, the conversion worked.
Common Issues When Sorting by Date in Google Sheets
Dates Are Sorting Alphabetically, Not Chronologically
This is the text date problem described above. Check alignment and run DATEVALUE to confirm. Fix the data type before sorting.
Blank Rows Are Appearing at the Top or Bottom
Google Sheets sorts blank cells to the bottom when sorting A to Z and to the top when sorting Z to A. If blank rows are appearing in unexpected positions, check your selected range. The number of rows included in the sort should match your actual data range exactly, with no extra empty rows selected at the bottom.
Rows Are Getting Mixed Up After Sorting
This happens when you sort a column instead of the full range of data. Always select the entire range of cells that makes up your dataset before applying a sort so that each row stays intact.
The Sort Function Is Returning an Error
The most common cause is that cells in the output area already contain data. Clear the destination range completely before running the SORT formula. The output range needs to be entirely empty or the formula will return a parse error.
Sorting by Date in Google Drive
To sort files by date in Google Drive, click the Last modified header above your file list and choose the sort order from the options that appear.
Which Method Should You Use?
| Method | Dynamic Output | Best For |
|---|---|---|
| Filter Sort | No | Quick one-time sort on a filtered view |
| Sort Range | No | Permanent in-place sort of a static dataset |
| SORT Function | Yes | Live data that updates, or when you need to preserve the original tab |
If your data is live or imported from another source, the SORT function is the right choice. If you just need to clean up a one-time export, Sort Range is faster.
Frequently Asked Questions
Why are my dates not sorting correctly in Google Sheets?
The most common cause is that the dates are stored as text rather than as a date data type. Google Sheets right-aligns real dates and left-aligns text. If your dates are left-aligned, run =DATEVALUE() on a sample cell to check. If it returns an error, the date is stored as text and needs to be converted before sorting will work correctly.
How do I sort by date in Google Sheets without mixing up other columns?
Always select the full range of cells covering your entire dataset before sorting, not just the date column. Then use Data > Sort Range > Advanced range sorting options, check “Data has header row” if applicable, choose your date column as the sort key, and click Sort. This keeps every row intact.
What is the difference between the SORT function and Sort Range in Google Sheets?
Sort Range rearranges your actual data in place. It is a one-time static operation. The SORT function outputs a sorted copy of your data to a separate location and updates automatically when the source data changes. Use Sort Range for one-time cleanup and the SORT function when your data is live or you want to preserve the original order in the source tab.
How do I sort Google Sheets from oldest to newest?
Select your full range of data, go to Data > Sort Range > Advanced range sorting options, choose your date column under Sort by, select A to Z (which corresponds to ascending chronological order), and click Sort. In the SORT function, set is_ascending to TRUE.
How do I fix dates stored as text in Google Sheets?
Use =DATEVALUE(A2) in a helper column to convert text dates to serial numbers, then format the helper column as a date. Alternatively, use Find and Replace to swap out unrecognized separators (like periods) with slashes, which Google Sheets can parse correctly. Once converted, the values will right-align, confirming they are now a valid date data type.
Can I sort by date automatically when new rows are added?
The SORT function handles this automatically. Place it in an empty area of the sheet, point it at your data range, and the output will re-sort whenever the source data changes. If you want the sheet itself to auto-sort on entry, that requires a Google Apps Script macro triggered on edit.
How do I sort by month only in Google Sheets, ignoring the year?
Add a helper column with =MONTH(A2) to extract the month number from each date. Then sort by that helper column using Sort Range or the SORT function. This groups all January entries together, all February entries together, and so on, regardless of the year.
Related:
- How to Sort by Multiple Columns in Google Sheets
- Sort Horizontally in Google Sheets (Sort Columns Left to Right)
- Convert Formulas to Values in Google Sheets
- How to Alphabetize in Google Sheets
- How to Filter by Color in Google Sheets (Using a Formula)
- How to Insert Timestamps in Google Sheets
- How to Add Time in Google Sheets
- How to Change the Date Format in Google Sheets