Big trouble in little spreadsheet

Share

Facebook
Twitter
LinkedIn

Howdy folks. Jeff here. I recently gave a presentation on Excel efficiency to a bunch of analysts, in which – among other things – I’d pointed out that if you ever find yourself having to switch calculation to Manual, there’s probably something wrong with your spreadsheet. Here’s the slide:
 
Chandoo_Big Trouble in Little Spreadsheet_Slide

This prompted one of the participants to come to me for advise regarding restructuring a spreadsheet with that very problem. This analyst had a file with only 6000 rows of data in it, but the file size was something like 35MB, and after each and every change she had to wait at least a minute for the file to recalculate before she could do something else.

It turns out there were two problems with her files that were easy to resolve.

The Confused range

First, there was a problem with the Used Range – the area within a worksheet that Excel thinks contains all your workings and data. You can find out what this is for each spreadsheet by pushing [Ctrl] + [End], and seeing what cell this takes you to. Hopefully it will take you to the bottom-most, right-most cell that you’ve actually used in the sheet:
Chandoo_Big Trouble in Little Spreadsheet_Good Used Range

 

But occasionally, you’ll see that it might take you far, far below that cell. Maybe all the way to the very bottom of the grid:
Chandoo_Big Trouble in Little Spreadsheet_Bad Used Range
 
This is bad. Why? Because when Excel saves a file, it includes information about things such as what type of Cell Formatting is used within the used range. If the used range includes millions of cells that aren’t even used, then the information that Excel saves regarding these cells can really blow out the file size. This is exactly what had happened in the case of the spreadsheet concerned. After we reset the used range, the filesize plummeted from 35MB to around 2MB.

Often you can reset the Used Range simply by selecting all the the empty rows under your data, and then deleting them. To do this, select the entire row immediately below your data, then press [Ctrl] + [Down Arrow] to extend the selection right to the bottom of the sheet, then right click and select Delete:
Chandoo_Big Trouble in Little Spreadsheet_Delete

Note that you’ve got to use the Right-Click>DELETE option, NOT the Delete key on the keyboard. Pushing that Delete key does not reset the used range. In fact, this is often why the used range is wrong…it still reflects some data that used to be in the sheet, but that the user subsequently deleted using the keyboard.

When you’ve done this, then push [Ctrl] + [End] again and see where you end up – hopefully at the bottom right corner of your data.

Sometimes this doesn’t fix the problem, and you still find yourself well below your data. In this case, a bit of VBA will usually suffice. I’d suggest putting the below code into your Personal Macro Workbook, for times like this:


Sub ResetUsedRange()
Dim sht As Worksheet
Dim lng As Long

For Each sht In ActiveWorkbook.Worksheets
lng = sht.UsedRange.Rows.Count
Next
End Sub

To see what to do with this code, read What would James Bond have in his Personal Macro Workbook.

Too much SUMIF

The second problem is that each file contained something like 60,000 SUMIF formulas in them. And each one of these formulas referenced two entire columns, rather than just the 2500 rows that actually contained data. It’s really easy to see just how big a problem you might have, simply by doing a Find All for the name of the particular function you’re after:
 
Chandoo_Big Trouble in Little Spreadsheet_Find

You can throw 60,000 VLOOKUPS or IF statements or other run-of-the-mill functions at Excel and it won’t even blink. But 60,000 resource-intensive number-crunching functions such as SUMIF, SUMPRODUCT, COUNTIF etc pointed at very large ranges will cause Excel to flinch, if not shut it’s eyes completely for large periods of time.

That’s because these functions are like Ferrari’s…very powerful, but very expensive. One SUMIF is going to travel very fast down the highway. A few hundred SUMIFS on the same stretch are still going to whiz by pretty fast. Tens of thousands of them are just going to crash in to each other:
 
Chandoo_Big Trouble in Little Spreadsheet_Crashed Ferraris
 
(The image above comes from this New York Times article detailing a spectacular traffic pileup in Japan in 2011 that left a highway strewn with the smashed wreckage of eight Ferrari’s, a Lamborghini and three Mercedes sports cars. No-one seriously hurt apart from severely injured pride and a marked increase in insurance premiums the following year.)

Often you can use a PivotTable to do the same thing as a whole bunch of functions like SUMIF, COUNTIF, SUMPRODUCT et cetera. PivotTables are natural aggregation and filtering tools. In this case I could use just one PivotTable to replace those 60,000 SUMIFs, and recalculation time dropped from minutes to milliseconds. Now, reporting on this business process is effortless.

One spreadsheet, two morals

I’ve got two morals to share regarding this.

The first is to keep your eyes peeled for signs of trouble in your spreadsheets. Think of FileSize and Recalculation Time as the rev-counter of your car…if it’s getting further and further into the red, then pull over, and check under the hood.

The second – and I can’t underscore this enough – is the importance to organizations of educating all users on how to recognize symptoms of inefficiency. They don’t all have to know how to treat it (although that would be good), but just how to diagnose it. Because if it goes undiagnosed, avoidable inefficiency imposes significant, on-going, and very real opportunity cost. A real dollar amount.

Raising awareness of danger signs is possibly the biggest efficiency gain and risk-reducing opportunity that any training initiative can offer, at the least cost. It’s a game-changer.

Two morals, multiple remedies.

Over at the Daily Dose of Excel blog, I recently posted a mock business case centered around corporate investment in Excel training programme. There’s much more food for thought there, and even more in the comments, so go take a look, and please do leave a comment there with your own thoughts.

While this business case revolves around an internal corporate training programme, another great way of reducing this opportunity cost is through courses such as Chandoo.org’s own Excel School, VBA Classes, and other Chandoo courses.
excel-school-v5-1

Not to mention other fantastic courses that you’ll find advertised on the web if you look.

And yet another is though interactions in places like the Chandoo Forum, where you’ll find an army of ninjas with more collective experience than the Borg from Star Trek. The hive mind that is a forum knows no equal.

And of course, you’ll find a wealth of information on this very blog, in articles like I said your spreadsheet is really FAT, not real PHAT!

About the Author.

Jeff Weir – a local of Galactic North up there in Windy Wellington, New Zealand – is more volatile than INDIRECT and more random than RAND. In fact, his state of mind can be pretty much summed up by this:

=NOT(EVEN(PROPER(OR(RIGHT(TODAY())))))

That’s right, pure #VALUE!

Find out more at http:www.heavydutydecisions.co.nz

Facebook
Twitter
LinkedIn

Share this tip with your colleagues

Excel and Power BI tips - Chandoo.org Newsletter

Get FREE Excel + Power BI Tips

Simple, fun and useful emails, once per week.

Learn & be awesome.

Welcome to Chandoo.org

Thank you so much for visiting. My aim is to make you awesome in Excel & Power BI. I do this by sharing videos, tips, examples and downloads on this website. There are more than 1,000 pages with all things Excel, Power BI, Dashboards & VBA here. Go ahead and spend few minutes to be AWESOME.

Read my storyFREE Excel tips book

Overall I learned a lot and I thought you did a great job of explaining how to do things. This will definitely elevate my reporting in the future.
Rebekah S
Reporting Analyst
Excel formula list - 100+ examples and howto guide for you

From simple to complex, there is a formula for every occasion. Check out the list now.

Calendars, invoices, trackers and much more. All free, fun and fantastic.

Advanced Pivot Table tricks

Power Query, Data model, DAX, Filters, Slicers, Conditional formats and beautiful charts. It's all here.

Still on fence about Power BI? In this getting started guide, learn what is Power BI, how to get it and how to create your first report from scratch.

28 Responses to “2010 Calendar – Excel Template [Downloads]”

  1. [...] Download and print the calendars today. You can add notes to individual dates or complete … [...] Uni Ego / Free 2010 Calendar – Download and Print Year 2010 Calendar today [...]

  2. William says:

    Afternoon,

    I have one similar calander that I added conditional formatting to so that I could highlight any planned factory holidays. I think i "borrowed" the formula from another calander so I won't post it here.

    I also added week numbers to it using the formula =WEEKNUM(MAX(C6:I6)) Where C6:I6 is the range of dates in that give week. It works fine on most of the months but return strange values on other months (Week 6 in October?) I can't see any logic behind why it does this.
    Any suggestions for an alternative formula to give the week numbers?

    Regards,

    William

  3. Miguel says:

    Hi Chandoo,
    I've added a new feature on your spreadsheet.
    This control can be useful for all the sheets where you need to check dates.

    Cheers

    http://cid-69a78592a23a8438.skydrive.live.com/self.aspx/.Public/2010-calendar%5E_Miguel.xls

  4. Nimesh says:

    Hi Chandoo,

    Nice calendar.
    Till now whichever calendar I saw in Excel, it contained only the outline sheet.
    Good to see monthly views and the mini view too.
    Liked the mini view much. 🙂

    -Nimesh

  5. Chandoo says:

    @William: This weeknum may be because the input dates to max are not properly formatting as excel dates.

    Good tip on the conditional formatting and holidays btw...

    @Migueal: Now that is super awesome. This is the reason why I love to blog. Readers will always one up me with such cool alternatives. Thank you for sharing this with us.

    @Nimesh: You are welcome 🙂

  6. Shish says:

    is it possible to get the Notes section on the outline page to display the notes added to the month page for a specific date?

    So if you add thing for January 2nd, and then select January 2nd those notes appear on the outline page

  7. Chandoo says:

    @Shish... You can do that using some formula magic. I would not recommend pushing excel to that as outlook / google calendar / icalc etc. do exactly that much more elegantly.

  8. Jörg says:

    Happy christmas to all of you!
    This is really awesome. The nicest calender I've seen for Excel. I also like Miguels version of the sheet.

    Just one "feature" is missing to me. As I live in Germany - where weeks start on Monday - I'd like to change this. Could someone please give me a hint how to do this?

    Thanks in advance

    Jörg

  9. Pedro says:

    Hi Chandoo, I’ve added some new features on your spreadsheet with your permission.

    Check it here:
    http://cid-6b219f16da7128e3.skydrive.live.com/self.aspx/.Public/Calendar%5E_Pedro.xlsm

    Miguel, this calendar is translated to Spanish language.

    Jörg, this new approach allows us to start weeks on Monday.

    Also it's possible to start weeks on Sunday if you enable Excel macros and push the arrows.
    Best Regards,
    Pedro.

  10. Chandoo says:

    @Pedro.. superb stuff.. thanks for sharing the file with all of us.

  11. Pedro says:

    Hi Chandoo, for dates before March 1, 1900 our calendars are wrong.
    In Microsoft Excel, DATE, EOMONTH, WEEKDAY functions return an incorrect result between Monday, January 1, 1900 and Wednesday, February 28, 1900.
    See this page: http://support.microsoft.com/kb/214326/en-us/
    Microsoft Excel incorrectly assumes that the year 1900 is a leap year in all Excel versions.
    That's the reason why our calendar versions only work from March, 1, 1900 until December, 31, 9999.
    Your comments are welcome.
    Pedro.

  12. Chandoo says:

    @Pedro.. Thanks for pointing that out. wow... This reminds me of the Joel Spolsky's first BillG review - http://www.joelonsoftware.com/items/2006/06/16.html (read it, I am sure you would love it.) when Bill out of blue asks about date time implementations for VBA (which Joel is the program manager for...)

    Thanks for sharing the URL too... Here is a specially made, chocolate sprinkled, extra fluffy donut for you 🙂

  13. Pedro says:

    Hi Chandoo, thanks a lot for the donut but I prefer it without chocolate!

    Always it's good to know a little history of Excel.
    The Joel Spolsky’s last BillG Excel review was about the "Hall of Tortured Souls"
    (See this Excel 95 Easter Egg here: http://www.eeggs.com/items/719.html)

    Do not miss the humor!

  14. Pedro says:

    @Chandoo.. I just return with a new calendar version.
    http://cid-6b219f16da7128e3.skydrive.live.com/self.aspx/.Public/calendar-pedrowave.xltx

    It helped me to practice conditional formatting, formulas to show check boxes, data validation drop down list, find out Thanksgiving Day's date for any year, how to find dates of public holidays using Excel, all reading your wonderful posts!

  15. Pedro says:

    Perpetual Calendar Spanish version starting weeks on Monday:
    http://cid-6b219f16da7128e3.skydrive.live.com/self.aspx/.Public/calendario-pedrowave.xltx
    Main characteristics:
    - Not macros.
    - Select a year from 1900 to 9999 with a dropdown listbox.
    - All date fields with the real date format.
    - Easy language change of day of the week and month names because are also dates.
    - Hide Saturdays and/or Sundays.
    - Week starting on Sunday or Monday.
    - Week and month numbers.
    - Hyperlink between sheets.
    - Consistent colors to Holidays, Diary and Events dates.
    - Easy change of Holidays by country.
    - Include 80 World Days and you can add more.
    - A diary with my birthday and 50 more programable appointments.
    - Check box to hide individual dates or all.
    - Holidays, diary and events text are showed on each month's sheet.
    - Ranges defined with Name Manager variables.
    I'll appreciate if you make me some suggestions to improve this calendar.
    Pedro.

  16. Joco1114 says:

    Please, I need help!
    I like all calendar from Pedro, thank you for them. Let me show my problem:

    I have 2 excel cells (for example AE12 and AE13) which mean the starting and the ending date of my duty. I need a macro to insert sheets with label YEAR. MONTH (for example 2010. August or similar) with the proper datas between the two dates. Is it possible?

    Thank you for reading me and sorry about my terribel english! 🙂

  17. Peter says:

    Hello Pedro,

    Thanks so much for the modified calendar template. I love the extra functionality you added. Is there any way you could upload an unlocked version? I wanted to change some of the comments and data validation so I could use it for one of my applications.

    As for feedback on potential improvements, with all the additions you made the file runs pretty slow. I'm sure this has to do with all the interconnectivity between the various tabs, but if there is a way to use less memory via more efficient formulas or something else I think this would make it easier to use. I have a brand new computer and with it running alone the response was pretty slow. One of the changes I'm making is changing the order of the months to match my company's fiscal year, so maybe something to automate a change like that could be useful.

    Cheers,

    Peter

  18. Pedro Wave says:

    Peter, my calendars are unlocked but you need Excel 2007 and 2010 versions to open them.

    Now I return with a new Programmable Task Calendar:
    http://cid-6b219f16da7128e3.office.live.com/view.aspx/.Public/Calendario%20de%20Tareas.xlsx

    Wath an introductory video here:
    http://pedrowave.blogspot.com/2010/10/programmable-task-calendar.html

    This new calendar allows to select the start month to match the school and fiscal year.

  19. ASA says:

    This is great stuff Chandoo and company

    Wanted to know if someone had built something similar

    I need to store one Excel Sheet on this calendar that has all the holidays

    US Holidays appear in RED
    UK Holidays appear in Blue
    Meetings appear in Green
    Submissions appear in Orange

    Is there a way I can store the list in a separate worksheet and all the calendars get updated with this?

    Thanks

  20. divya says:

    please tell me "how to convert Rs.10000/- in to words through excel formula

  21. [...] is all! http://chandoo.org/wp/2009/12/11/2010-calendar-excel-template-downloads/ See more Templates at http://www.vertex42.com/ Share this:Like this:LikeBe the first to like this [...]

  22. Kerisa says:

    Greetings,

    Thanks for this wonderful excel vacation tracker. I notice that the tracker only has three months November, December and January 2015, however, I would like to add the other ten months for 2014. Can you please instruct me on how I can add the other months?
    Thanking you in advance.

  23. kanu bhatia says:

    Hi Chandoo,
    Calendar: can this be printed as single sheet 8.5x11 inch per month
    kanu

  24. Rahul says:

    WOW! I just searching some of like this, that help me.
    Thank you for sharing.

Leave a Reply