If you are a regular visitor of this blog, you've probably noticed a few articles covering different aspects of Excel conditional formatting. And now we will leverage this knowledge and create spreadsheets that differentiate between weekdays and weekends, highlight public holidays and display a coming deadline or delay. In other words, we are going to apply Excel conditional formatting to dates.
If you have some basic knowledge of Excel formulas, then you are most likely familiar with some of date and time functions such as NOW, TODAY, DATE, WEEKDAY, etc. In this tutorial, we are going to take this functionality a step further to conditionally format Excel dates in the way you want.
Excel conditional formatting for dates (built-in rules)
Microsoft Excel provides 10 options to format selected cells based on the current date.
- To apply the formatting, you simply go to the Home tab > Conditional Formatting > Highlight Cell Rules and select A Date Occurring.
- Select one of the date options from the drop-down list in the left-hand part of the window, ranging from last month to next month.
- Finally, choose one of the pre-defined formats or set up your custom format by choosing different options on the Font, Border and Fill tabs. If the Excel standard palette does not suffice, you can always click the More colors… button.
- Click OK and enjoy the result! : )
However, this fast and straightforward way has two significant limitations - 1) it works for selected cells only and 2) the conditional format is always applied based on the current date.
Excel conditional formatting formulas for dates
If you want to highlight cells or entire rows based on a date in another cell, or create rules for greater time intervals (i.e. more than a month from the current date), you will have to create your own conditional formatting rule based on a formula. Below you will find a few examples of my favorite Excel conditional formats for dates.
How to highlight weekends in Excel
Regrettably, Microsoft Excel does not have a built-in calendar similar to Outlook's. Well, let's see how you can create your own automated calendar with quite little effort.
When designing your Excel calendar, you can use the =DATE(year,month,date) function to display the days of the week. Simply enter the year and the month's number somewhere in your spreadsheet and reference those cells in the formula. Of course, you could type the numbers directly in the formula, but this is not a very efficient approach because you would have to adjust the formula for each month.
The screenshot below demonstrates the DATE function in action. I used the formula =DATE($B$2,$B$1,B$4)
which is copied across row 5.
Tip. If you want to display only the days of the week like you see in the image above, select the cells with the formula (row 5 in our case), right-click and choose Format Cells…> Number > Custom. From the drop-down list under Type, select either dddd or ddd to show full day names or abbreviated names, respectively.
Your Excel calendar is almost done, and you only need to change the color of weekends. Naturally, you are not going to color the cells manually. We'll have Excel format the weekends automatically by creating a conditional formatting rule based on the WEEKDAY formula.
- You start by selecting your Excel calendar where you want to shade the weekends. In our case, it is the range $B$4:$AE$10. Be sure to start the selection with the 1st date column - Colum B in this example.
- On the Home tab, click Conditional Formatting menu > New Rule.
- Create a new conditional formatting rule based on a formula as explained in the above linked guide.
- In the "Format values where this formula is true" box, enter the following WEEKDAY formula that will determine which cells are Saturdays and Sundays:
=WEEKDAY(B$5,2)>5
- Click the Format… button and set up your custom format by switching between the Font, Border and Fill tabs and playing with different formatting options. When done, click the OK button to preview the rule.
Now, let me briefly explain the WEEKDAY(serial_number,[return_type])
formula so that you can quickly adjust it for your own spreadsheets.
- The
serial_number
parameter represents the date you are trying to find. You enter a reference to your first cell with a date, B$5 in our case. - The
[return_type]
parameter determines the week type (square brackets imply it is optional). You enter 2 as the return type for a week starting from Monday (1) through Sunday (7). You can find the full list of available return types here. - Finally, you write >5 to highlight only Saturdays (6) and Sundays (7).
The screenshot below demonstrates the result in Excel 2013 - the weekends are highlighted in the reddish colour.
Tips:
- If you have non-standard weekends in your company, e.g. Fridays and Saturdays, then you would need to tweak the formula so that it starts counting from Sunday (1) and highlight days 6 (Friday) and 7 (Saturday) -
WEEKDAY(B$5,1)>5
. - If you are creating a horizontal (landscape) calendar, use a relative column (without $) and absolute row (with $) in a cell reference because you should lock the reference of the row - in the above example it is row 5, so we entered B$5. But if you are designing a calendar in vertical orientation, you should do the opposite, i.e. use an absolute column and relative row, e.g. $B5 as you can see in the screenshot below:
How to highlight holidays in Excel
To improve your Excel calendar further, you can shade public holidays as well. To do that, you will need to list the holidays you want to highlight in the same or some other spreadsheet.
For example, I've added the following holidays in column A ($A$14:$A$17). Of course, not all of them are real public holidays, but they will do for demonstration purposes : )
Again, you open Conditional Formatting > New Rule. In the case of holidays, you are going to use either MATCH or COUNTIF function:
=COUNTIF($A$14:$A$17,B$5)>0
=MATCH(B$5,$A$14:$A$17,0)
Note. If you have chosen a different color for holidays, you need to move the public holiday rule to the top of the rules list via Conditional Formatting > Manage Rules…
The following image shows the result in Excel 2013:
Conditionally format a cell when a value is changed to a date
It's not a big problem to conditionally format a cell when a date is added to that cell or any other cell in the same row as long as no other value type is allowed. In this case, you could simply use a formula to highlight non-blanks, as described in Excel conditional formulas for blanks and non-blanks. But what if those cells already have some values, e.g. text, and you want to change the background color when text is changed to a date?
The task may sound a bit intricate, but the solution is very simple.
- First off, you need to determine the format code of your date. Here are just a few examples:
- D1: dd-mmm-yy or d-mmm-yy
- D2: dd-mmm or d-mmm
- D3: mmm-yy
- D4: mm/dd/yy or m/d/yy or m/d/yy h:mm
You can find the complete list of date codes in this article.
- Select a column where you want to change the color of cells or the entire table in case you want to highlight rows.
- And now create a conditional formatting rule using a formula similar to this one:
=CELL("format",$A2)="D1"
. In the formula, A is the column with dates and D1 is the date format.If your table contains dates in 2 or more formats, then use the OR operator, e.g.
=OR(cell("format", $A2)="D1", cell("format",$A2)="D2", cell("format", $A2)="D3")
The screenshot below demonstrates the result of such conditional formatting rule for dates.
How to highlight rows based on a certain date in a certain column
Suppose, you have a large Excel spreadsheet that contains two date columns (B and C). You want to highlight every row that has a certain date, say 13-May-14, in column C.
To apply Excel conditional formatting to a certain date, you need to find its numerical value first. As you probably know, Microsoft Excel stores dates as sequential serial numbers, starting from January 1, 1900. So, 1-Jan-1900 is stored as 1, 2-Jan-1900 is stored as 2… and 13-May-14 as 41772.
To find the date's number, right-click the cell, select Format Cells > Number and choose the General format. Write down the number you see and click Cancel because you do not really want to change the date's format.
That was actually the major part of the work and now you only need to create a conditional formatting rule for the entire table with this very simple formula: =$C2=41772
. The formula implies that your table has headers and row 2 is your first row with data.
An alternative way is to use the DATEVALUE formula that converts the date to the number format is which it is stored, e.g. =$C2=DATEVALUE("5/13/2014")
Whichever formula you use, it will have the same effect:
Conditionally format dates in Excel based on the current date
As you probably know Microsoft Excel provides the TODAY()
functions for various calculations based on the current date. Here are just a few examples of how you can use it to conditionally format dates in Excel.
Example 1. Highlight dates equal to, greater than or less than today
To conditionally format cells or entire rows based on today's date, you use the TODAY function as follows:
Equal to today: =$B2=TODAY()
Greater than today: =$B2>TODAY()
Less than today: =$B2<TODAY()
The screenshot below demonstrates the above rules in action. Please note, at the moment of writing TODAY was 12-Jun-2014.
Example 2. Conditionally format dates in Excel based on several conditions
In a similar fashion, you can use the TODAY function in combination with other Excel functions to handle more complex scenarios. For example, you may want your Excel conditional formatting date formula to color the Invoice column when the Delivery Date is equal to or greater than today BUT you want the formatting to disappear when you enter the invoice number.
For this task, you would need an additional column with the following formula (where E is your Delivery column and F the Invoice column):
=IF(E2>=TODAY(),IF(F2="", 1, 0), 0)
If the delivery date is greater than or equal to the current date and there is no number in the Invoice column, the formula returns 1, otherwise it's 0.
After that you create a simple conditional formatting rule for the Invoice column with the formula =$G2=1
where G is your additional column. Of course, you will be able to hide this column later.
Example 3. Highlight upcoming dates and delays
Suppose you have a project schedule in Excel that lists tasks, their start dates and durations. What you want is to have the end date for each task calculated automatically. An additional challenge is that the formula should also consider the weekends. For example, if the starting date is 13-Jun-2014 and the number of days of work (Duration) is 2, the ending date should come as 17-Jun-2014, because 14-Jun and 15-Jun are Saturday and Sunday.
To do this, we will use the WORKDAY.INTL(start_date,days,[weekend],[holidays])
function, more precisely =WORKDAY.INTL(B2,C2,1)
.
In the formula, we enter 1 as the 3rd parameter since it indicates Saturday and Sunday as holidays. You can use another value if your weekends are different, say, Fri and Sat. The full list of the weekend values is available here. Optionally, you can also use the 4th parameter [holidays], which is a set of dates (range of cells) that should be excluded from the working day calendar.
And finally, you may want to highlight rows depending on how far away the deadline is. For example, the conditional formatting rules based on the following 2 formulas highlight upcoming and recent end dates, respectively:
=AND($D2-TODAY()>=0,$D2-TODAY()<=7)
- highlight all rows where the End Date (column D) is within the next 7 days. This formula is really handy when it comes to tracking upcoming expiration dates or payments.=AND(TODAY()-$D2>=0,TODAY()-$D2<=7)
- highlight all rows where the End Date (column D) is within the last 7 days. You can use this formula to track the latest overdue payments and other delays.
Here are a few more formula examples that can be applied to the table above:
=$D2<TODAY()
- highlights all passed dates (i.e. dates less than the current date). Can be used to format expired subscriptions, overdue payments etc.
=$D2>TODAY()
- highlights all future dates (i.e. dates greater than the current date). You can use it to highlight upcoming events.
Of course, there can be infinite variations of the above formulas, depending on your particular task. For instance:
=$D2-TODAY()>=6
- highlights dates that occur in 6 or more days.
=$D2=TODAY()-14
- highlights dates occurring exactly 2 weeks ago.
How to highlight dates within a date range
If you have a long list of dates in your worksheet, you may also want to highlight the cells or rows that fall within a certain date range, i.e. highlight all dates that are between two given dates.
You can fulfil this task using the TODAY() function again. You will just have to construct a little bit more elaborate formulas as demonstrated in the examples below.
Formulas to highlight past dates
- More than 30 days ago:
=TODAY()-$A2>30
- From 30 to 15 days ago, inclusive:
=AND(TODAY()-$A2>=15, TODAY()-$A2<=30)
- Less than 15 days ago:
=AND(TODAY()-$A2>=1, TODAY()-$A2<15)
The current date and any future dates are not colored.
Formulas to highlight future dates
- Will occur in more than 30 days from now:
=$A2-TODAY()>30
- In 30 to 15 days, inclusive:
=AND($A2-TODAY()>=15, $A2-TODAY()<=30)
- In less than 15 days:
=AND($A2-TODAY()>=1, $A2-TODAY()<15)
The current date and any past dates are not colored.
How to shade gaps and time intervals
In this last example, we are going to utilize yet another Excel date function - DATEDIF(start_date, end_date, interval)
. This function calculates the difference between two dates based on the specified interval. It differs from all other functions we've discussed in this tutorial in the way that it lets you ignore months or years and calculate the difference only between days or months, whichever you choose.
Don't see how this could work for you? Think about it in another way… Suppose you have a list of birthdays of your family members and friends. Would you like to know how many days there are until their next birthday? Moreover, how many days exactly are left until your wedding anniversary and other events you wouldn't want to miss? Easily!
The formula you need is this (where A is your Date column):
=DATEDIF(TODAY(), DATE((YEAR(TODAY())+1), MONTH($A2), DAY($A2)), "yd")
The "yd" interval type at the end of the formula is used to ignore years and calculate the difference between the days only. For the full list of available interval types, look here.
Tip. If you happen to forget or misplace that complex formula, you can use this simple one instead: =365-DATEDIF($A2,TODAY(),"yd")
. It produces exactly the same results, just remember to replace 365 with 366 in leap years : )
And now let's create an Excel conditional formatting rule to shade different gaps in different colors. In this case, it makes more sense to utilize Excel Color Scales rather than create a separate rule for each period.
The screenshot below demonstrates the result in Excel - a gradient 3-color scale with tints from green to red through yellow.
"Days Until Next Birthday" Excel Web App
We have created this Excel Web App to show you the above formula in action. Just enter your events in 1st column and change the corresponding dates in the 2nd column to experiment with the result.
If you are curious to know how to create such interactive Excel spreadsheets, check out this article on how to make web-based Excel spreadsheets.
Hopefully, at least one of the Excel conditional formats for dates discussed in this article has proven useful to you. If you are looking for a solution to some different task, you are most welcome to post a comment. Thank you for reading!
1232 comments
Hi Alexander,
Thanks so much for taking the time to reply to comments and provide such a comprehensive article.
I am trying to use formulas to highlight past dates
More than 10 days ago: =TODAY()-$A2>10
From 4 to 9 days ago, inclusive: =AND(TODAY()-$A2>=4, TODAY()-$A2=0, TODAY()-$A2<3)
These are all just altered based on the examples in the article, however I need them to apply to all the cells in column J (excluding title column)
I have tried a few different things but none of them seem to work.
Can you please help me?
Sorry! Typo above ^^
This is what I meant to do:
red - More than 10 days ago: =TODAY()-$A2>10
yellow - From 4 to 9 days ago, inclusive: =AND(TODAY()-$A2>=4, TODAY()-$A2=0, TODAY()-$A2<3)
Need to apply these formulas to column J, any help greatly appreciated!
From 4 to 9 days ago, inclusive: =AND(TODAY()-$A2>=4, TODAY()-$A2=1, TODAY()-$A2<3)
Sorry this keeps changing my comment.
Hello Lauren!
Here is the article that may be helpful to you: Excel conditional formatting formulas based on another cell.
Select the range J2:J100 (cells for the conditional formatting) and apply your conditional formatting formula to this range.
Formula from 4 to 9 days ago - =AND(TODAY()-$A2>=4, TODAY()-$A2<=9)
Hi, can you please help me?
I need to format a column in excel. I have dates in columns B and C. I need that if the date in column B is smaller than in column C, the given cell (in column C) will be colored green. Otherwise, there will be no discoloration. I need to apply this to all rows from column C.
for ex.:
B C
10.7.2024 12.7.2024 (12.7.2024 will be green)
20.7.2024 12.7.2024 (12.7.2024 will be normal)
thank you
Hi Alena!
All the necessary information is in the article above.
Conditional formatting rule for C column might look like this:
=B1<C1
You can also find useful information in this article: Excel conditional formatting formulas based on another cell.
Thank you very much :), Excel automatickly put "$" between the cell number and it didnt work, but now with only B1 and C1 it does!
Could anyone have an idea how to create Weekly Summary Manhours Report based on the DIR/IND from the listed Daily Manhours.
Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking.
I want to know, if we make a database of employees number of expereince, how can the data is updated with each passing year i.e. how can the number of expereince can be increased with each passing year?
Hi! I can't know how your data will change. If you have a specific question about the operation of a function or formula, I will try to answer it.
Hi..
I need to know how can I extract the date of a value if it changed. (Ex: if I fill in A2:A10 some values in 10-6-2024, in A2=55, after 7 days I changed to 66 but I keep the other values without any changes. I need a formula to know only the cells that have changed after the above dat.
Thanks
Hi! Maybe this article will be helpful: How to track changes in Excel.
Hi,
Sorry I have a second part of my question.
I've created a Visual Basic Module, that sends an email reminder to me 1 week before check-in date (A1).
When I 'run' the module from Visual Basic, it works (i.e. sends me an email) - but how/where/what do I insert (formula wise) and where, to tell the spreadsheet to run the module when it gets to 7 days out from the check-in date?
Hi! You cannot run a macro at a specific time using an Excel formula.You can do this with another macro that will check the cell value and run your macro.
Hi,
I'm trying to do conditional formating using a check-in date (A1) and check-out date (A2)?
I'd like 3 conditions:
Before check in (both A1 & A2 are yellow)
Once Check in date is today or past, (both A1 & A2 are green) - to indicate a guest has checked in
once the check out date has passed (both A1 & A2 are red) - to indicate a guest has checked out
Thank you
Hi! Please re-check the article above since it covers your task. Create a separate rule for each color. Yellow - A1>TODAY() Green - A1<=TODAY()
Note also these guidelines: Apply multiple rules to same cells.
Hi, can you help me to solve this. im working on this problem for a couple of days and yet i just cant resolve this. please guide
on conditional formatting
if sheet1.a1 date is equal to sheet2.a1 date and sheet2.b1 text = "conflict" then sheet1.a1 row change its color
Hi! If I understand your task correctly, this article may be helpful: Excel conditional formatting formulas based on another cell. To correctly do a reference to another worksheet, use these guidelines: Excel reference to another sheet or workbook (external reference). Based on the information given, the conditional formatting formula could be as follows:
=AND(Sheet1!A1=Sheet1!A1, Sheet2!B1="conflict")
thanks a lot, do you also have a solution on this problem.
two different set of dates to determine whether there's a conflict on set schedules
example:
set 1, from june 1, 2024 - june 5, 2024 - meeting with the board
set 2, from june 4, 2024 - june 7, 2024 - meeting with higher ups
do you know how to calculate that june 4 & 5 have a conflict on set 2 schedule.
thanks in advance, i still in float on this problem
Hi! Excel can't compare dates written as text. Also, it's best to use special programs to work with schedules, not Excel, which isn't designed for this purpose.
Hi! First want to say this article has helped me so much in a number of reports I use so thank you for that! Secondly, I'm having trouble figuring out a conditional formatting formula for the following criteria.
I want to highlight 1 cell based on if a group of other cells has a date that is less than or equal to Today. I've tried a number of formulas and can't seem to figure it out.
Here's an example to better explain:
B1 (Would some type of text)
B2:B5 (These would have various dates)
I want to highlight B1 if any cell from B2:B5 have a date equal to Today or Prior to Today.
Do you know any formula or formulas that would work?
Hi! You can find useful information in this article: Excel conditional formatting formulas based on another cell.
Check the formula below, it should work for you:
=OR(B2<=TODAY(),B3<=TODAY(),B4<=TODAY(),B5<=TODAY())
or
=SUM(--(B2:B5<=TODAY()))
Hi, I would like 8 cells to change their value depending on which week we are in. So every Monday when we open our sheet to see status of our job tasks, it is automatically changed to the current week. I have a separate sheet with an overview of weeks 13-30 and with the data as well.
Is it possible to make a rule or though VBA to make the cells update automatically?
Hi! The information you provided is not enough to understand your case and give you any advice, sorry. To define the current week, you can use the TODAY and WEEKNUM functions.
For example, Data A has a date, and Data B is the date when it is 3 days before Data A. I'd like to set a condition for Data B to become green when it is 1-5 days prior to Data A, red if it exceeds 1 day or more, and orange if it is the exact date.
Please re-check the article above since it covers your task.
I am trying to format cells in collum D to change a red/bold if due date is within 15 days and if cells in collum C are blank- C will be blank or a "yes" would rather not have to say "no" as well... but if blank is not an option I would input a No..
=IF($D2-TODAY()>=1, $D2-TODAY()<15,IF(C2="no", 0)
Any help would be greatly appreciated
Holly
Hi! Conditional formatting changes the format of a cell, but it does not allow you to change a value in the cell. See the article above for how to change the color based on the date. Read the section above carefully: How to highlight dates within a date range. Use the IF formula in cell C2 if you also want to change the value of cell C2 by a condition. This condition is completely unclear, so I can't suggest a formula.
Sorry, very new here.... I was hoping for clarification, are you unable to put "AND" and "IF" into one conditional formatting? Maybe I am not explaining correctly. my spreadsheet is to monitor and ensure an appointment is not missed for scheduling. Next appointment date (collum D) and collum C is the scheduling status.
$D2 if in less than 15 days from the date and appointment remains unscheduled I want to make this bold or change the color.
thank you so much for your help!!
Holly
Hi! Based on the information given, the formula could be as follows:
=AND(TODAY()-D1<15,C1="no")
The following tutorial should help: IF AND in Excel: nested formula, multiple statements, and more.
I have the following:
Date 1, Cell A1 thru A20 dates are entered manually
Date 2, Cell B1 thru B20 is automatically calculated out to 6 months from date in A1: =IF(A1="","",(A1+182))
I want to set up conditional formatting so the cells in in column B will turn amber at 30 days before the date indicated in and turn red after the date.
Cell A Dates Cell B Dates
10/18/23 4/17/24
1/11/24 7/11/24
I tried using the TODAY function, but it didn't work consistently.
thanks
Hi! Please re-check the article above since it covers your task. If you want to compare data to a specific date, rather than to the current date, use a reference to a cell with that date instead of using the TODAY function.
For example:
=A1-$D$1<30
If you are comparing column B to the current date, see the example formulas in the article above.
Create a separate conditional formatting rule for each colour.
Hi,
Please assist me to get this answered.
I have searched a lot with no results.
I have a column that has dates formulated as 1/15/2016. I am asked to format the cells as Orange if that date falls on a Saturday or Sunday, and if it falls on Monday, to return as "1". How can I do that?
I changed the date format to be (Friday, January 15, 2016), but then I do not know where to go?
Hi! You can change the color of a cell depending on the day of the week using a conditional formatting formula. Use the WEEKDAY formula to do this. For example:
=WEEKDAY(A1,2)>5
However, either manually or using a VBA macro, you can change the date value to "1". Conditional formatting only changes the format, it does not change the value.
Hi
I am wanting to highlight times , that are not :00 , :15, :30, :45 in column C , using conditional formatting only as its an import from another sheet,
i tried using unique but i am a little lost to making this work correctly
eg
Column A B C
Wednesday 06:00 15:31
Thursday 06:00 15:30
Friday 06:00 15:47
Saturday 00:00 00:00
Sunday
Monday 06:00 14:08
Tuesday 06:00 15:30
Hi! Use the MINUTE function to get the minutes from the time. To determine that the minutes are a multiple of 15, use the MOD function. In this case, the remainder of the division by 15 is 0. Create a conditional formatting formula in which the minutes are not a multiple of 15 and the remainder of the division by 15 is not 0.
=MOD(MINUTE(C1),15)<>0
thank you this worked perfectly
Hello. I am working on a five-shift rotation calendar. The calendar covers the whole year. The calendar fills TODAY 's date cell with a chosen color. That works well.
I would also like to fill five cells in the column directly below the date in a different color, to help the Shifts more easily identify who is on duty that day.
I started trying to build a formula where if TODAY was anywhere in the column above, then these cells would highlight. But I can't seem to build a formula that will work.
I wish I could post a Snagit (screenshot) of what I'm trying to accomplish.
For example below, if today's date were 2, I would want the cells to the right of the shifts, below 2, to highlight.
Date Columns
2 3 4 5 6 7 8....
etc...
etc...
Shift A NNNN
Shift B DDD
Shift C TTTT
Shift D DDDD
Shift E NNN
Well, the columns I tried to manually build in my question didn't work out using spaces, and I can't edit it. The date columns should be shifted to right , as well as how D (day shift), N (night shift), and T (training) should line up.
Hi! Suppose the dates are written in row 1 and the data is written in the range B2:F6. Create a conditional formatting rule for the range B2:F6:
=B$1=TODAY()
I recommend reading this guide: Relative and absolute cell references in Excel conditional formatting. Hope this is what you need.
Now i need a help hope you would help me in our office we have a daily tracker in that we have 12 agents and works in 24/7 shifts we work on incident tickets as soon as the ticket arrives we have enter the ticket number in that sheet and change the color of the cell manually according to the time the ticket arrived for eg. if ticket came in between 8am to 9 am it will be green if it is between 9 am to 10 am then red if it is between 10 am to 11 am then purple so on so instead of changing the color manually i need a formula or a steps so based on current time when the data entered into a cell the color should change please suggest
Hi! The above article contains all the information you need, so I hope you will read it. Use the TIME function to set the time. Here is an example of a conditional formatting formula for your question:
=AND(A1>=TIME(9,0,0),A1<TIME(10,0,0))
Create a separate conditional formatting rule for each time interval.
Hi,
I have a task to use conditional format for a field of date that did not occur yet. For example, I have a date in row J6 of 01/02/2024 and date in row K6 is 01/02/2027 (3 years later). My task is to make the row K6 to highlight automatically, lets say in red, when it has 30 days left until it reaches set date of 01/02/2027. Can you please advice how I can do this? I'm very new here...
Thank you very much!
Hi! Have you tried the methods described in this blog post? All the necessary information is in the article above. For example: K6-30<=TODAY()
Hello-How would I add conditional formating using an excel calendar template to highlight a Friday that is paydate if comparing to another worksheet that lists the pay dates
Hi! I'm really sorry, looks like this is not possible with the standard Excel options.
Your title - "How to conditionally format dates and time in Excel" - is misleading. You have no examples dealing with formatting time values, just dates. I was looking for a simple way to format times in cells if they are between certain times of the day, say 8:00 AM & 5:00 PM. I can get it to work by storing these two values in some cells and then comparing against these but was looking for a way to conditionally format w/o having to store the two values in cells.
actually the other way...5:00 PM & 8:00 AM.
Hi! Since the date and time in Excel are stored as numbers, you can get the time using mathematical functions. For example, using the INT function.
A1-INT(A1)
For conditional time formatting, you can use a formula like this:
=(A1-INT(A1)) > TIME(14,0,0)
I've been tasked to do a Staff report where employees training are highlighted with traffic lights. I have to see Green for first 9 months after training course, Amber for between 3 months and Due Date, and Red for Past the Due Date. How would I write these. It has to apply to 23 cells, but not all rows are populated due to training requirements. Not all staff need all courses.
Hi! For each condition, create a separate conditional formatting rule as described in the article above. I cannot recommend these 3 formulas to you as I do not have your data. If something is still unclear, please feel free to ask.
Hi I would like to highlight dates that are less than (X date) and greater than (X) date. I've been successful at highlighting in green (today and future datest) but i cant seem to add the second colour (red) for the dates in the past. Can you please help in how to formulate how to do this.
I will be doing the same formula for other columns that dont have a set previous date but we want to highlight what is expired and what is up to date of the date when the excel report is generated. Thank you!
Hi! You cannot add a second color to a conditional formatting rule. Create a separate conditional formatting rule for each color.
I have a data entry sheet of 3 column. At column B I want to add goods name and at column C the quantity of goods. I want when I add goods name on column B entry date will auto generate on column A. Is it possible?
Hi! If I understand your task correctly, the following tutorial should help: How to insert today date & current time as unchangeable time stamp. The second option is to use VBA to write the current date and time to the cell.
Hello.
Can you please help with the below example. Conditional formatting using 2 dates and 2 times.
Date 1 (F7) and time 1 (G7) - Date 2 (N1) and time 2 (D7) - Highlight F7 if the start date and time is >26 hours after the end date and time
Hi! I don't really understand why you have a start date greater than the end date. To present the difference between two times as a decimal number, read this guide: How to calculate time difference in Excel (elapsed time).
=((N1+D7)-(F7+G7))*24
=(((N1+D7)-(F7+G7))*24)>26
Can you please advise what I am doing wrong here?
I would like to highlight in green dates that are less than 21 days ago from today, yellow 21-40; red more than 40 days agp
I am using the formulas
Green: =Today()-$I3>21
Yellow: =AND(TODAY()-$I3>=21,TODAY()-$I3=45
This appears to be exactly what is pictured in the formulas above & i am not sure why it does not work
It is in order green/yellow/red
Hi! If I understand your task correctly, the following formula should work for you:
Green: =Today()-$I3<21
Yellow: =AND(TODAY()-$I3>=21,TODAY()-$I3<=40)
Hi! I have been tasked to conditional format a cell that did not occur yet, like:
Highlight dates that has not been occurring.
Hi! Compare dates to the current date using the TODAY() function. Read this section carefully: Conditionally format dates based on the current date.
I want to remove from this 2024-01-03T08:25:32.307+01:00 and use time only
Hi! To extract the time from the text, use the SEARCH function to find the number of the position of the letter "T" after which the time is written. Then use the MID function to extract the time and use the TIMEVALUE function to convert the text string into a time value.
Try this formula:
=TIMEVALUE(MID(A1,SEARCH("T",A1)+1,8))
Hi! I have a sheet that has discharge dates. We need to follow up with the patients at 24hours, 1 week, and 15-30 days. I need to highlight blank cells in column b when there is a value in column a based on 24 hours for column b, 1 week for column c and 15-30 days for column d. Formulas I input do not seem to work. Is this possible to have a sheet with this information?
Hi! Your explanations are not very accurate or clear. What does "based on 24 hours" mean for an empty cell in column B? I can try to guess that you need to combine two conditions using the logical AND function. For example:
=AND(A1+1<TODAY(),ISBLANK(B1))
Maybe this article will be helpful: ISBLANK function in Excel to check if cell is blank.
If this does not help, explain the problem in detail.
Hi!
Would you be able to help me with the below?
I want to highlight the date when it's in the last 7 days (which i managed to get =IF($G2<=TODAY()+7) but then if the status (selected from a drop down)in column I = Completed or closed, I don't need it be highlighted as no action is needed
thansk in advance!
Sabine
Hi! If I understand your task correctly, try the following formula:
=AND($G2<=TODAY()+7,NOT(OR($I2="Completed",$I2="Closed")))
Maybe this article will be helpful: IF AND OR statements.
thanks!
Hi, I have a spreadsheet with 4 columns of data: Reval Due, License Due, Cert Due, DEA Due.
I created a cell with today's date using = TODAY ()
I would like the cells in each column to automatically highlight using 2 colors for the sets of data: yellow- what is due within 0-60 days from the current date; and then orange for dates 61-90 days out from the current date. This will allow me to see at a glance the upcoming due dates for each set of data. Once I complete the update I would assume when I put the new updated date the color will go back to no fill? (for ex: license due 2.1.24 so it would show yellow fill since it's within 30 days from today (1.15.24). Once I update the license and put the new due date of 2.1.25 it should drop the color and now has no fill color bc it is not due until the next year. Are you able to provide the steps to do this? Thank you!
Hi! Create two conditional formatting rules. The first for yellow color, the second for orange color. All necessary information is available in the article above.
Not sure why the formulas are not getting copied properly.
=AND(TODAY()-$A3>=0, TODAY()-$A3<=30)
Hi! Your formatting conditions are inconsistent and not very clear. If you want the cell not to be highlighted when 0 is written in column B, add another AND condition to the formula. For example:
=AND(TODAY()-$A1>=0, TODAY()-$A1<=30, $B1<>0)
Thank you Alexander, it is working now and got to know where my mistake was.
Below are the formulas that I use:
=AND(TODAY()-$A3>=0, TODAY()-$A330, TODAY()-$A390, TODAY()-$A3180
I have a date in Column A and I want to colour column B, and C (it has got some numbers like 0,1,2, 3, etc) if the Column A is less than the current date. I am using the below formulas.
=AND(TODAY()-$A3>=0, TODAY()-$A330, TODAY()-$A390, TODAY()-$A3180
The first three formula works, however when it the B, and C column has a value 0 I don't want to colour anything and leave it as it is.
But if in a row there are values like 1, 0 (Column B, and C)and the date is 12/09/2023 then both the cells are getting coloured.
I am in sales and i prepared a list of customers. I want to highlight the row that contains the customer name & from august till today the list is increasing. I want that after every 10 days the customers not been contacted can highlight the names that are due to be contacted.
Please help.
Thanks
Hi! If you have a column with contact dates and a column with the date the customer was added, use the recommendations in this article to highlight the names that are due to be contacted.
For example, C1 - contact date, B1 - date of addition:
=AND(ISBLANK(C1),TODAY()-B1>10)
Hi, I have dates in column B, I want to highlight 2 days before date from todays date but dont want to include if holiday or weekend falls in betweek. I want to highlight only working days.
COP Date
9/7/2023
12/4/2023
12/12/2023
12/15/2023
12/12/2023
12/12/2023
12/14/2023
Hi! To count working days between 2 dates, use NETWORKDAYS.INTL function. For example,
NETWORKDAYS.INTL(A1,TODAY(),1)<=2
But you cannot specify how many cells to highlight in conditional formatting. All cells that match the condition will be highlighted.
Thank you for the article - trying to use a conditional formatting to change the color based on time elapsed. For example if value in format hh:mm is between 00:01 and 06:00, green. If 06:01 to 12:00, yellow. 12:01 to 24:00 red. If > 24:01, dark red.
Thank you!
Hi! To check the time or date interval, use the AND function as recommended in the article above. To set a time value, use the TIME function. You can also convert time to a decimal number, as in the second formula below:
=AND(A1>0,A1<TIME(6,0,0))
=AND(A1>0,A1<6/24)
I hope my advice will help you solve your task.
I created a vendor payment reminded with vendors detail, date of goods supply and payment due date.
i would like to also create a column with the text "PAID" "UNPAID" highlighted in green or red after payment due date elapses.
Hi! Please re-check the article above since it covers your case.
Hello,
Would you please help me to understand it better?
I have a table from from B10 to Q200 - where Colum K has dates and Colum L has prices.
I need to highlight a row where price ="" and date =In less than 7 days
I'm using this formula, but it only works for 1 row:
=AND($K$10-TODAY()>=1, $K$10-TODAY()<7, $L$10="")
How do I make it work for the whole table?
Please help
Hi! The following tutorial should help: Relative and absolute cell references in Excel conditional formatting. Please use the formula below:
=AND($K1-TODAY()>=1, $K1-TODAY()<7, $L1="")
Hello,
I'd like to set conditional formatting on a cell by % complete within a date rage.
Example would be:
Initial Target Complete % Complete Status
11/27/2023 100% Blue
12/15/2023 65% Yellow
12/06/2023 30% Red
If within 7 days of target completion date and % Complete is below 50% cell turns red
If within 7 days of target completion date and % Complete above 50% below 76% cell turns yellow
If within 7 days of target completion date and % Complete is above 75% and below 100% cell turns green
If % Complete is 100% cell turns Blue
Any assistance you could give would be greatly appreciated.
Hi! Create a separate conditional formatting rule for each color. For example, for red:
=AND((TODAY()-A1)>7,B1<50%)
For more information, please visit: Excel conditional formatting formulas based on another cell.
I understand how to conditionally format based on a specific date by using it's numerical value. However, how to I set a conditional format based on the whether the date in one column is before or after a date in another column. For example, if one column is the approval date and another is the review date, I want to highlight when the review date is after the approval date. I tried just using B2>D2, but that didn't return the conditioned format.
Hi! If your dates are written as date rather than text, the conditional formatting formula =B2<D2 should work. B2 - is approval date.
I'm trying to get a cell containing a month (listed as 11/01/2023 - 11/30/2023) to turn green if it contains today's date in that whole range of dates. I've already got my initial cell set up with = today() and it's working, but the existing date conditional formatting options are all about being before or after today, and I tried the is equal to today option but it didn't work (i think because I'm listing a range rather than each day in the month separately). I'm thinking I need to use the conditional formatting based on a formula setting but I'm not sure what formula to use. I'm open to putting the first day of the month and the last in separate cells, but listing every day somewhere would be difficult. Any help would be appreciated!
Hi! Specify the month number and select the cells where the date corresponds to this month. Use the MONTH function to find the month number by date.
You can also try the formulas from this paragraph above: How to highlight dates within a date range.
Hello,
i have a sheet containing end date for warranties and i need to creat a conditional formating rule with a formula to indicate when the date is 2 months out.
I have tried =$A2-TODAY()>60 but it does not seem to be working. it is highligning the wrong cells.
How can i solve the issue? Is there a formula that would be better suited for my needs?
thank you!
Hi! In a conditional formatting formula, use the cell reference in the first row, even if the conditional formatting range begins on the second row.
=$A1-TODAY()>60
I am looking to create
Moved to Outcome 1 Month Due Verified Amount
18-Aug-23 18-Sep-23 Y $123.00
25-Aug-23 25-Sep-23 P $456.00
31-Aug-23 30-Sep-23 N $789.00
The values in the cells in the "1 Month Due" column are calculated based on the values in the "Moved to Outcome" column using the "=EDATE (F2, 1)" formula, where F2 holds the "Moved to Outcome" date.
I want to format things so when the value showing the "1 Month Due" column is 1 week past the current date, the cells in the "1 Month Due", "Verified" and "Amount" columns turn orange, and when the date in the "1 Month Due" column is 1 week or more past the current date, the cells turn red.
In addition, I would also like to have the cells the "1 Month Due", "Verified" and "Amount" columns changed based on the value in the "Verified" column.
I have set up the conditional formatting in the "Verified" column so that a cell containing a "Y" turns green, a cell containing a "P" turns yellow, and a cell containing a "N" turns red. I would like this to apply to the "1 Month Due" and "Amount" columns as well, and to override the conditioning based mentioned above (based on the "1 Month Due" condition).
I hope that makes sense, and thanks very much, in advance, for any assistance you can provide - this one has been a real noodle-scratcher for me :)
Hi! Please read the above article carefully. You can highlight a cell with a color if the date is greater than the current date by more than 7 days by using the formula:
=B1-TODAY()>=7
You can also find useful information in this article: Excel conditional formatting formulas based on another cell.
Hello!
I have a matrix for health tests. I can't seem to get past the last month/next month issue. I need anyone who is out of date to go red but cannot work out how to do this past last month (I basically need last month and previous)
Any ideas? :)
Hello! I hope you have studied the recommendations in the tutorial above. Unfortunately, your information is not enough to recommend a conditional formatting formula to you. How do you determine "out of date"? Do you want to highlight with color only the current and last month's dates? Describe the problem in more detail.
I'm looking to pull data from one tab (which is a big list of information) into a summary on another tab. I want to display the name (B2), sub-name (C2) and date due (Q2) within a 21 day window (so it will show everything due within the next 3 weeks, based on today's date). Struggling to find a formula that will do this but I'm sure I've seen it elsewhere before. Thanks
Hi! You can get the data for 21 days using the FILTER function. You can find the examples and detailed instructions here: Excel FILTER function - dynamic filtering with formulas. I hope it’ll be helpful. If something is still unclear, please feel free to ask.
I have a temp chart that is recorded on daily per month. Is there a way to highlight a missed day and/or missing element (multiple recordings on 1 day), and then lock that day so it can not be retro entered in? While I'm at it, on a separate sheet, I also have a daily task checklist on equipment that I'd like to have the same functions on if something is not recorded or a day missed. It also is a monthly calendar.
Hi! I'm really sorry, looks like this is not possible with the standard Excel options.
I have a spreadsheet that I want to highlight when someone is expired. For example: Column B will be the date they completed the training, in column C I want the date they are due to do the training again. 2 year time frame. I want the cell highlighted (filled) so we can see the expired employees. Is this possible? I saw your example from above but I didn't think it would work for what I am trying to do.
Thanks!
Hi! To add two years to a date in Excel, use a formula:
=DATE(YEAR(B2) + 2, MONTH(B2), DAY(B2))
Read more: How to add and subtract dates, days, weeks, months and years in Excel.
To highlight past dates, use the information from this paragraph in the article above: Conditionally format dates in Excel based on the current date.
Please advise, previously I have provided a weekly time column, for example week 1 to week 10, how to do it so that when I input some data it will automatically be forwarded to the column according to the time period I have provided.
The place where I input the data does not change, only the results can be reflected in the time column according to the time entered. Thank You
Hi! If you have a column with dates, you can extract data for a specific date using these instructions: How to Vlookup multiple values in Excel with criteria. You can also use the FILTER function to get data for a specific date.
You can automatically copy data to another column based on the current date using VBA.
Hi,
I have a spreadsheet containing dates of Insurances.
I have conditional formatting for anything from today to highlight in red. So I know that they have expired.
I am now wanting to add in another conditional formatting for any that are due to expire in the next 2 weeks from 'today' I have tried with a formula of '=AND($D2-TODAY()>=0,$D2-TODAY()<=14)' but is it highlighting insurances that are expiring in 2024.
Please can anyone advise where I am going wrong?
Thanks
Hi! I'm not quite sure what the problem is with this formula. It returns TRUE for a future date no more than 14 days from now. Currently, this conditional formatting formula cannot highlight 2024 dates.
I have a spreadsheet with a list of documents my team needs to review. Whenever the documents are revised, it gets updated on the spreadsheet. I set up the conditional formatting highlight the employees cell green if their review is later than the revision and red if it's prior to the revision. I am facing two problems.
1. If I create the conditions for both in the topmost cell and drag it down to the last cell they all use the first reference cell to compare, even if I take out the $,( i.e. change $B$5 to B5).
2. If I create a CF formula for each cell individually, aside from taking forever, it also returned a different result in the second cell, even though the conditions were exactly the same as the first cell.
Thank you
Hi! Create a condition not for one cell, but for a range of cells: for example, B2:B100. Use the address of the first row of this range in the conditional formatting formula. Read more: Excel conditional formatting formulas based on another cell.
I have a spreadsheet covering events over a 3-month timeframe.
I'd like to highlight rows based on the date the event occurred. There may be one or more rows with one date.
Example: my spreadsheet has 133 rows of data for dates from 01 Jun through 31 Aug. Three rows have events that occurred on 01 Jun; One row with an event that occurred on 02 Jun; No events occurred on 03, 04, or 05 Jun; Eight rows for events that occurred on 06 Jun; etc.
Is it possible to define conditional formatting that will highlight the 3 rows for 01 Jun with a different color that the one row for 02 Jun and yet another color for the 8 rows for 06 Jun?
Hi! For each date, create a separate conditional formatting rule with different colors.
That is not helpful. It'd be faster to filter by date and add color to the rows that appear for each date.
I have made a training matrix for staff at work, and want to highlight training that is in date as green, out of date (1 year after completion date) Red and due ( 11 months after completion date) orange.
All the necessary information is in the article above. To find the date differences, use this guide: Excel DATEDIF function to get difference between two dates. For example, if the date difference is more than 1 year:
=DATEDIF(B1,A1,"Y") >= 1