This is a guest post written by Joel Zaslofsky, author of Experience Curating.

How to Make “Put It in a Spreadsheet” Who You Are (and Not Just What You Do)
It seemed like a crazy question:
Could I use my passion for Excel as motivation to transform my leaky brain from a weakness into a strength?
Sure, I already had a fifteen year love affair going with Excel.
Every other email I sent to my co-workers had an attached Excel spreadsheet. And when I wasn’t using Excel for work purposes, I was using it for grocery list templates or budget tracking.
But I had to discover the answer to my crazy question.
So I told my wife Melinda in January 2012, “Honey, this is the year I put it in a spreadsheet!”
As I reveal in my article Spreadsheets and You, Melinda shot me a puzzled look. Was I joking? Should she ask me to elaborate?
She gingerly responded, “You’re going to put what in a spreadsheet?”
I shot her back a grin and said, “Everything!”
Experiences with videos, books, recipes, quotes, songs, online content, conversations, fleeting thoughts … everything. Little did I know that I was about to experience the gorgeous love child of curating and spreadsheets.
Hold on to your hat, my friend. You’re about to see how I use Excel to curate my entire existence. It’s something I call “Experience Curating,” and this is where things gets juicy.
The Power of Excel: Formulas and Numbers Optional

Wait a moment.
Isn’t there a Chandoo policy against publishing posts without awesome formulas or behind-the-scenes Excel strategies?
Fortunately, there isn’t (thanks, Chandoo!).
I respect my Excel-loving friends who can run VLOOKUP and macro circles around me. But unlike most people who use Excel for data analysis and number crunching, I enjoy it for the simplicity.
In fact, most of my spreadsheets have no formulas and some don’t even contain numbers.
Spreadsheets without formulas or numbers?! Blasphemy! Why even bother … right?
However, you probably know and love a few unconventional uses for Excel like creating role playing games or playing Super Mario World or Space Invaders. I just happen to know a lot of uncommon ways to use Excel with surprising results.
The most unconventional and best way I’ve tapped into Excel’s functionality has to be Experience Curating, though. In fact, it was so powerful that I spent a year writing a popular book about it.
Experience Curating is a three-part blueprint that empowers you to recognize, capture, organize, and share your most valuable moments. The first part builds the mindset that everything can be curated to benefit yourself and others. The second part integrates the six-step FAOCAS framework that makes any experience meaningful. And the last part applies the tools and best practices to grow actual curating currency.
I can’t convince you here that spending 0.1% of your time adding value to the other 99.9% through curating is worth it. And I can’t explore the nuances of the FAOCAS framework – Filter, Archive, Organize, Contextualize, Access, and Share – on Chandoo’s platform.
What I will do is show you how to use Excel to keep your most valuable experiences tidy, accessible, and sharable. What you use your curated experiences for – making money or personal finance mastery, improving your relationships, truly useful to-do lists, or world domination (for instance) – is up to you.
Using Excel to Curate (Even Excel Resources)
Since you like Chandoo, I assume you want to rock at Excel. Actually, I bet you’ve seen many Excel-related resources that you’d like to revisit or share with this community.
But it’s time to answer some tough questions like:
- Are you archiving those Excel-related blog posts, knowledge base articles, YouTube videos, and other experiences?
- Have you organized your Excel resources “experience elements” – the who, what, when, where, why, and how of an experience – in a logical and meaningful way?
- Did you preserve the context of the content creator and add your personal layers of valuable context?
- Can you access your Excel resources when, where, and how you want?
- Can you share your resources quickly and with attribution to the source?
It’s OK if you answered no to any of these questions. Follow these steps, or customize them for your unique needs, and you’ll be answering yes in no time.
- Define your curated spreadsheets’ goal(s): In this example, the goals of the spreadsheet are to capture, organize, preserve context, instantly access, and share (when necessary) your Excel-related resources.
- Determine how many worksheets you need. My default is just one worksheet so that I can quickly see, sort, and filter everything in one place. You, however, may want multiple tabs so you can do fancy formula and visualization stuff that I don’t even know about. The decision is up to you.
- Identify your sort and filter needs. Knowing how you want to sort and filter your workbook helps decide how many and what type of experience elements would be useful. Is sorting by tag or experience creator essential? Is filtering by resource topic category or subcategory important? Whatever column headers (a.k.a. experience elements) you need to slice and dice should be required columns. Everything else can be optional.
- Create a simple instruction manual. Each experience element should have a logical name, a clear purpose, pre-defined acceptable values (preferably with data validation), a realistic example, optional general notes, and be either required or optional. You don’t want to leave this critical foundation in your ever-changing memory or subject to interpretation. Fortunately, it’s easy to create an instruction manual in a separate worksheet. Check out my example if you want to see Experience Curating in action.

- Think about the visual formatting. My minimalist nature seeps into Excel as I use almost no color and little overall visual formatting. But I still contemplate the ideal margins, orientation, header, footer, print area, and printed paper size in case someone else might want a physical version. I also choose a column’s cell format (e.g., text, number, or date), font (I like 11 point Arial), and text alignment (e.g., wrapped or indented) that’s ideal for each experience element column.
- Create a pre-populated list of labels for your required experience elements. Each pre-populated list lets me turn off my brain and rely on a set of labels that I determined with intention. I especially like data validation here so I’m prevented from entering a label that’s not part of my pre-populated lists. As a best practice, I also add customized error messages that prompt me to use an existing label or add a new one to the pre-populated list.

There are tons of best practices around this process in Experience Curating, but these six steps will let you curate any combination of topic and medium in Excel.
If only the millions of Evernote or Facebook users knew what they were missing when they don’t use Excel to curate!
Excel + Experience Curating = Awesome
What Chandoo does with Excel is magical.
What a master curator like Robin Good does with Scoop.it, Zeef, or hundreds of other tools is inspiring.
Now imagine combining the best of Chandoo with the best of Robin Good.
That’s what Experience Curating is all about.
It takes little energy and time. And since you already have Excel, you have no extra investment to make.
Pick a single topic you like and start curating it in spreadsheets. In fact, I’ll make it easy on you. Here’s your first resource to put in your new spreadsheet … and it’s about spreadsheets: Skilledup’s 133 Excel Resources: Tutorials, Guides, Add-ins, Templates, & Courses.
Need to expand the combination of your curated topics and mediums beyond spreadsheets and Excel? Just use another Experience Curating template, the Curated Topics and Medium Tool Decision Grid.
Spend two minutes now to curate this post so you or someone else can benefit from it later. The proven process of the FAOCAS framework can help if you need it.
Your experiences don’t just happen to you. They can make big things happen for you.
Preferably in Excel, of course.
For the comments: What other ways do you know of to use Excel unconventionally? What tweaks would you make to the Experience Curating framework to make it even more valuable with Excel?
Added by Chandoo: Thank you Joel
Many thanks to Joel for writing this article and sharing an interesting & powerful way to use Excel to make ourselves smarter, better & more awesome. Exactly the kind of stuff that gets me excited.
If you enjoyed the article & want to put everything in Excel, take a minute and say thanks to Joel. Also, check out his book for understanding more about experience curating.
Note about the links to Joel’s book: I am using my amazon affiliate link for Joel’s book. That means Chandoo.org make a few cents, if you choose to purchase it thru my link. I genuinely like Joel’s book & I think you will enjoy it too. I would have recommended it even with out the affiliate link.
About the Author
Joel Zaslofsky is the creator and author of Experience Curating. When he’s not enjoying nature, working on his Smart and Simple Matters show, or chasing his sons around the house, he’s cranking out useful stuff at Value of Simple. Stop by to download the free tools that he and countless others use to simplify, organize, and be money wise.














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"