Google Sheets hide rows based on date
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. Show
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.
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 datesIf 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 ExcelRegrettably, 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 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.
Now, let me briefly explain the
The screenshot below demonstrates the result in Excel 2013 - the weekends are highlighted in the reddish colour. Tips:
How to highlight holidays in ExcelTo 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:
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 dateIt'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.
How to highlight rows based on a certain date in a certain columnSuppose, 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: An alternative way is to use the DATEVALUE formula that converts the date to the number format is which it is stored, e.g. Whichever formula you use, it will have the same effect: Conditionally format dates in Excel based on the current dateAs you probably know Microsoft Excel provides the Example 1. Highlight dates equal to, greater than or less than todayTo conditionally format cells or entire rows based on today's date, you use the TODAY function as follows: Equal to today: Greater than today: Less than 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 conditionsIn 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 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 Example 3. Highlight upcoming dates and delaysSuppose 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 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:
Here are a few more formula examples that can be applied to the table above:
Of course, there can be infinite variations of the above formulas, depending on your particular task. For instance:
How to highlight dates within a date rangeIf 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
The current date and any future dates are not colored. Formulas to highlight future dates
The current date and any past dates are not colored. How to shade gaps and time intervalsIn this last example, we are going to utilize yet another Excel date function - 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):
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: 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 AppWe 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! You may also be interested inHow to automatically hide rows based on date in Google Sheets?function onOpen() { var ss = SpreadsheetApp. getActiveSpreadsheet(); var menuItems=[{name: 'HideRows', functionName: 'hideRows'}]; ss. addMenu('Script', menuItems); }; function hideRows() { var ss = SpreadsheetApp. getActiveSpreadsheet(); var s = ss.
How to automatically hide rows based on cell value in Google Sheets?To hide rows based on cell value, simply click the Filter Rows menu, and choose the Filter Rows command. As you click on the command, notice that Google Sheets will automatically hide the records that have been tagged as paid on your spreadsheet.
How to automatically hide columns based on date in Google Sheets?With Apps Script via Tools->Script Editor , you could create a menu with an onOpen() function. The function in the menu (e.g. hidePast ), would then need to check a given value in each column (to see what date that column refers to), and then flag it to be hidden or not.
|