Excel YEAR Function Not Working: 9 Best Fixes

Reading time icon 8 min. read


Readers help support Windows Report. We may get a commission if you buy through our links. Tooltip Icon

Read our disclosure page to find out how can you help Windows Report sustain the editorial team Read more

Excel YEAR Function Not Working

How can you fix the Excel YEAR function when it’s not working?

It’s one of the easiest ways to extract a year component from a long or short date in Microsoft Excel. However, this function is prone to many errors especially if the source data value isn’t in the right Date format.

So, I’ve recreated some Excel YEAR function issues that you may face. Here are the fixes that worked out for me the best!

How To Fix Excel YEAR Function Not Working

Before you start troubleshooting, ensure you’re using a supported Windows, Mac, or web app. The function is only available in Excel 2016 for Windows and Mac and newer, and the web version. If you’re using any earlier desktop editions, unfortunately, it won’t work.

Choose the Right Function Syntax

The most common mistake is not spelling the function syntax correctly. This causes the entire formula to break down. The Excel warning you get in this situation is the #NAME? error.

Error for incorrect syntax

To avoid spelling issues, you must use the function suggestion as shown on the cell when you type initials after the equals sign.

You can scroll down or up to find the one you need and simply double-click to add it along with the opening parenthesis.

Double-click formula

You can now type the rest of the formula arguments. Refer to the contextual suggestions for the valid arguments just below the cell where you’re typing to avoid flaws in argument construction.

contextual suggestions

Value Isn’t in the Date Format

Here are the possible slip-ups you might make while using the YEAR function:

  • Non-date text values: When the input argument is a text string that Excel can’t recognize as a valid date, you’ll see an error.
  • Blank cells treated as text: If Excel treats a blank cell as a text string, the function will show the #VALUE! error.
  • Date in an invalid format: If you use an unsupported date format, like “21/06/2025,” you’ll get the #VALUE! error.
  • Logical values or arrays: This mistake can happen mostly when the input cell reference of the YEAR function is derived from other Excel basic formulas. If the input is an array that doesn’t contain supported date values or these are logical values, like TRUE or FALSE, you’ll see an error.
  • Non-numeric date values: If you use two thousand twenty-five instead of 2025 as an input, Excel will show the #VALUE! error.
  • The cell contains an error: In this case, the YEAR function shows the #VALUE! error.

For example, this function has broken down because there’s a tilde sign in the referenced cell.

Tilde in date

When I remove the accent sign, it works just fine.

Removed tilde

Custom Date Formats

Another pressing problem with YEAR is its inability to appropriately detect the year value from a custom-formatted date. For example, it’ll work with popular date conventions, like YYYY/MM/DD or MM/DD/YYYY.

However, when you place the function with a DD/MM/YYYY or YYYY/DD/MM format, it fails to isolate the year.

Another way to get the same error is by using the Custom formatting category from the Format Cells dialog box.

If you select a cell and press the Ctrl + 1 keys, the Format Cells dialog box will show up. Now, go to Custom and enter any of the following date formats in the Type field:

  • yy/dd/mm
  • yy/mm/dd
Format Cells

If you now type any date in the custom-formatted cell, you’ll get an error for the YEAR function.

YEAR Error

So, avoid the above custom date formatting instances.

Date Entries Formatted as Numbers

When you convert a date entry to the Number formatting style, the YEAR function shows an error.

Look at the screenshot below. When it’s in its correct form, like the Date format, the function can properly extract the year in cell C1.

YEAR function working

However, changing the date to a Number format shows the #REF! error message.

YEAR not working with NUmber format

Another scenario when you might experience the same issue is deleting the old entry and typing in a new value.

When you delete the previous entry in A1, Excel hard codes the YEAR function in the following syntax:

=YEAR(#REF!)

Delete A1

Now, if you update the referenced cell with a new value, Excel can’t detect that because it has automatically added the #REF! error to the YEAR function by replacing A1, which was the blank cell.

You can fix this issue by editing the arguments again. For example, replace #REF! in the formula syntax with A1.

Edit A1

The YEAR function will calculate the year value again.

Edit A1 again

Hidden Characters or Spaces

Hidden characters, like non-breaking spaces, change the appropriate formatting of date entries. When you refer your YEAR function to any such cells, you’ll get a #VALUE! error.

Value error hidden character

To clear these unwanted characters from your dataset, press Alt + F11 to launch Excel VBA Editor.

Right-click on the current workbook in the left-side navigation panel of the VBA Editor. Hover the cursor over Insert and select Module from the context menu.

Insert module

A blank module will open on the right.

There, copy and paste the following VBA script:

Sub ClearHiddenCharacters()
    Dim cell As Range
    For Each cell In Selection
        cell.Value = Replace(cell.Value, ChrW(8203), "")
        cell.Value = Replace(cell.Value, Chr(160), "")
    Next cell
End Sub   

Hit the Save button on the toolbar.

save script

Now, select the worksheet dataset from which you wish to remove hidden characters.

Click on the Run button on the toolbar or hit F5 on the keyboard.

run script

Excel VBA macro will clean the dataset automatically.

The YEAR function also instantly calculates the cell and shows the year value.

Year fixed using VBA

Dates Beyond Excel’s Supported Range

The YEAR function is only effective within a year range of 1900 and 9999. If you refer to an input cell containing a year below or above the given range, the function will either show an error message or an incorrect value.

For example, I entered 01/01/1899 in A1 and used the =YEAR(A1) syntax in C1.

I got the #VALUE! error.

Value error in 1899

The same error will show up when the input date is 01/01/10000.

Value error 10000

So, check if the input has a year value outside the given range to fix the issue.

Regional Settings Mismatch

If the region settings in the PC and Microsoft 365 Admin Center don’t match, Excel might process date formats incorrectly.

First, ensure your PC is set to the desired region configuration by clicking the ENG icon in the System tray.

English (United States) should be on the top of any other input languages if you’re in the US or following the US input format.

English USA

If you don’t see the US option, click on the Language preferences option.

language preferences

Click on the Add a language button below the Preferred languages section.

Add a language

Find and select English (United States). Click Next.

Choose ENG USA

Now, navigate to your Microsoft 365 Admin Center portal.

Type Region in the top search field and select My settings and privacy.

My settings and privacy

You’ll now arrive on the Settings & Privacy page. Navigate to the Language & Region tab on the right.

Now, click on the Region format option and select Change regional format button.

Select the English (United States) format from the list.

You’ll see a sample date confirming that you’ve successfully selected English (United States) as the region.

Change region format

Now, restart the Excel desktop app.

Try using the YEAR function and this time it should be able to extract the year from the date.

Negative or Non-Gregorian Dates

The YEAR function works well with Gregorian calendar dates. Even if you refer to a non-Gregorian calendar date, it’ll try to show the equivalent year.

For example, the following screenshot shows that the argument is referencing cell A1 which has a date from the Hijri calendar. Therefore, the function can’t extract the year value appropriately and shows the #VALUE! error.

Non Gregorian dates

Moreover, if the input date value comes with a minus sign, the YEAR function won’t be able to calculate the year entry because Excel converts the source data into a negative fraction.

Negative dates

So, ensure there are no negative dates in the input dataset.

Use YEARFRAC for Fractional Year Values

If you’re trying to extract the number of years from a start and end date, you’ll get an incorrect result with the YEAR function.

It’ll process it as an input value and derive the corresponding year if possible, but not the actual calculated value.

Using YEARS for fraction

For instance, if you subtract the end date 12/10/2024 from the start date 6/10/2025 in Excel, it returns 1643. Now, the YEAR function converts 1643 to 1904 instead of 4.5 years.

Here, you can use the following formula with the YEARFRAC function to quickly get the calculated year.

=YEARFRAC(A2,B2)

In the above formula, A2 is the start date and B2 is the end date.

YEARFRAC use case

Excel will calculate and extract the number of years elapsed, which is 4.5.

Summary

Now you know what to do when the Excel YEAR function is not working.

Did any of the above methods work for you? Do you know of a better approach? Share your thoughts below.

More about the topics: Microsoft Excel, Microsoft Office

User forum

0 messages