Handle Volatile Functions like they are dynamite

Share

Facebook
Twitter
LinkedIn

Volatile functions in Excel are like dynamite. Handle them with care!

If you’re building large models, then you may want to use volatile functions – including OFFSET(), INDIRECT(), and TODAY() – with caution, because unless you know what you are doing, they *might* slow Excel down to the point that data entry is sluggish, if not downright tedious.

In fact, you *might* want to consider getting out of the habit of using these functions at all if there are  alternatives, and you might want to replace volatile functions in your existing models with non-volatile alternatives…I have reduced recalculation time in large models from minutes to milliseconds by doing just that!

So what the heck does volatile actually mean? And why should you care? Let’s find out, shall we?
 
 

How does Excel update all those cells?

Let’s take a look at how Excel ensures that each cell has the right number in it when you make a change somewhere. But first, a disclaimer: Note that this is an introductory article, and so is necessarily simplistic. If you want to know more about the specifics of this complicated subject, check out the links to Excel MVP Charles Williams’ excellent site at the bottom of this article. Okay, disclaimer ends…

A large Excel model might have several hundred thousand cells with formulas in it. Maybe even several million. Most of these formulas will reference other cells, and many of those cells will have formulas in them that reference other cells in turn, and so on. If a formula in a Cell A2 refers directly to Cell A1, then A2 said to be directly dependent on A1. Obviously if A1 changes, we need those changes to flow through to A2. And when recalculating the entire workbook, we need A2 to be recalculated AFTER A1 has been recalculated. That’s called a dependency chain.

Large models can have a number of very long dependency chains comprising of hundreds of thousands of cells that run across worksheets or even between workbooks. To keep track of how all these cells interrelate – and to ensure that a change in any specific cell’s value correctly flows through to any other cells that may depend on it – Excel builds and maintains what is known as a ‘dependency tree’. Think of this as a big flow-chart or circuit diagram showing how all the cells in one of these giant formulas interconnect. Excel maintains this dependency tree every time you make a change to a formula in a cell, by looking at the argument list of each separate function within that formula. And this dependency tree is saved along with the file itself.

Smart Recalculation

Thanks to this dependency tree, when you change the value in one cell, Excel can work out what other cells might be affected. And so Excel can smartly recalculate just those particular cells. Meaning it doesn’t have to blindly recalculate the whole workbook just because one fairly insignificant part of it might have changed.

So let’s say you change the value of a cell  somewhere that has only one other cell pointing at it (and no further cells depend on that other cell). Thanks to smart recalculation, Excel only recalculates the value of the cell you just changed, and the value of that ONE dependent cell. It doesn’t have to recalculate the entire workbook.

Likewise, if you change the value of a cell somewhere that has many, many cells downstream, then Excel of course has to recalculate all of the cells further down that particular chain. But it can safely ignore any cells further up that particular dependency chain. And it can ignore any cells elsewhere that aren’t in this particular dependency chain.

If a long-enough part of a dependency chain gets recalculated, then you might well see the word ‘calculating’ in the status bar while Excel works its way through all the relevant cells in that chain. But usually, this recalculation happens so fast that the word ‘calculating’ flicks on and off so quickly that you don’t notice it.

Not-so-smart recalculation thanks to volatility

Now here’s the important bit: a particular class of formulas called volatile formulas get automatically recalculated any time you enter data anywhere in any open workbook – even if the thing you just changed had nothing to do with those volatile functions. And then this triggers Excel to then recalculate all directly dependent cells downstream from those volatile formulas too. Yikes!

This mean that if you’ve opened a very large spreadsheet model with volatile functions in it – and if those volatile functions have a large number of formulas downstream (or a smaller amount of resource intensive formulas) – then if you are say trying to add items to a shopping list that you’ve started in another workbook it could take minutes for you to add each item to that shopping list, because every time you add an item, it triggers an avalanche of unnecessary and pointless recalculation in the large spreadsheet model.

The fact that each and every cell ‘downstream’ of any volatile formulas get recalculated is an important point to get your head around. Many people think that slow calculation times due to volatility is due to the time it takes to recalculate large amounts of volatile functions in a model. But often most of that delay is in fact due to the recalculation of all the cells ‘downstream’ from those volatile functions. In other words, even just one volatile formula with a very long calculation chain hanging off it could cause you grief. And if that calculation chain gets more and more complex, so does the effect of that one volatile formula.

Here’s how that looks visually:

In fact, it’s not just entering data that will trigger a volatile function to recalculate, but also these things (among others):

  • Deleting or inserting a row or column.
  • Performing certain Autofilter actions.
  • Double-clicking a row or column divider (in Automatic calculation mode).
  • Adding, editing, or deleting a defined name.
  • Renaming a worksheet.
  • Changing the position of a worksheet in relation to other worksheets.
  • Hiding or unhiding rows (but not columns)

So almost anything can set off that domino effect. Which reminds me of this:

(And what the heck…if you enjoyed that, then click this link too. But hurry back…this post is getting cold).

So which functions are Volatile?

These ones:

  • NOW()
  • TODAY()
  • RAND() and RANDBETWEEN()
  • OFFSET()
  • INDIRECT()
  • INFO() (depending on its arguments)
  • CELL() (depending on its arguments)

If you’re an intermediate Excel user, then chances are that you already use some of these regularly. For instance:

  • OFFSET() is usually the function of choice to anyone who wants to create dynamic ranges
  • Many large models make use of the INDIRECT() function to construct cell or range references “on the fly” in response to some choice that a user makes
  • Many large models make use of the TODAY() function to check if a date entered by a user occurs in the past, present, or future.

When does this matter?

Most of the spreadsheets you use these functions in are so small that you probably don’t even notice any extra volatility-related recalculation. So no harm done. However, if you’ve ever had that a large spreadsheet that seems particularly sluggish when you’re trying to enter new data – or that seems to impact the performance of other open workbooks – then chances are you know exactly what I mean.

I’ve seen frustrated-looking users waiting for as long as one to two minutes for particularly large models to recalculate after each and every change they make to it, even if those changes are relatively insignificant, such as changing the spelling of a column header.

Often spreadsheets like this get so sluggish that users switch Excel’s calculation setting to Manual, just so they can make changes in a timely fashion, and then switch it on again when they’re done in order to have the model calculate the correct answer. This is dangerous…I’d never set calculation to manual if I could help it. There’s just too much chance that someone someday will use output of such a model without remembering to set calculation to Auto. What’s worse, when you open two workbooks, one saved in manual mode and one saved in automatic mode, they will both have the calculation mode of the first workbook opened. I have seen many cases in my career where analysts have done just that…opened a workbook with calc set to manual, opened a whole bunch of others where calc was set to auto, and then done an entire day’s work without realizing that calculation was subsequently turned off for all of them. Doh!

Here’s a slide from my Excel Efficiency presentation that warns users not to do this:
Chandoo_Big Trouble in Little Spreadsheet_Slide

Previously you might have thought that you had no choice but to switch calculation to Manual, because you might have thought that this sluggishness is an unavoidable consequence of the size and complexity of your spreadsheet. But now you know that it *might* be caused by use of volatile functions, and that volatile functions might not be suitable for some occasions…particularly if you’re building large models that utilize these functions at key points within your model. Replace those Volatile functions with some non-Volatile alternatives, and you’ll likely find that your model stops being a slow dog, and starts being a much faster greyhound. To the point that you can switch calculation back to Automatic again.

What are the alternatives to Volatile functions?

While volatile functions like OFFSET() and INDIRECT() are incredibly useful, you can usually achieve the same thing by using other non-volatile formulas such as INDEX or CHOOSE, as well as through leveraging off the dynamic references that Excel Tables allow.

And instead of the TODAY() function, you can use VBA to populate today’s date as a hard-coded value in big models, as you’ll see in the download file below. Check out the Alternative Functions tab of that file to see some examples of common use of volatile functions, as well as some non-volatile alternatives.

If you’re struggling to find a non-volatile replacement for an existing volatile formula, then you can always post a question on the Chandoo Forum asking for some advice on non-volatile alternatives.

Am I being over-zealous here?

As we’ve seen, too much reliance on volatile functions *might* trigger large parts of a model to be recalculated needlessly. But it’s worth remembering that this is only going to be noticeable in particularly big spreadsheets. So perhaps I’m being a little overzealous here. So if you know what you’re doing, then maybe you don’t want to dismiss volatile functions outright. After all, you can always assess your options on a case by case basis: try them out, test, test, test, test again, and then make a balanced decision.

However, if you know of an alternative formula combination that does exactly the same thing as a volatile formula, then I’d suggest that you get into the habit of using that instead whenever you can. That way you won’t inadvertently have issues when it really matters. And I’d suggest that if you don’t have much experience of functions and performance, then perhaps it’s safest to simply err on the side of caution and steer clear of volatile functions altogether.

So not only do I see little down side to avoiding volatile formulas, but I see a significant upside: I’ve seen plenty of large models built by the likes of the big 4 accounting/consulting firms that make heavy use of volatile functions, and that consequently have recalculation times so long that they are effectively unusable. Stripping out the volatile formulas from these models has resulted in delays from data entry falling from upwards of two minutes to well under a second. Not to mention that users can now work on other files while these models are open, without fear of triggering an avalanche of unnecessary and pointless recalculation. Had these model builders known to avoid volatile functions, they would have saved users a lot of grief.

Excel MVP and Recalculation Expert Charles Williams says:

The better use you make of smart recalculation in Excel, the less processing has to be done every time that Excel recalculates, so avoid volatile functions like INDIRECT and OFFSET where you can, unless they are significantly more efficient than the alternatives. (Well-designed use of OFFSET is often fast.)

In fact, on Charles’ website he goes so far as to say avoid volatile functions wherever possible.

With all that in mind, I’ve made a personal choice to steer clear of volatile functions where I can. Your mileage may differ. Regardless, the subject of volatility is definitely something that intermediate users should be made aware of. What they do with that awareness is up to them. But forewarned is forearmed.

Fancy a demonstration?

Sometimes it’s most helpful to see something with your own eyes. So download this file, open it, and enable macros: Volatility-demo-using-TODAY-20140230
You’ll see it has a dropdown in it, where you can choose to either populate a cell with the volatile TODAY function or with a hard-coded date:
Chandoo_VolatileFormulas_Dropdown
Downstream of that drop-down output cell are 20,000 formulas spread across two columns:
Chandoo_VolatileFormulas_Formulas

If you choose the Use Volatile TODAY() Function option from the dropdown, then whenever you enter data in that 3rd ‘Completely independent cells’ column then you should notice a significant delay. Change that dropdown to ‘Use Hard-Coded Date’ and you should experience significantly less delay, if any.

You’ll also see a blue button you can click, that will time how long the delay is under each option:
On my system, there’s about a 1 second delay when using the TODAY() option, and almost no delay when using the hard-coded date. (Note that you have to click the blue button twice after you change that dropdown to get the ‘proper’ reading. The first reading will be artificially high.)
Chandoo_Volatility_Test

Why are some functions volatile?

The reason for some of these functions being volatile this is fairly obvious. For example:

  • NOW() should always return the time as at the last calculation, so needs to be refreshed any time new data is put into the workbook, in case one of your formulas does something specific based on the time of day.
  • TODAY() similarly must be refreshed to ensure than the day hasn’t changed since the last time something was entered into the workbook  (which will be the case, if someone works past midnight, or if they come in in the morning and make a change to a file that they had left open the previous night.)

But the reasons for others being volatile – such as OFFSET and INDIRECT, which are often used by modellers to create dynamic named ranges – are less clear. First, let’s look at what OFFSET and INDIRECT actually do:

  • Offset Returns a reference to a cell or a multi-cell range that is a given number of rows and columns from a given reference. So OFFSET($A$1,1,2,5,3) says “Go one cell down from $A$1 (which takes us to $A$2), then two cells across (which takes us to $C$2) and then return a block of cells 5 down from $C$2 and 3 across from $C$2 (which gives us the range $C$2:$D$6)
  • Indirect Returns the reference specified by a text string. References are immediately evaluated to display their contents. So Indirect(“$A1”) tells Excel “Go look in cell $A$1, and tell me what’s in it”.

So why would that mean they need to be volatile? Because Excel constructs dependency trees based on cell references.

  • INDIRECT() has an argument that is constructed out of text – e.g.  INDIRECT( “$A1”). This might look like a cell reference, but it is not. In fact, the argument of an INDIRECT function might equally look something like this:  INDIRECT(“$B”&$C$9-2).
  • OFFSET() takes numerical arguments, which point to a cell reference, but are still just numbers.
  • In order for these to form part of Excel’s dependency tree, the Excel dependency tree algorithm would have to first evaluate text like INDIRECT( “$A1”) or the numerical arguments like OFFSET($A$1,1,2,5,3) in order to determine what the associated cell reference actually is, before adding it to the dependency tree. Maybe the Excel obviously made the call that rather than introduce this extra step where these two functions are concerned, they may as well just make both functions fully volatile.

But given that you can set up INDEX() do much the same thing as OFFSET(), why doesn’t INDEX need to be volatile too? I imagine it’s because INDEX uses range arguments, whereas OFFSET uses numerical arguments. So Excel can extract these range arguments directly from an INDEX() function when building/amending the calculation dependency tree.

Note that INDEX() is what’s called semi-volatile, meaning it gets recalculated when the workbook opens.

And also note that any formulas used in conditional formatting effectively become what Charles Williams calls super-volatile: they are evaluated each time the cell that contains them is repainted on the screen (which happens say if you use the scroll bar to move the ‘view’ up/down or left/right), even in Manual calculation mode. But because no other formulas are ‘downstream’ from conditional formats, then only the conditional format formulas themselves get recalculated. So if you’ve got simple conditional formatting rules, you won’t notice any delay.

More info:

I’ll talk about alternatives to using volatile functions in a series of upcoming posts. But meanwhile…if you’re not feeling too sluggish…then check out these great links from Excel MVP Charles Williams.

Pretty much everything I’ve covered in this post came from Charles’ writings, so I’d like to acknowledge the work he has done in explaining this complex subject to countless Excel users over the years. Charles also sells a great add-in called FastExcel for profiling Excel calculation performance and memory useage – so be sure to check that out if you want to get serious about diagnosing volatility issues with your own Excel models.

You may also be interested in Jan Karel Pieterse’s RefTreeAnalyser utility, which among other things allows for easy Auditing of formula dependents and precedents, helps you trace errors, and will let you time your workbook calculation for each worksheet to find bottlenecks as well as check columns for formula inconsistencies. Jan Karel has a free demo version with limited functionality, if you’d like to take it for a spin.

Let me know your thoughts in the comments

This has been a particularly taxing post to write. So if you found this article helpful, please let me know below in the comments. If you’re not following something I said, or can think of a better way to say it, then let me know that too.

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.

122 Responses to “10 Excel Keyboard Shortcuts I can’t live without!”

  1. Anup Agarwal says:

    Nice,

    Mine would be Ctrl + R (to fill right) and Ctrl + D (to fill down). I just love making good formulae which can be used all over the table.

  2. Radu says:

    Mine are (not in this order): Ctrl+S (save), Ctrl+W (close active workbook), Ctrl+PageDown/PageUp (navigate to the next/previous worksheet), F4 (toggle references), Ctrl+A/X/C/V (select all/cut/copy/paste), F9 (calculate).

  3. zaur says:

    I use ctrl+shift+1 for convert value to number format

  4. Finnur says:

    I'd add ctrl+shift+arrows to select tables and F9 to see what part of my larger than normal formula went wrong. Plus the standard ctrl+c, ctrl+x and ctrl+v.

  5. Jennifer says:

    Some of those mentioned already (eg CTRL + PageUp / PageDown to flick between tabs) but shift + f2 to add a comment and CTRL + 8 / CTRL + 9 to hide a row or column or CTRL + SHIFT + 8 or 9 to unhide. Oh and CTRL + SHIFT + $ to comvert a value to currency

  6. Paul Maddock says:

    I use the excel quick access toolbar, and use the corresponding alt+1-9 for my most used short cuts. So on there I currently have filter, paste values, pivot table, excel options, paste formulas which are my most used shortcuts.

    But apart from that f5 (go to function for blank, constants formulas).

  7. Stephen says:

    well I'm going to tell you I Use
    Alt+1 = paste values
    Alt+2 = paste formula
    Alt+3 = paste formats
    how?
    Excel 2007 - you can add items to the quick access toolbar and then when you press ALT it assigns them all a number/letter. it's just a case of finding the right commands.

    • Jason says:

      Excellent... made me look for them and when i did get them i just went crazy... hahahahahaha... thanks a lot stephen....

  8. Hui... says:

    Most of Chandoos and
    Ctrl Pg Up/Down - move to next active page
    Alt F11 - open VBA Editor window
    Ctrl F6 - Scroll between open workbooks
    Ctrl ~ - Show/Hide Formulas

  9. Alan says:

    For Tip #4 I always use CTRL+ALT+V, I find it easier on the fingertips.

    4. ALT+ES – Paste Special > Values

  10. Gaylen says:

    I have created a macro for the functions that I use most:

    Ctrl + shift + L to hightlight cell
    Ctrl + shift + M to unhighlight cell
    Ctrl + shift + O to paste formula
    Ctrl + shift + T to past format
    Ctrl + shift + E to format as accounting
    Ctrl + shift + I to use % format. and these excel. and many of the other tips mentioned.

    • Daniel says:

      how did you make these macros? Thanks!

      • Gojak says:

        Hi Daniel
        Simple - just record a macro of the action you want then when you save there'll be an 'assign shortcut' option for you. You can also change them after if you find it's not that convenient or you forget it too easily.
        Cheers

  11. Fred says:

    Using 2007 version:
    Crtl-tab to toggle in and out of excel with another workbook or applicaiton (word, ppt, outlook, etc). I prefer this over Crtl-F6 because i only need to use my left thumb and index finger instead of 2 hands for Crtl-F6. To me, the keys Crtl-F6 is too far away from one another, even if I don't have to worry about toggling to other applications like crtl-tab.

    Crtl-Pg Up and Crtl-Pg Down: too many worksheets to do QC work after each project/update.
    Shift+End+arrow key or Crtl+Shift+arrow key: depends on if i want the whole column/row/area.
    F4 for ease of formula control.

    Crtl+F to find/replace text, numbers, formula checking, etc.

    I have all paste special on the access tool bar instead. there are too many situations to use.
    Crtl+~ to see all cells with formulae.

    F2: not only edit the formula but to hi-light and understand where others cells are linked to this cell, if any.

  12. Dennis says:

    I use
    Ctrl + spacebar to select entire column,
    Shift + spacebar to select entire row
    Shift + Ctrl + spacebar to select all datas in the worksheet
    Ctrl + 0 to hide a column
    Ctrl + Shift + 9 to unhide a column
    Ctrl + 2 to bold

  13. Mick Coleman says:

    Guys - you can't live without Ctrl + Z - just as you can't live life without an eraser.

  14. Tom says:

    Here are a couple that haven't been mentioned yet (I think)...

    ALT + = (Autosum)
    CTRL+A (Select data/all)
    CTRL+Space (Select column)
    SHIFT+Space (Select row)
    CTRL+SHIFT+F3 (Create Names)
    CTRL+5 (Strikethrough)
    ALT+ENTER (Mutliple rows in cell)

    I've noticed that the unhide column shortcut (CTRL+SHIFT+0) stopped working when I updated to Windows 7...anyone know why (or a workaround)?

  15. tamoghna9 says:

    All time best CTRL+SHIFT+Down arrow to select contiguous cells ( along a column)

    ALT+N+V+T to insert pivot table

    ALT+E+A+A to clear all ( very handy!!!)

    ALT+F1 to insert default chart in current sheet

    arrow key to toggle between chart elements

  16. David says:

    In addition to the obvious Control + C/X/V (Copy, Cut, and Paste), I use ALT + = to insert AutoSum. This is realy handy.

  17. Jonny says:

    Definitely Shift or Cltr + Space Bar, then Ctrl + or - to add/delete a row/column.

  18. Stružák says:

    1. Ctrl + Page Up/Down - jump to previous/next worksheet
    2. Ctrl + Home - jump to the top of the worksheet
    3. Ctrl + F3 - displays the Name manager
    4. Ctrl + 1 - format
    5. Ctrl + ; - paste today's date
    6. Ctrl + W - close active workbook
    7. Shift + F11 - adds new worksheet
    8. Shift + F3 - insert formula
    9. Ctrl + 9 - hides selected row
    10. Ctrl + 0 - hides selected column

    Btw thanks a lot for "CTRL+SHIFT+L – Turn on/ off filters", I have to learn that. 🙂

  19. Alan Murray says:

    Mine have to be:

    Ctrl + Shift + + to insert a new row/column/cell
    F9 to run formulas. Great for testing parts for a formula
    Ctrl + D to repeat the cell above

    • Felix Murillo says:

      Yeah man, control+d
      Thumbs Up for this shortcut, specially when you work with a lot of data base, just create your formulas and Bualaa. Bless people.

  20. Pam says:

    Ctrl + z = Undo is one I use a lot

  21. Les Goins says:

    Didn't see these--

    Being right-handed, using thumb and forefinger...:-)
    Cntrl + Insert for Copy
    Cntrl + Delete for Cut

    Whenever I'd go to new company, had standing invitation: if anyone knew more ways to "copy" than I, I'd buy lunch... this was always the winning #7"...:-)

    How many ways y'all know...?? Im ready to buy lunch...:-)

  22. Les Goins says:

    yep--#2 is good--- but I use Alt + D+F+F which only takes one hand and leaves right hand for coffee...:-)

    and, since I discovered "MS Flag key + M" to close all open windows and put u at Desktop...I use it multiple times a day...

  23. David says:

    F12 - Save As...

  24. Rohit1409 says:

    Yes agreed with CTRL - Z, but hey don't forget his brother CTRL - Y [Redo] 🙂

  25. hasanlianar says:

    Ctrl+Alt+V for Paste Special
    Alt DFF for Filtering
    Alt ASD for Sorting in decending order and Alt ASA for Sorting in ascending order
    Ctrl PageDown/PageUp for navigation over sheets

    etc.

  26. Arun Kumar says:

    Can someone put all these shortcut keys in photoshop and share the link so that we can put it as a wall paper.

  27. Hi,

    very useful post!

    Mine are:

    Shift-End- - selecting used fields
    F4
    CTRL-S

    Thanks for the inspiration - I love the cheat-sheet wallpaper idea.

    P.S.: Where's your flattr-button?

    Thomas

  28. Amit Dhingra says:

    Mine will be

    F11 - Create a chart
    Alt + D + F +F - To turn on/ off the auto filter

  29. Graham says:

    Really good post, lots of useful stuff here!
    One of my most used not mentioned already (i dont believe!):
    ALT + SHIFT + F1 - add new sheet to workbook

  30. Sidhesh Mangle says:

    1 of my best short cut is to Check which cells/worksheets are referenced/used in formula
    -> Ctrl + [
    Works only on the cells which has formula. it Jumps directly the dependent cells
    & Ctrl + ] works for those cells which will be used in formula (Dependents)

    • Adam Turco says:

      Thank you so much for showing me what this Ctrl Function does, i used it by accident and have struggled to figure it out. Now I'll use it all the time!!

  31. Fowmy says:

    To freeze and unfreeze panes

    ALT+W+F+F

  32. Steen says:

    A couple of my favourites I haven't seen mentioned:

    ALT E+S for paste special, use all the time for copying formats, values formulas, etc.
    ALT E+I+S useful for creating values in a series
    SHIFT ALT right arrow to group, ALT D+G+H to hide group ALT D+G+S to show group.
    ALT+TAB to navigate between open windows.

  33. Chris says:

    @Steven, thanks for the tip on using the quick access toolbar. I just rearranged mine.
    In addition to many of the shortcuts listed above I use F4 to repeat an action and CTRL+N to open a new workbook

  34. Fred says:

    @Les Goins

    I tried Crtl+Del but it only delete. it is not cut if we can't paste it back somewhere else, right?

  35. Les says:

    ...:-) Sorry, Fred (And, all others...)

    should be "SHIFT + Delete key" to "Cut"... THEN, just hit Enter, or Cntrl V to Paste

  36. bansi says:

    CTRL# to format dates!!

  37. Darshan says:

    Hi All,

    My fav or top are
    1 alt+dff for auto filter
    2 alt + es, followed by, v, c, w, etc for paste special
    3 Ctrl + navigational keys to move around in workbook
    4 ctrl + space select entire column
    5 shift + space select entire row
    the list will just go on... in a nut shell all short cut Handled by left hand and right hand for the mouse + defnitely coffe 🙂

  38. Stephen says:

    @Chris, glad i inspired.
    a couple more favourites of mine:
    Alt & ; = select visible (really useful when working with autofilter)
    Ctrl&PgUp/PgDn = move left/right on a sheet (useful when you have a lot of columns)
    Ctrl&Tab (or Ctrl&Shift&Tab)= switch between workbooks (& the other way back)
    Alt&Tab (or Alt&&Shift&Tab) = switch between applications (& the other way back).... however, if you note that it always takes you to the last used application first, then press & release both repeated will flick you back and forth between 2 applications or 2 workbooks without having to press the shift. I use this if I have to complete journals, where I have to take data from Excel and post into our accounting package.... with Ctrl&C/Ctrl&V.

  39. Vinodh Raj says:

    I use the following short cuts often
    1) Alt D,F,F - AutoFilter
    2) Ctrl+space - Select entire column
    3) Shirt+Space - Select entire row
    4) F12 - Save As
    5) Alt + F,C - Close workbook
    6) Alt + F,X - Close Excel application
    7) Ctrl + 1 - Format Cell
    8) Context menu key (next to win key) + S - Paste special
    9) F4 - Repeat the last action
    10) Ctrl + PageUp, PageDown - To browse through worksheets

  40. Clarity says:

    Everyday shortcuts for me:
    CTRL + C Copy
    CTRL + X Cut
    CTRL + V Paste
    CTRL + D Copy from above
    CTRL + Z Undo
    F4 Repeat (or scroll through referencing)
    F2 Edit cell
    CTRL Page Up/Page Dwn Move to next/previous worksheet
    CTRL + * Select current region
    CTRL + Home Go to top left cell

  41. Gojak says:

    CTRL + ; insert date - I use a lot but I like to have the keystrokes the way I want so I make tiny macros for my faves and give them my own key combos.
    CTRL SHIFT + V = Paste Values is much easier than the built in for me because it's a natural follow-on for CTRL + C.

  42. Andy says:

    I use "CTRL+[ " This takes you to the source of your formula and I use it every day.

  43. Gaylen says:

    The "CTRL+[" Is fantastic. Thanks for Sharing.

  44. Hui... says:

    @Andy & Gaylen, All
    Don't forget about Ctrl+]
    which follows a cell to it's next dependants
    Both of Ctrl+[ and Ctrl+] can be used iteratively to move up/down the dependancy tree

  45. Gojak says:

    Great ... thanks everyone for the tips.
    BTW - it's interesting how good it is for us all to be human filters. Instead of a bamboozling blur of what you could possibly use, it's: here - you'll probably like this one ... I do.

  46. Jennifer says:

    @andy and hui

    I'd not come across the CTRL + [ or ] before so thanks! I can't imagine how useful they'd have been over my career so far. Great tip

  47. Siddique Sayeed says:

    really helpful

  48. SARAN KUMAR says:

    My list is bit more..

    Ctrl+page up/down to move between tabs
    right click+p+s for paste special values (i use most of the times keyboard right click..since it is very near to fingers)
    alt+d+f+f and again alt+d+f+f to remove all the filters and add filters again
    ctrl+tab to move between open workbooks
    ofcourse F2 very commonly
    Shift+F11 very frequently to add new worksheet/tab
    alt+o+h+r and alt+o+c+a are my best shorcut keys to rename tab and auto fit the cells
    (ctrl+c/x/z/v/b/u/i/S..like everyone)

    Regards,
    Saran
    lostinexcel.blogspot.com

  49. Marek says:

    Since I use Conditional formatting very often i always use ALT+O+D

  50. Gojak says:

    Just thought of another
    for wrap and unwrap, ctrl+w and ctrl+q+w (quit wrap)
    because I do it a lot and it's too fiddly to do through menus.

  51. Akansha says:

    Hi use ALT+DFS on a daily basis- incase you have filtered a sheet against 5-7 filters and you want to remove all filters then this is the easiest.

  52. Duy Dang says:

    Ctrl + Alt + V ----> paste special

  53. Cezar says:

    Ctrl + F6 = navigate between differetn Excel files.
    Ctrl + PgUp/PgDn = navigate between sheets
    Ctrl + Home/End
    Ctrl + Arrows
    Shift + lots of keys... 

  54. Jevi says:

    ALT + ; - to copy visible cells only. I have to use it quite often and a lot of them you have already mentioned :).

    thank you for sharing.

  55. Prathap says:

    Ctrl+shift+L for Autofilter and remove the filters

  56. Anton says:

    My Favourites (which I use all the time):
    Ctrl + 1 - cell formats
    Ctrl + D - copy values Down
    Ctrl + R - copy values Right
    Alt + DFF - toggle filters on / off
    Alt + WFF - toggle freeze pane on / off
    Alt + HVF - Paste Special; Formulas
    Alt + HVV - Paste Special; Values
    Ctrl + C then Alt + HVV - removes formulas (especially handy when selecting whole sheet)
    Alt + ADFROT - Advanced Filter to get Unique values for a column, to new location
    Alt + DPF - insert quick Pivot Table

  57. Oz says:

    Hello everyone.

    I'm going to admit that I don't use keyboard shortcuts beyond Copy and Paste.

    Why not? Every software and OS has their own keyboard shortcuts and I have a fear of them overlapping.

    One keyboard shortcut might do something cool in Excel but in my music composition software that shortcut might mute the drum track. In my video editing software is might the the shortcut for opening the effects menu.

    Shortcuts are really cool but I've gone 15 years working Excel, writing VBA code, and making a living without memorizing keyboard shortcuts. Only recently have I been willing to admit that.

     

    • Hui says:

      @Oz
      Your missing out on huge increases in efficiency
      Most of the normal shortcuts are similar throughout all applications
      Ctrl C, V X - Copy, paste Cut
      Ctrl O - Open
      Ctrl S - Save
      Ctrl P - Print
      and several other of a similar nature
       
       

      • Oz du Soleil says:

        Hiu,
        I see what you're saying but still disagree. The efficiency that I'm missing out on is small. This isn't like I've declared refusal to use pivot tables.

        Shortcuts were screwing me up when I switched from Excel on my PC and Excel on my Mac. CTRL C, CTRL V are useful and universal. I do use those.

        The only thing I can see is that I'd be in trouble if I joined one of those Excel tournaments.

        One mildly humorous reaction: when you mention CTRL P for printing, I never just straight print. The printer manufacturers have things set up where you can't set a printer to default to printing in draft mode. So, I always manually go to the print menus and adjust the settings to draft mode.

        Any way ... the bottom line is that I don't work in an environment where shortcuts will make or break me.

  58. Heather says:

    I use one program that has Ctrl C and Ctrl V for inbuilt shortcuts and it drives me nuts because I use them all the time. The Shift+Ins is the one I need to use in that program.

    Another Excel one I use often is Ctrl+' to copy the data from the cell above. Several others that have already been listed. 

    My new laptop has the "F" buttons combined with other buttons. To save space on the keyboard I guess. Whenever I'm at home and hit F2 to edit it toggles my wi-fi on and off. Grrr. I have to hold the function key then hit F2 to activate the F2 function.

    So glad I found this page. Paste values only is the shortcut I was looking for. Found it. 🙂 Thank you. 

    • Kenneth says:

      lots of people at my office use a background program to assign keyboard shortcuts.  Drives me crazy because they use existing keyboard shortcuts like ctrl-a to shoot off a macro, then they don't know how to select all.  Makes training them on excel a lot more difficult.

      • Michael says:

        A good background program to assign keyboard shortcuts will allow them to be application specific so that ^a does not interfere with select all in excel. A misused background program could easily result in the situation described above.

  59. Rob says:

    Highlight a row or column and use...
    Ctrl + + and Ctrl + - to insert or delete rows or columns

    • Gojak says:

      Thanks Rob - I've got double rows of toolbars all round with hundreds of buttons, so even finding my faves like insert delete row can be hard. That'll be really handy.

  60. JWS says:

    Does anyone know how to use the ALT-key (or any other key) to access the buttons on the Quick Access Toolbar (QAT) numberd with more then 2 digits? 

    • Sheeloo says:

      Just type the numbers/letters shown.

      If it says 09 just press 0 and then 9 (of course after pressing ALT to see the shortcuts assigned to QAT)

  61. Kenneth says:

    The less-common (but already mentioned here) shortcuts I use the most are:

    Ctrl-1  (cell format)
    Ctrl-Home/End  (beginning/end)
    Ctrl-Shift-Home/End  (select from here to beginning/end)
    Ctrl-PgUp/PgDn  (move between worksheets)
    Ctrl-`  (show formulae)

     

  62. Bonnie says:

    Very helpful!  Thanks!
    A couple of my time-saver favorites:
    F2 to edit a cell (helpful if I just need to delete the last character and don't want to retype the whole thing)
    Shift-F2 to add or edit a comment (then Esc Esc to get back out of it)
    Also a big fan of the Ctrl-K hyperlink one that others have mentioned!

    • Gojak says:

      Been reading these tips for a year and a half, and always something useful.
      I use a lot of comments so Shift-F2 is helpful. Thanks.
      For F2 - edit cell there is an option to 'Directly edit in cell' which I always have on. Just double click. Not only that, but the cursor will be just where you double click, so you can start middle, end, wherever you need, without another click. 🙂

  63. Bonnie says:

    I just hate to use the mouse, so I avoid double-clicking at all costs! 🙂

    • Gojak says:

      Fair enough. I change my mind regularly about that. It's a mood thing ...or if I'm eating over the KB. Bad! hehe.

  64. Sonu Kashyap says:

    CTRL + SHIFT + & (TO CREATE OUTLINE BORDER)

  65. SMTP2GO Review says:

    I've read several excellent stuff here. Definitely price bookmarking for revisiting. I surprise how much effort you put to make this kind of magnificent informative site.

  66. Craig says:

    I often use F2 followed by F9 to convert a formula in a cell to its value. It's the keyboard equivalent to copying the cell, and using Edit > Paste Special > Values on the same cell, but much quicker.

    Application? I use this a lot if I have to manually separate items on a receipt into different categories, but I still have to take sales tax into account. I'll enter certain items from the receipt into the cell, and include a quick formula to get the sales tax for just those items. When I'm done, I strip out the formula just to be on the safe side, leaving the value of the cell.

    • Gojak says:

      Thanks Craig, unfortunately when I tried this I found another app has hijacked my F9 - what does it normally do by itself? I will have to try to wrestle it back from the app.
      BTW I use paste vals so much I made a macro so I could use ctl-sh-v. The reason this is so handy is because of course I've always done ctl-v immediately before so it's really like one quick action, with the bonus that the paste val doesn't have to be in the same cell (I mean you don't have to lose your formula) Easily my most constantly used macro. If you want to give it a try ...

      Sub PasteValues()
      '' Keyboard Shortcut: Ctrl+Shift+V
      '
      'ActiveCell.Select
      'Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
      'False, Transpose:=False
      ActiveCell.PasteSpecial Paste:=xlValues
      End Sub

    • n. says:

      does it work on a range. I tried selecting a range and then F2+F9. It changes from formula to value in just first cell.

  67. Abhishek says:

    Is there a keyboard shortcut for filtering a value after adding the filters to a data?

    • Michael says:

      It might be a bit clumsy, but just use the keyboard to navigate to the filtered cell and hit Alt + Down to bring up the filtered options.

  68. RAwat017 says:

    Mine
    CTRL+* ( it will slecte all the work area)

  69. […] Our friend Chandoo, excel dashboard guru over at chandoo.org has provided us with the 10 Excel Keyboard Shortcuts You Can’t Live Without. […]

  70. Oz du Soleil says:

    Other than CTRL C, CTRL V the only other shortcut that I can't live without: CTRL+SHIFT when moving a block of data and wanting it inserted.

    After highlighting the cells that you want to move, select CTRL+SHIFT and the cursor turns into a line that you position to the place where you want the data inserted. It's pretty cool.

  71. Shmuel says:

    1. Ctrl+Enter accepts your input and leaves the cursor in the same cell. Saves you from having to go back up to continue work on that cell e.g. copy....
    2. Select a range of cells which have the same formula or content; edit the active cell only; now press Ctrl+Enter to populate the entire range with the corrected formula/content!
    3. In the middle of a formula, if you have navigated away from the active cell (e.g. to select a large range) such that it is no longer visible, you can press Ctrl+Bckspace to jump back to the active cell whilst remaining in edit mode

  72. Seheer Qatar says:

    Am using as
    Ctrl+5 for strikethrough in the content of the cell.

  73. sonali says:

    hi..
    can any one tell me what is shortcut for copy and paste all the table as it is..i knw ctrl+c and ctl=v; bt this shortcut not paste document as it is..

  74. […] the most popular posts from earlier this semester. Re-posted from February 14, 2013 Website: http://chandoo.org/wp/2011/08/08/must-have-excel-keyboard-shortcuts/ Especially useful when analyzing data, making charts and formatting workbooks. Business and […]

  75. Don says:

    The two I use all the time are:
    Ctrl + (Control and Plus sign on numeric keypad) = Insert row or column
    Ctrl - (Control and Minus sign on numeric keypad) = Delete row or column

  76. Dina says:

    Shortcut #4 is one of my favorites, but there's an important note speficially regarding Paste Special Values - you need to hit V after alt + ES. I know you have a link to that detial amongst other options within Paste Special (all of which I use all the time and LOVE), but if you're specifically noting Paste Special Values, it should read alt + ESV.

    Thanks for all your info!

  77. […] some time getting fully on board with shortcuts. As an added resource, do check out Chandoo’s post on 10 must-have […]

  78. David says:

    Great discussions!
    I have a question for No. 8 CTRL + K for Hyperlinks.
    Is there any way you can add a Hyperlink and KEEP the existing formatting of the text in the cell?
    I would assume it might be a setting somewhere where you can define the Hyperlink Design - but that would just be another single format I think - I want it to be un-formatted if anything so it picks up the current cell format. Any ideas please? Thanks everyone!

  79. Preeti says:

    Hi Chandoo,

    I do regularly read emails received by you. I use above mentioned 10 shortcuts in daily workflow. In addition to this I use following shortcuts:
    Filter Ctrl+shift+L and open filter column alt+down arrow key.
    Visible cells Alt+:
    Format Painter Copy then go to the cell which you want format right click key+S+T

  80. ce site says:

    It's an amazing article designed for all the internet viewers; they will take
    advantage from it I am sure.

  81. Liran says:

    Amazing article,
    The only thing i didnt know is ctrl+shift+l for filters and I use them alot,
    so thanks!

    And my contribution is:

    alt+h+9 > remove decimal place
    alt+h+0 > add decimal place.

    Very useful when using ctrl+shift+1 for number formatting and immediately hitting alt+h+9 twice to remove decimal places.

    Cheers

  82. Jodi says:

    I am using AutoFilter and I have a large picklist of values available to me. I want to select about the first 50% of the items. Is there any shortcut to grab them? (i.e. Select 1st item, hold shift, select last item --which does NOT work).

    Thanks!

  83. ashish says:

    how can i "clear format" from a part of selection in excel by keyboard.
    i need keyboard shortcut to clear format of any cell.
    reply me
    ashish gupta
    email: ashish99b@gmail.com

  84. Debaraj Nayak says:

    Hiii...

    Previous is wrong ...

    Clear Format:-ALT+H+L+C+S

  85. Sheeloo says:

    I think 7 should be "CTRL+F3 – Show Names"

  86. zan says:

    cool, thanks bro!

  87. Sri says:

    Chandoo, Greetings! Nice tips. Like it & use ful. To make it credible and professional, please publish without spelling, grammatical mistakes, if you may. Thank you.

  88. Bonnie says:

    Sri: The spelling and grammar are pretty accurate, if you're referring to the original article. If there is a specific spot that you feel is unclear due to grammar issues, you'll want to provide more details on what is confusing you versus just saying "please publish without spelling, grammatical mistakes".

    Chandoo doesn't have control over the grammar or spelling in users' responses such as yours, of course; if that's what you're addressing, you should address your comment to the user who posted the item which you feel has poor grammar. (You would generally only do so, though, if it's that you need something clarified because of the grammar issue.)

    I'd like to note that your post isn't actually the best in terms of spelling and grammar. For example, you capitalized "greetings" even though it's in the middle of a sentence, and you put an unnecessary space in "useful". If you're particularly bothered by poor grammar, you'll want to proofread your own posts a little more carefully! 😉

  89. Michelle says:

    This is awesome, totally on nerd overload. Here's my fav:

    Go to - special - blanks
    Then Ctrl, up arrow, =, enter

    This fills in all the blanks!

    Thanks fellow geeks for all the sweet tips

  90. Sukarnen says:

    Guys,

    CTRL+SHIFT+1 always give us number format with 2 decimals. Is there any Excel shortcut that could give us number format with 0 decimal, other than making our own macro?

    Thanks

  91. Gyan Chand says:

    these shortcut keys are really helpful in smart work & fast work

  92. piecevcake says:

    Wonderful tips, I have made my own list.
    Another good one is CTRL+F10, toggles maximise/restore window in workspace. (So you can find the scrollbars, and switch books by clicking another one)

  93. Julie Falkman says:

    I use CTRL-Z to repeat the last command. Handy for inserting multiple rows or columns.

  94. […] Here are some great Excel shortcuts copied from http://chandoo.org/wp/2011/08/08/must-have-excel-keyboard-shortcuts […]

  95. MicroSoft Office Support says:

    I use filters to do an ad-hoc analysis of my data. So, Once I set a couple of filters.

  96. Jenny says:

    Ctrl ; to enter today's date

    Ctrl ' to enter the same data as above

    Ctrl home to go to the top

Leave a Reply