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:

  1. Select the range of cells you want to validate.
  2. Go to Data in the top menu and select Data Validation.
Navigate to Data then Data Validation in Google Sheets to validate date formats
  1. In the data validation window, click Add rule.
  2. Go to Criteria and choose Is valid date.
Set criteria to Is valid date in the Google Sheets data validation panel
  1. Select Show a warning and click Done.
Select Show a warning option in Google Sheets data validation 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.

Sample Google Sheets dataset with dates and names to be sorted chronologically
  1. Select the range of data you want to sort, including any header row.
  2. Go to Data in the top menu and click Create a Filter.
Click Data then Create a Filter in Google Sheets top menu
  1. Click the filter icon at the top of the column containing your dates.
Click the filter icon at the top of the date column in Google Sheets
  1. 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.

Multi-column Google Sheets dataset with a date column ready to be sorted using Sort Range
  1. Select the full range of data you want to sort, including headers.
  2. Open the top menu and click Data.
Click the Data option in the Google Sheets top menu to access Sort Range
  1. Click Sort range.
Click Sort range in the Google Sheets Data menu
  1. 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.
Sort Range dialog box in Google Sheets showing sorting rule options by column
  1. Click Sort.
Click the Sort button to apply the sorting rule in Google Sheets Sort Range dialog

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.

Single-column date dataset in Google Sheets ready for SORT function
  1. Click on an empty cell where you want the sorted output to begin.
  2. Type the formula and press Enter:
=SORT(A2:A9,1,TRUE)
SORT formula entered in Google Sheets to sort a single date column in ascending order

The formula takes three arguments:

  1. A2:A9: The range of cells to sort.
  2. 1: Sort by the first (and only) column in that range.
  3. 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.

Multi-column Google Sheets dataset with dates in the first column for SORT function
=SORT(A2:B9,1,TRUE)
SORT formula applied to a multi-column range in Google Sheets sorting by the date column

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.
Spreadsheet fundamentals course banner on SpreadsheetPoint

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.

  1. Add two helper columns to your sheet: one for the day name and one for the day number.
  2. In the day number column, enter the WEEKDAY formula for the first row and press Enter:
=WEEKDAY(D2)
WEEKDAY function in Google Sheets generating a numeric day value from a date cell
  1. Drag the formula down through the rest of the column to populate the entire column with day numbers.
  2. 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")
CHOOSE function in Google Sheets converting WEEKDAY numbers into day name labels
  1. Select your full range of data.
  2. Go to Data in the top menu and click Sort range.
Go to Data then Sort Range in Google Sheets and click Advanced range sorting options
  1. Click Advanced range sorting options.
  2. Check Data has header row if your range includes headers.
  3. Under Sort by, choose the day number column. Sorting by this numeric category keeps the days in the correct Sunday-through-Saturday sequence.
Advanced sorting options in Google Sheets set to sort by the day of week number column
  1. Click Sort.
Google Sheets dataset sorted by day of the week using WEEKDAY and CHOOSE functions

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.

Sort sheet by column option in Google Sheets showing ascending and descending choices

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.

  1. Click any cell in the date column.
  2. 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.

Left-aligned dates in Google Sheets indicating they are stored as text not as date values

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.

DATEVALUE function in Google Sheets returning a serial number for valid dates and an error for text dates

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: