As you may new, the newest version of Excel is out for a while. I have been using it since last 6 months and enjoying it. Today, lets understand 10 things in 2013 that wowed me (and probably you too).

Flash Fill
Imagine Flash (the super hero, not browser add-in) is using Excel to extract the middle names of all his villains. Now, flash being flash, do you think he will slowly type out the middle names one at a time? Of course, he can learn Excel formulas and do it in one stroke. But he is too busy running around & saving earth. So, obviously he would use Flash Fill.
Flash Fill works almost like magic. It looks at what you are typing and sees if there is any pattern in it (based on adjacent columns etc.) and then suggests a fill down option. See this demo.

Bonus Tip: Press CTRL+E to activate flash fill.
Built-in Data Model
The top 3 reasons why analysts & managers spend so much time with Excel:
- Searching for that mysterious flight simulator Easter egg (#)
- Formatting worksheets
- Trying to link up multiple tables of data using VLOOKUP, Copy Paste and black magic.
Fortunately Excel 2013 makes #3 a breeze, thanks to built-in data model. Using Excel 2013 data model, you can link multiple tables with each other (one to one or one to many relationships) and generate powerful Pivot reports & charts with few clicks. Now you have more time to search for flight simulator.
Timelines
These days everybody boasts of a massive spreadsheet. But almost no one needs all the data at same time. We are always filtering data for latest quarter, 6 months starting Mother’s day or 8 weeks from November 1st etc. Of course, you can use auto-filter and select all the dates. But it is a pain.
Thanks to Timelines, filtering for dates is a breeze. You can add timelines for any date column in a pivot table / pivot chart. I am sure your clients & bosses will love it.

Quick Analysis
Depending on your work, you may love or hate it. Quick analysis is a new button that appears when you select a bunch of data. Using this, you can do a lot of quick analysis tasks like adding conditional formatting, charts, sparklines or turning your data in to tables (or pivots). To be frank, I find this a bit of annoyance as my analysis work is never quick!
But I am sure there are tons of people who would find this very useful.

Excellent color scheme
The default color scheme of Excel 2013 is bold, creative and well contrasted. It is a far cry from Excel 2003’s color scheme (which is boring, glaring & poorly contrasted). Now, if you insert a default chart (or table, pivot etc.) from your data, you need to do very little clean up work. It is ready to go!!!

Distinct Counts & more in your Pivot
If you are really quiet, you can hear an analyst in your company screaming with joy once they realize that in Excel 2013, you can get distinct count of values in pivot reports!!!

That is right, using Excel 2013 pivot reports, you can find out distinct counts. No extra formulas or no arrays or no VBA. More power to you 🙂
[Related: Using Distinct Count feature in Excel 2013 – case study]
New Formulas
In Excel 2013, there are many new formulas and improvements. My favorite new formulas are,
- Web formulas – WEBSERVICE(), FILTERXML() and ENCODEURL() (an example on these formulas)
- Information formulas – ISFORMULA(), FORMULATEXT(), SHEET() and SHEETS()
- Logical – XOR(), IFNA(), BITXOR(), BITOR(), BITAND() etc.
Easier Charting
In Excel 2013, there are massive changes in charting. Now you can create combination charts, add secondary axis, set up smart data labels, format the chart or switch styles with ease. Microsoft revamped the default formats too so that when you make a chart from data, it is ready for presentation (with out too many tweaks).
Some of favorite charting features are,
- Recommended charts feature that tells you which charts go well with your data.
- A screen where you can change the chart type for each series easily.
- Common chart customizations are a click away (screenshots 1, 2 & 3)
- Ability to create scatter plots based on a variety of input data layouts (Jon Peltier’s article on this).

That said not everything is rosy with 2013 charting. For example, I do not like that we have to go thru sidebar pane to customize charts (formatting etc.) instead of dialog box.
Animated Charts
One of the slickest things you will notice in Excel 2013 is the animation that you see when you move selection, do calculations or create charts. While this may be annoying to some, I find one good use for it. When you use charts coupled to interactive elements (like form controls, slicers etc.) they look sexier, thanks to Animation. See this demo to understand what I mean.

Power to you
Excel 2013 Professional Plus versions comes bundled with Power Pivot & Power View, 2 excellent features for powerful data analysis & visualization. You can think of these as full fledged BI solutions sitting right in your computer. The only glitch, Microsoft decided to give these features only Professional Plus users. I know it is annoying that home, office, professional level licenses cannot use Power Pivot even if they want to pay extra. What a pity!!!
More on Excel Power Pivot licensing issues & possible solutions.
Related: What is PowerPivot & How to use it?
3 things that are not so impressive
The whole cloud thing:
While it is understandable that Microsoft wants us all to purchase shiny new Surface tablets and use spreadsheets on the go, it seems like a bad idea. It annoys me that when I want to save a file, the first option I see is Chandoo’s sky drive. The process of saving files to sky drive and later viewing them in browsers is very slow and often results in errors or warnings. Instead, for desktop versions, why not make My computer as first preference?!?
Sharing & Social features:
Share to Facebook?!? seriously! Why would anyone want to share their spreadsheets on twitter or facebook? Do we really want facebook to know our annual budget & appraisal ratings (so that they can show us ads that say – Buy our scissors and cut your budget in half )?
Power Pivot is not for masses:
Microsoft positioned Power Pivot as BI for masses, offered it for free in Excel 2010. Then in Excel 2013, they went ahead and implemented a licensing policy that looks just as complicated as my lawyer’s invoice. Why would a for-profit company like MS want to not offer powerful tools like Power Pivot to masses for a fee? Why sell it only to corporate customers thru volume licensing program? beats me.
Bottom line
Despite these minor annoyances, I think Excel 2013 is a well designed, solid & powerful software ready to make more people awesome in their work. With features like tablet compatibility, data model, slicers & timelines, improved UI & color schemes it has quickly become my first choice when I want to use a spreadsheet (I run Excel 2010 & 2013 on same computer).
Are you using Excel 2013, what do you like about it?
Are you using Excel 2013? How do you like it? Which features are best according to you? Please share your thoughts and views using comments.















25 Responses to “Shift Calendar Template – FREE Download”
Hi Chandoo,
your recent postings include only Excel 2007 templates. Unfortunately the company I work at still runs Excel 2003. Is it possible to get your awesome files in other excel version as well?
Thanks so much for your great excel stuff!
Is it possible to do this for shifts with hours instead of days? To organise a three shift day?
Thanks in advance,
Stelios
In my organization there are 45 employees i need split then into three shifts ex:A shift:14,B shift:14,C shift:14 and week off:3 kindly help me on this.
@Masthan
You need to understand what rules your company has for the various shifts / roster combinations
Chandoo, I once did a shift control spreadsheet for my team. I put one person in each line, the columns were the days. I put a shift code in each cell indicating in which shift that person should work, or if the person were out that day. I have two codes for being out. One is for vacations and one is to compensate days worked in weekends. This way I was able to count how many persons I have in each shift, how many were on vacations and how many were out compensating (that's the term we use here) weekend worked hours.
Later I included the possibility of a person be in two lines one for normal hours other for overtime. This is mainly used for planning purposes. If you would like I can send you an example. The only problem of this spreadsheet is that we don't have a person view, only this consolidated view.
Hi George, I would like to have a copy of your spreadsheet if you can share it.
Thanks in advance, Chuck
Hi Chandoo,
Where is the code located ? is it VBA ? If so , how do you hide it ? Or it is .NET ?
Thx
@Idan
.
No VBA or code, it is all done with Mirrors.
Only Joking,
.
But there is no VBA or code,
It is all done with Named Formulas and Lookups.
Have alook at the cells in the calander area and Named Formulas in the Formulas, Name Manager Tab.
How can i calculate between two or more different workbooks? Please, reply me as early as possible.
@Anand
Open the workbooks you want to link to
Start a formula = and click and change between workbooks as required.
You can use the View, Switch window menu to change workbooks mid formula
The format for using workbooks is
=[Workbook.xlsm]Sheet1!$A$1
or
=SUM('[Book2.xls]Sheet1'!$A$1:$D$10)
etc
Hi Chandoo,
I am working with a call centre wherein i ned to update at the month end 20 to 30 employees login hours which are defict to track it at the month end is very difficult is there any template which can be made to track that why on a particular day a guy who needs to be on calls was why not on calls.
Thank you so much Chandoo. This is really helping me. As usual, you rock.
What's FortyTwoDays and Calendar in Name manager?
Both are unused and FortyTwoDays doesn't make any sense.
I have a SQL db that contains records of events scheduled/completed on a particular date. Can this method ous building a calendar be used to display those events on the respective day?
Positively awesome!
I'm attempting to help a friend create a schedule for adult classes - and of course its not"paid help". Here is the scenario:
20 classes, instructor, room#, student class size, start date, number of class days (need to subtract weekends)
class
instructor
room
students
start
#days
PATH
karen
201
21
01/01/13
11
BILLING
jane
401
15
01/12/13
13
MEDISOFT
mike
301
11
01/25/13
9
he'd like to see these classes show up in different colors within the same month's calendar chart. He can draw it, but I'd like to see it done automatically through data, and I just can't visualize it, but I KNOW this will work - can you help?
Jan 🙂
Dear chandoo,
Try many way to download still can't access. Any way we want to try out 3 shifts with 3 guys in a group .eg Group A Morn, Group B Night and Group C Rest. And every each group must work on sunday to take turns. In fact we are security teams so that's why sunday is required to work. Pls guide and show how to put in the working calendar. Thank you in advance.
I've been trying to copy and/or recreate this to use in a workbook I'm doing for the transportation department I'm working for. I need to have the calendar on the first sheet in my document (it has graph's from data on another sheet). I'm trying to use it to track (with the conditional formatting) accidents and injuries. I've redone the conditional formatting to do 4 different accident types (no injury, near miss, OSHA recordable injury and work loss injury), but when I enter the formula's you have in the calendar portion where it says "DateOfFirst-FirstWeekDay" I can't figure out how you did that. Are you able to help?
I would like to use Excel to solve the following problem for a community work. I want to create a Driver schedule for a given month from a pool of volunteers for a community service. Each of these volunteers can drive only on specific days in a week. I would like to populate the driving schedule for each weekday with primary, secondary and tertiary drivers in a random fashion so that I do not overburden one person. I would greatly any help you can provide.
Hi chandoo,
Thanks for your valuable effort for create this template and let me know how to add multiple employees in the the Roaster.
Hi Chandoo,
This article on shift roaster is very helpful. Could you please let me know how i can use the same for n number of resources who work 24/7, considering their leaves and holidays?
Thanks,
Savitha
Hi Chandoo,
This article on shift roaster is very helpful to all. Could you please let me know how i can use the same if I want to add for some more shifts, since the color is not getting change if I add more shifts like 4,5 etc.,
Thanks,
Murali
nice post
How can I change the date to 2017 under Shift Data worksheet.
solution 1:
mydata=B2:C16
stoplist=E2:E8
=LET(RNG,A2:A16,SMR,C2:C16, F,(RNG=E2)+(RNG=E3)+(RNG=E4)+(RNG=E5)+(RNG=E6)+(RNG=E7)+(RNG=E8),SUM(SMR)-SUM(SMR*F))
=LET(RNG,A2:A16,SMR,C2:C16,RH,N(B2:B16=B2), F,(RNG=E2)+(RNG=E3)+(RNG=E4)+(RNG=E5)+(RNG=E6)+(RNG=E7)+(RNG=E8),TOT,SUM(SMR)-SUM(SMR*RH*F),SUM(SMR*RH)-SUM(SMR* RH*F))
ALTERNATE SOLUTION
=SUM(C2:C16)-SUM(FILTER(C2:C16,ISNUMBER(BYROW(A2:A16,LAMBDA(a,TOROW(SEARCH(a,E2:E8),2))))))
=SUM((B2:B16=B2)*(C2:C16))-SUM((ISNUMBER(BYROW(A2:A16,LAMBDA(a,TOROW(SEARCH(a,E2:E8),2))))*(B2:B16=B2)*(C2:C16)))
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Replaced Value" = Table.ReplaceValue(Source,null,";",Replacer.ReplaceValue,{"Column1"}),
#"Transposed Table" = Table.Transpose(#"Replaced Value"),
#"Removed Other Columns" = Table.SelectColumns(#"Transposed Table",{"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10", "Column11", "Column12", "Column13", "Column14", "Column15", "Column16", "Column17", "Column18", "Column19", "Column20", "Column21", "Column22", "Column23", "Column24", "Column25", "Column26", "Column27", "Column28", "Column29", "Column30", "Column31", "Column32", "Column33", "Column34", "Column35", "Column36", "Column37", "Column38", "Column39", "Column40", "Column41", "Column42", "Column43", "Column44", "Column45", "Column46", "Column47", "Column48", "Column49", "Column50", "Column51", "Column52", "Column53", "Column54", "Column55", "Column56", "Column57", "Column58", "Column59", "Column60", "Column61", "Column62", "Column63", "Column64", "Column65", "Column66", "Column67", "Column68", "Column69", "Column70", "Column71", "Column72", "Column73", "Column74", "Column75", "Column76", "Column77", "Column78", "Column79", "Column80", "Column81", "Column82", "Column83", "Column84", "Column85", "Column86", "Column87"}),
#"Merged Columns" = Table.CombineColumns(#"Removed Other Columns",{"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10", "Column11", "Column12", "Column13", "Column14", "Column15", "Column16", "Column17", "Column18", "Column19", "Column20", "Column21", "Column22", "Column23", "Column24", "Column25", "Column26", "Column27", "Column28", "Column29", "Column30", "Column31", "Column32", "Column33", "Column34", "Column35", "Column36", "Column37", "Column38", "Column39", "Column40", "Column41", "Column42", "Column43", "Column44", "Column45", "Column46", "Column47", "Column48", "Column49", "Column50", "Column51", "Column52", "Column53", "Column54", "Column55", "Column56", "Column57", "Column58", "Column59", "Column60", "Column61", "Column62", "Column63", "Column64", "Column65", "Column66", "Column67", "Column68", "Column69", "Column70", "Column71", "Column72", "Column73", "Column74", "Column75", "Column76", "Column77", "Column78", "Column79", "Column80", "Column81", "Column82", "Column83", "Column84", "Column85", "Column86", "Column87"},Combiner.CombineTextByDelimiter("|", QuoteStyle.None),"Merged"),
#"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Merged Columns", {{"Merged", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Merged"),
#"Added Prefix" = Table.TransformColumns(#"Split Column by Delimiter", {{"Merged", each "|" & _, type text}}),
#"Replaced Value1" = Table.ReplaceValue(#"Added Prefix","||","|",Replacer.ReplaceText,{"Merged"}),
#"Split Column by Delimiter1" = Table.SplitColumn(#"Replaced Value1", "Merged", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"Merged.1", "Merged.2", "Merged.3", "Merged.4", "Merged.5", "Merged.6", "Merged.7", "Merged.8"}),
#"Removed Columns" = Table.RemoveColumns(#"Split Column by Delimiter1",{"Merged.1"}),
#"Removed Duplicates" = Table.Distinct(#"Removed Columns")
in
#"Removed Duplicates"