Category Archives: Excel

Excel stuff

Excel – requirements for competence

Introduction

Over the past few months I’ve been doing more Excel training than usual and regularly, at about this time of year, I train the new student intake for several firms of accountants. Since they keep inviting me back year after year I assume that the firms find the training useful. However, I am sure that other organisations assume that there is no need to train new recruits as they will have gained more than adequate skills in ‘basic’ software packages through school and possibly university.

I am sure that some students do indeed acquire pretty good levels of general software skills during their time in the education system, but in my experience there are two significant issues:

  • The level of software expertise varies dramatically from student to student;
  • Competence in the mechanics of using a spreadsheet doesn’t necessarily result in the ability to use spreadsheets appropriately and reliably in a business environment.

This led me to considering the ‘minimum’ level of spreadsheet skills and knowledge for someone using spreadsheets in business.

Here’s my initial set of ideas – comments, additions and disagreements welcome.

Basic formulae entry

Creating references to other cells in the same sheet, another sheet in the same workbook and a cell in a different workbook, including an appreciation of the dangers of referring from one workbook to another.

Using the basic mathematical operators – plus, minus, multiply and divide – including an understanding of the order of mathematical operations and the importance of brackets.

Understanding absolute and relative cell references, including partially absolute references.

Understanding the use of range names.

Use of Excel functions

Understanding some basic Excel functions:

  • SUM()
  • IF()
  • LEFT(), RIGHT() and MID()

Understanding how to use the ‘Insert function’ button to search for functions, enter function arguments correctly and read the help on specific functions.

Understanding how easy it is for functions to return incorrect answers if arguments are not entered correctly.

Design

Appropriate uses of spreadsheets and what not to use spreadsheets for.

The dangers of spreadsheets – how the lack of structure makes spreadsheets very error-prone.

Basic design concepts – the importance of separating data and formulae, organising spreadsheet contents, cell locking and worksheet and workbook protection, input data validation.

The importance of documentation – comments for individual cells and separate sheets to document important information about the spreadsheet.

The importance of building in checks and controls and exception reports.

The importance of testing.

Efficient use

How to create and use an Excel template.

Copy and paste and the use of the fill handle for copying and for extending lists of months and days.

Basic formatting including applying number and date formats.

Additional Excel features

Knowledge of the existence of:

  • Conditional formatting
  • PivotTables
  • Lists (Excel 2003) and Tables (2007,2010)

Conclusion

So is this list fair? What does it include that isn’t necessary for someone using a spreadsheet in business? What vital things have I missed out?

Excel, the LBW law, range names, form controls and logical formulae

Nearly two years ago I was running an advanced Excel course and needed to create an example of the use of Excel’s logical functions. Given that most of the people we train work in accountancy, our examples are usually based around financial data but, since it was the middle of the 2005 Ashes tour, the cricket LBW (leg before wicket) law sprang to mind. I’ve extended the example to look at the use of range names in making formulae easier to understand, and also to incorporate the use of a simple interactive form control.

Excel and the cricket lbw law

Continue reading

Extend list formats and formulas

Have you ever been typing in a list of items in Excel and suddenly found Excel has started automatically filling in formulas in one of the columns or copying the formatting down to each new item in the list? Have you wondered why this happens sometimes but apparently not all the time?

Extending formulas in an Excel list

The first thing you need to do is to check one of the Excel options. Go to the Tools, Options screen and select the Edit tab, see whether the ‘Extend list formats and formulas’ option is selected. Here are the screens first for Excel 2007, and below that previous versions:

Extend list formats and formulas option - 2007

Extend list formats and formulas option

For the automatic extend to work, this option must be turned on, and a rather long list of other conditions has to be satisfied. Perhaps the two most significant are:

At least three of the previous five rows must feature the formatting or contain the formula that is to be extended; and

A formula to be extended must not contain a range name (anyone know why?)

There is a far more complete description of how the option works, together with a list of situations in which it won’t work on the Microsoft site:

http://support.microsoft.com/kb/231002

Navigation short cut – double click your edges

I have a feeling I should have known this for years and that this article will highlight an embarrassing gap in my Excel expertise, but just in case I’m not the only Excel user who hasn’t spotted this before, here goes:

Navigate by double-clicking your edges

Double-click on the edge of a selected cell to quickly move to the corresponding edge of your data area. Do it while holding down the shift key to select all the intervening cells.

Navigate by double-clicking your edges - shift to select

If you prefer using the keyboard, the equivalent shortcuts are to hold down control and press one of the arrow keys to navigate, and to hold down both the control and shift keys and press an arrow key to select. Also, control+shift+spacebar selects the entire current region.

Excel Indirect() function – save hours

Excel’s Indirect function allows the creation of a formula by referring to the contents of a cell, rather than the cell reference itself. Of all the functions covered in our Excel courses, it is often Indirect() that attendees haven’t come across but find an immediate use for, often saving a great deal of time and effort in the process.

Indirect used to include references to the sheet named in cell A1

If you have several sheets, each with information for a single department for example, you may want to set up a summary sheet. Rather than creating separate formulae to refer to each sheet, Indirect() can allow you to create a single set of formulae all of which use a reference to a sheet name held in a cell – hopefully an example will make this clearer.

To refer to cell A2 on a sheet named ‘Cuddly Toys’ we would use a formula like this:

=’Cuddly toys’!A2

However, sometimes it would be useful to be able to change a whole series of references to, for example, a different sheet.

We could type the sheet name into a cell on our main sheet, say A1. We could then write a formula to refer to cell A2 on the sheet typed into cell A1.

If we simply type:

=A1!A2

Excel, not unreasonably, looks for a sheet named A1 and fails to find it.

However, we can use the Indirect function instead. Here is the screen from the Paste Function dialog for Indirect:

Indirect 1

& $A$1 & ‘!A2

Our Ref_text entry is a little confusing, so we have highlighted the pairs of speech marks in different colours. We have two items of text, and sandwiched in between them, an absolute reference to the contents of cell A1 – as you can see this correctly returns the contents of that cell – Cuddly toys. The ampersands are used to join the 3 elements of our Ref_Text together. The first text section simply holds a single apostrophe – this is necessary because, if our sheet name contains a space, it must be surrounded by apostrophes to be correctly identified. The second section contains an absolute reference to cell A1 – the cell where we type the name of our sheet. The third text section contains the closing apostrophe for the sheet name, together with the exclamation mark that separates sheet name from cell reference, and the cell reference itself – A2.

This works well to return the contents of cell A2 on our cuddly toys sheet, and if we were to type in ‘Boardgames’ for example, it would automatically return the contents of cell A2 on a sheet named ‘Boardgames’.

However we do have a problem left to solve. We need to refer to many cells on the price list sheets, but if we copy our Indirect cell, the reference to A2 doesn’t change, because it is just text. We can solve this by using a row/column style reference instead of A2:

Indirect 2

& $A$1 & ‘!RC

Note that we have to set the ‘A1’ argument of the function to ‘False’ to use this reference. RC will return the current row and column – so a formula in cell A2 will refer to A2 on cuddly toys, A3 to A3 and so on. If we need to refer to a different cell we would add numbers in square brackets after R and C. So R[1]C[1] would look at the cell one row down and one column right for example.

Using Excel text functions – part 2

Now let’s consider a slightly more difficult situation. In the following example we have a description and an amount in the same cell, but the two are always separated by a hyphen:

Excel text functions - search, len and value

Because neither the length of the text or the figure are necessarily consistent, we can’t use Left, Right or Mid. However, we can instead use the hyphen to work out where the description ends and the number begins. To do this we must first identify how many characters from the left there are before the hyphen.

To do this we use the ‘Search’ function. Here is the function screen for Search:

Search function

Note again that we can just type the hyphen into the ‘Find_text’ box and Excel will automatically add the speech marks. Note also that there is the option to specify the character position at which you want to start the search. This is useful if you need to locate more than one similar character – once you have found the first, you can start the next search from one character position higher. Our example is a simple one that doesn’t use the ‘Start_num’ argument and, as you can see, it returns the position of the hyphen as character 6.

=SEARCH(“-“,A13)

We can now ‘nest’ the Search function within the ‘Left’ function to retrieve the description:

=LEFT(A13,SEARCH(“-“,A13)-1)

In order to exclude the hyphen itself we have subtracted 1 from the result of search. If we copy this formula down our list we can see that it achieves the desired result:

Excel text functions - search

Now to deal with the amount. Whilst we can use Search to find the starting position, we don’t yet know how long the amount is. We can work this out using the ‘Len’ function. ‘Len’ is a very simple function with just one argument – the text string, or cell containing the text string, that we wish to find the length of:

=LEN(A13)

This tells us how long the text is in total, and we have already used Search once to find the position of the hyphen. By combining Len and Search we can calculate how many characters follow the hyphen:

=LEN(A13)-(SEARCH(“-“,A13))

In the case of “Sales-10000” Len will return 11, the hyphen is at position 6, so 11-6 = 5, the number of characters in the amount.

We can use this with the ‘Right’ function to pick out the amount:

=RIGHT(A13,LEN(A13)-(SEARCH(“-“,A13)))

Again we can copy this formula down the list:

Excel text functions - search and len

As you can see above, whilst we have indeed separated out the amount characters, Excel is still treating our text as text and if we used Sum to total column C we would get zero:

We need to convert the text ‘amounts’ into proper numbers. To do this we use the function Value. We will use the value function to convert the three items in our list to numbers. Here is the formula for cell D13:

=VALUE(C13)

We can now copy this down our list and use Sum again to total our new column:

Excel text functions - value

As you can see, the text values are now treated as numbers and Sum works correctly.

These two functions can be used to remove unwanted characters from text. Sometimes, if you import text from other sources, you may end up with non-printing characters, such as carriage returns – Clean will remove these. Trim can be used to get rid of extraneous spaces:

In the following example we have part of an address that includes multiple spaces between ‘High’ and ‘Street’ and a carriage return character to separate the lines of the address.

In column B we have used Trim to get rid of the extra spaces:

=TRIM(A19)

and then in column C we have used Clean on the result to remove the carriage return:

=CLEAN(B19)

Excel text functions - trim and clean

Note that the Trim function leaves a single space between High and Street, but that the Clean function removes the carriage return entirely.

Using Excel text functions to work with analysis codes – part 1

This is the first part of a two part article that was prompted by a comparatively simple query about concatenating text. As well as dealing with that query, we’ll look at some of the simpler Excel text functions for working with text. Part 2 will follow shortly and, in it, I’ll look at some slightly more advanced functions for dealing with less predictable text entries.

Using text functions to deal with analysis codes

First of all let’s deal with the actual query, which asked how to combine text in two separate cells into a single cell. There are two principal ways to achieve this. Perhaps the simplest is to use the ‘&’ within an Excel formula:

In our example we have typed three items of text in columns A, B and C. In cell D1 we have entered the following formula to combine all three into a single cell:

=A1 & ” ” & B1 & ” ” & C1

Alternatively, there is an Excel function that concatenates text in this way. Unsurprisingly it is the ‘Concatenate’ function.

In the following screen shot we have used ‘Insert, Function’ to enter the required details. Note that in order to include spaces between the items of text, we have included “ “ between each pair of cells. Using the Insert Function screen, you just need to enter a space in the appropriate text box – Excel will add the speech marks for you:

So far so good, now let’s see how we cope with combining numbers and text. If we just want the number without worrying about the number format, then we can use exactly the same formula as for two items of text. Here we have included some ‘literal’ text in the formula together with a number in a cell:

As you can see the format is not ideal:

In the following example we have used the ‘Text’ function to format the number in the cell:

Note that you can also use named ranges. So if we name cell B3 as ‘profit’ we could write the formula as:

=”Profit is ” & TEXT(profit,”£#,##0″)

Note that we have included a space after the ‘is’ and before the “ so that the number does not follow on immediately from the text.

To see the text functions available in Word, select Insert, Function and then choose the ‘Text’ category (note that the examples shown are from Excel XP, other versions’ screens are slightly different):

As you can see there are lots of text functions, we will look at a few in detail, but if you want to explore all of them, just scroll through the list using the down arrow key. As you select each function in turn you will see a brief description of what it does towards the bottom of the screen. For more details, click on the ‘Help on this function’ link:

This group of functions can be used to return specific sets of characters from a text string. As you would imagine, Left is used to return a certain number of characters from the beginning of a text string, Right is used to return characters from the end and Mid to return characters from anywhere within the text string.

As an example, we will look at some nominal ledger codes. We will assume that the first two characters represent the company, the next three the branch, and the last four the type of expense or income:

First of all we will use the Left function to list the first two characters in the company column. We can either use Insert, Function or just type the function in directly if we know the required syntax:

=LEFT(A7,2)

Now let’s use Right in a similar way to sort out the four characters from the end of the code:

=RIGHT(A7,4)

As you can see, the syntax of Left and Right are very similar, just referring to the cell holding the code and the number of characters. The final function that we will look at in this section is ‘Mid’ and the syntax for this one is slightly more involved because we need not only to specify the number of characters, but also from which character to start. For this reason you may find it easier to use Insert, Function:

This should create the following formula:

If we now copy the three formulae down to the end of our list, we can see how our text string has been split into the three different sections:

It’s your round

Rounding can often be a problem in a spreadsheet. We’ll start with some relatively simple background stuff then move on to some lesser-known aspects of rounding and displaying rounded values.

What you see isn’t what you calculate – mostly!

The first thing to grasp is that the way Excel displays the contents of a cell generally has no effect on the actual contents of that cell as used in calculations. So a value of 100.05678 will remain as 100.05678 even if the format of the cell is set to display no decimals. There is one important exception to this. There is an option in the ‘Calculations’ tab of the Tools, Options screen that forces Excel to change the contents of the cell to match the ‘precision’ of the format. So if the cell is formatted to display no decimal places, the contents will be permanently rounded to no decimal places – our 100.05678 would become 100.00000:

Before turning on ‘Precision as displayed’

Before precision as displayed

and after:

After precision as displayed

This is an option to be used with great care. It applies to the entire workbook and as soon as it is turned on potentially decreases the accuracy of any figure displayed to fewer decimal places than it actually contains.

Round function

A less drastic method of avoiding rounding errors is to use Excel’s ROUND() function. This allows you to round a number to a specific number of decimal places for use in calculations, without changing the original number. Round takes two arguments – the number to be rounded and the number of decimal places to round to. In this case we have used =ROUND(A2,0) to round to round pounds:

Rounding example

The ‘sum’ formula in cell C5 sums the rounded numbers in C2 to C4, so returns 99 rather than 100. If you need the total to be a particular figure, for example if the 100 was a profit share, then you could set the final rounded figure to be the total minus the sum of the other rounded figures. In this case we have entered a figure of 100 in cell E5, then rounded the calculation of the two shares in E2 andE3, with E4 being =E5-SUM(E2:E3)

Rounding profit shares

More fun with rounding

As well as 0 for no decimal places or a positive number for that number of decimal places, you can also enter a negative number as the decimal place argument of the Round function. For example you could enter -3 to round to thousands:

Rounding to thousands

To change the format to display numbers rounded to thousands you would use the following custom format:

#,###,

for 1,235k

#,###,k

for millions

#,###,,

for 1m

#,###,,”m”

The speech marks are necessary for the m, but not the k, because m is used in formatting to signify a month format.

Peril-sensitive formatting in Excel

Well, given the name of the site I had to do this one sooner rather than later!

Some of you may remember the peril sensitive sunglasses worn by Zaphod Beeblebrox in the Hitchhiker’s guide to the galaxy. Excel has its own version of this useful accessory which it refers to, rather strangely, as ‘Conditional formatting’.

The point of peril sensitive sunglasses was to protect the wearer from danger by turning completely opaque when any threat was imminent. This concept is highly relevant to spreadsheets which often communicate financial or other information that may be upsetting to the user. In this example we are listing the weekly turnover figures for 7 shops, and also including a ‘peril’ level. Results below the peril level will trigger alarm and dismay, so we will use peril sensitive formatting to hide them. Select the cells containing the values – B4 to B11 and then choose Format, Conditional Formatting. Choose ‘Cell Value Is’, ‘less than’ and then refer to our peril level cell, B1. Then click on the Format button and set the ‘Patterns’ to a black background, and the Font to a black font colour:

Peril-sensitive formatting in Excel - black font colour

Once the ‘Pattern’ and the font have been changed to black the screen should look as follows:Peril-sensitive formatting in Excel

If we click the ‘OK’ button, and then click outside our selected area, we can see the effect of the peril sensitive formatting:

Peril-sensitive formatting in Excel - result

The formatting is dynamic, so if we enter new values, or change the peril level, the formatting will change accordingly:

Peril-sensitive formatting in Excel - dynamic

You can set up to three different formats on a cell or range of cells (press the ‘add’ button on the conditional formatting screen to add a second or third format). So you could, for example, use a ‘traffic lights’ system to set the background colour of all cells with values below a ‘minimum’ level to red, those with values above a ‘maximum’ value to green and the ones in between to amber. In Excel 2007 conditional formatting has been greatly enhanced to enable the use of a much wider range of formats and icons to highlight certain values.

Excel protection

After an Excel course I was running at the highly impressive Sage HQ in Newcastle, one of the delegates pointed out that it’s all very well protecting your spreadsheets, but how do you stop users cutting and pasting between unlocked data cells? The effect of this is to potentially mess up the references to the data cells affected even in the protected cells. Of course it would be possible to write VB code to prevent this, or to use form fields or some other method of data entry, but is there a simpler way?

In Excel XP and later, the protection capabilities have been substantially enhanced and allow choice as to what a user can and cannot do. In addition, there is the ability to ‘Allow users to edit ranges’. I wondered whether this might be the solution, so tried leaving all the cells in a sheet locked, but then adding the data cells to an ‘allowed range’ – in this case without setting a password. This did seem to work. When the sheet was protected the protection did not allow cutting and pasting in any locked cells (which was of course all the cells – including those in the allowed range), but because of the allowed range, with no password, data could be entered in these cells. I don’t know whether this is a well-known feature and obvious method of implementing protection since XP changed the protection options, or an unintended but useful consequence. I also haven’t yet tested the way it works thoroughly and am waiting to hear how well the solution works for the person who asked the question in the first place.

Excel protection