In this tutorial, I’m going to show you how to create a calendar in Excel that automatically updates when you change the month or the year value. I will show you the exact process to create the interactive monthly and yearly calendar, and I also have these as downloadable Excel files, so that you can use them offline. You can print these calendar templates and manually create the schedule on paper. Before I get into the nitty-gritty of making the calendar in Excel, let me show you what the final output would look like. Click here to download the monthly calendar Excel template Click here to download the yearly calendar Excel template
Demo of the Interactive Calendar in Excel
Below is an example of the interactive monthly calendar in Excel where you can change the month and year value and the calendar would automatically update (you can also highlight holidays or specific dates in a different color). It also highlights the weekend dates in a different color. Click here to download the monthly calendar Excel template And on similar lines, below I have the yearly calendar template, where when you change the year value the calendar automatically updates to give you the calendar for that year. The weekend dates are highlighted in a different color and if you have a list of holidays (or important dates such as project deadlines or birthdays/anniversaries), then those holidays are also highlighted in the calendar. Now let me quickly explain how I have created this calendar in Excel.
Some Pre-requisite Before Creating the Interactive Calnedar in Excel
While most of the heavy lifting in this calendar is done by some simple formulas. you need to have a few things in place before you make this calendar.
Have the Holiday List and Month Names in Separate Sheets
Before starting to make the calendar, you need to have the following two additional sheets: If you download the calendar template for this tutorial, you will see these two additional sheets. For the sake of simplicity, I have kept these two sheets separate. If you want, you can also combine and have the holiday dates and the month names on the same sheet. For this calendar, I have used the holidays in the US. You can change these to your region’s holidays, and even add important days such as birthdays or anniversaries so that they can be highlighted in the calendar. The data from this holiday sheet would be used to highlight the holiday dates in the calendar.
Create Drop Down Lists To Show Month Names and Year Values
Since I want this calendar to be interactive and allow the user to select the date and the year value, I will:
Have a cell where the user can input the Year valueCreate a drop-down list that will show the month names from where the user can select the month
Note that the month drop-down list is needed only for the monthly calendar template, as in the yearly calendar template all the months are shown anyway. Below are the steps to do this: The above steps would give you a drop-down list in cell B2, where you can select the month name. Now that we have a place to enter the year value and select the month name, the aim here is to create a calendar that would automatically update as soon as we change the month/year values. So it’s time to go ahead and build that awesome calendar in Excel.
Creating the Monthly Calendar in Excel (that Auto-updates)
You can download this monthly calendar template by clicking here The first thing I need to build this monthly calendar is to have the weekday names in a row (as shown below). After entering the day name, I’ve also given it a background color and increased the column width a little. Now it’s time for the formulas. While I can create one single formula that will give me the values in the calendar grid that I have created, it would become quite big. So for the purpose of this tutorial, let me break it down and show you how it works. For the formula to work, I will need two values:
The month number for the selected month (1 for Jan, 2 for Feb, and so on)Getting the Weekday value for the first day of the selected month (1 if the month starts on Monday, 2 if it starts on Tuesday, and so on)
Formula to get the month number of the selected month: Formula to get the weekday value of the first day of the month I have the output of these formulas in cells M4 and M5 as shown below. Now that I have these values, I will be using these in the main formula that I will be using in the calendar grid. Below is the formula that will give me the dates in the calendar: This is an array formula, so you just need to enter it in cell D5, and the result would spill automatically to all the other cells in the calendar. Note: This formula would only work in Excel for Microsoft 365, Excel 2021, and Excel for the web. This is because it uses the SEQUENCE function, which is a new formula and is not available in the older version of Excel. In case you’re not using Excel for Microsoft 365 or Excel 2021, you can use the below formula instead: Enter this formula in cell D5, and then copy and paste it for all the other cells in the calendar grid. The result of the formula is the date serial number, so you may either see a serial number (such as 44562) or a date. While this is good enough, I only want to show the day number. Below are the steps to change the format of the cells to only show the day number from the date value: The above steps would only display the day number in the calendar. As I mentioned, I broke down the formula to make it easier for you to understand how it works. In the templates you download, I have used one single formula only to generate the entire calendar.
Adding a Dynamic Title for the Calendar
The next step in making this dynamic calendar would be to add a dynamic title – that would tell us for what month and year does the calendar shows. While I can see these values in cells P1 and P2, it would be easier if I create a title that shows me the month and year value right above the calendar. To do this, I have used the below formula in cell D3: This is a simple concatenation formula that combines the value in cell B2 and cell B1 (separated by a space character) If you make any changes in the month and year selection, this value would automatically update along with the calendar. I’ve also done the below cosmetic changes to make it look like a header and align it to the center of the calendar:
Select cell D3 and change the color and size of the text and make it boldCenter the Text so it appears at the top-center of the calendar (and look like a header of the calendar). To do this:Select cell D3:J3Right click and then click on Format CellsIn the Fomat Cells dialog box, click on the Alignment tabSelect Center Across Selection option in the Horizontal drop downClick OK
Highlight the Weekend Days
This one is simple. Just select all the days in the calendar which represent the weekend and give it a different color. In this example, since Saturday and Sunday are weekend days for me, I have highlighted these inner light yellow color
Highlighting Holidays in the Calendar
And the final thing that I want to do in this calendar is to highlight all the days that are holidays in a different color. As one of the previous steps, we already created a separate holiday worksheet where I listed all the holidays for the current year. Something as shown below: Below are the steps to highlight all these holiday dates in the calendar: The above steps apply a conditional formatting rule in the selected cells, where each date in the calendar is checked against the holiday list that we provided. In case the formula finds a date in the holiday list, it’s highlighted in the specified color, else nothing happens That’s it! If you follow the above steps, you will have an interactive dynamic monthly calendar that would automatically update when you make the year and month selection. It would also automatically highlight those dates that are holidays. Click here to download the monthly calendar Excel template
Creating the Yearly Calendar in Excel (that Auto-updates)
You can download this yearly calendar template by clicking here Just like the monthly calendar, you can also create a yearly calendar that automatically updates when you change the year value. The first step in creating the yearly calendar is to create an outline as shown below. Here I have the year value in the first row, and then I have created the monthly grids where I’ll populate the dates for the 12 months. I have also highlighted the weekend dates (for Saturday and Sunday) in yellow. For the yearly calendar, we don’t need the Month Names sheet, but we would still be using the holiday list in the Holidays sheet to highlight those dates that are a holiday. Now let’s start building this yearly calendar.
Have Month Names Above Each Month Calendar
For this yearly calendar to work, I will somehow need to refer to the month value in the formulas for that month (i.e. 1 for Jan, 2 for Feb, and so on) Let me show you a cool trick that will allow me to use the month number but at the same time instead of showing the number show the month name instead Follow the below steps to do this: The above steps format cell B3 to show the full month name. And the good thing about this is that the value in the cell still remains 1, and I can use these values in the formulas. So while the value in cell B3 is 1, it is displayed as a January. Pretty Cool… right! When you do the above, you may see the ## signs instead of the month name. This happens when the cell width is not enough to accommodate the entire text. Nothing to worry about – this will be sorted we align the text in the center (covered next) You need to repeat the same process for all the months – where you enter the month number in the top-left cell in the above row off the calendar month grid (I,e, 2 in J3 and 3 in R3, and 4 in M12 as so on). And for all these numbers, you need to open the format cells dialog box and specify the month name for each number. This is just a one-time setup, and you won’t be required to do this again. Also, you can reposition the name of the month so that it appears in the center above the monthly calendar grid. You can do this using the Center Across Selection technique. To do this: After doing this, the month names will be shown right above the monthly calendar and aligned to the middle. You can also format the month name if you want. In the calendar I have made, I made the month name bold and changed the color to blue. Once you have done this for all the months, you will have the structure in place, and we can go ahead and enter the formulas.
Formulas to Make the Dynamic Yearly Calendar
Similar to the monthly calendar, you can use the below formula for January: As soon as you enter the formula in cell B5 for January, it will spill and fill the entire grid for the month. And again, since we are using the SEQUENCE formula, you can only use this in Excel for Microsoft 365, Excel 2021, and Excel for the web. You can use the same formula for other months as well, with one minor change (replace $B$3 with $J$3 for February, $B$3 with $R$3 for March, and so on). This is because we have the month number for each month in a different cell, and we need to refer to the month value for each month in the formula.
Highlighting Holidays in the Calendar
And the final step of creating this dynamic yearly calendar is to highlight those dates that are holidays (these dates are specified in the holiday worksheet). Below are the steps to do this: The above steps would check all the dates in January and highlight those that are marked as a holiday in the holiday worksheet. You will have to repeat this process for all the months with one minor change. In the following formula that we use in conditional formatting, you need to replace cell B5 with the top-left cell reference of that month. For example, if you are doing it for February, then instead of B5, use J5, and for March, use R5. Once done, all the holidays will be highlighted in the yearly calendar as shown below. Click here to download the monthly calendar Excel template Click here to download the yearly calendar Excel template In the downloadable templates that I have provided, I have made sure that the entire calendar would fit one single sheet when printed. So this is how you can create an interactive calendar in Excel that automatically updates when you change the month value and the year value. I hope you found this tutorial useful. Other Excel tutorials you may also like:
Excel Holiday Calendar Template 2021 and Beyond (FREE Download)Calendar Integrated with a To Do List Template in ExcelHow to Get Month Name from Date in Excel (4 Easy Ways)Excel Holiday Calendar Template 2021 and Beyond (FREE Download)Calculate the Number of Months Between Two Dates in ExcelFREE Monthly & Yearly Excel Calendar TemplateExcel To Do List Template – 4 Examples (FREE Download)