Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon interface.
With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company.
Learn more about Allen...
Please Note: This article is written for users of the following Microsoft Excel versions: 97, 2000, 2002, and 2003. If you are using a later version (Excel 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Excel, click here: Relative References within Named Ranges.
Chris has set up a worksheet where he uses named ranges (rows) in his formulas. He has named the entire sales row as "Sales," and then uses the Sales name in various formulas. For instance, in any given column he can say =Sales, and the value of the Sales row, for that column, is returned by the formula. Chris was wondering how to use the same formula technique to refer to cells in different columns.
There are a couple of different ways this can be done. First of all, you can use the INDEX function to refer to the cells. The rigorous way to refer to the value of Sales in the same column is as follows:
This works if the Sales named range really does refer to the entire row in the worksheet. If it does not (for instance, Sales may refer to cells C10:K10), then the following formula refers to the value of Sales in the same column in which the formula occurs:
If you want to refer to a different column, then simply adjust the value that is added to the column designation in the INDEX function. For example, if you wanted to determine the difference between the sales for the current column and the sales in the previous column, then you would use the following:
=INDEX(Sales,1,COLUMN()-COLUMN(Sales)+1) - INDEX(Sales,1,COLUMN()-COLUMN(Sales))
The "shorthand" version for this formula would be as follows:
=Sales - INDEX(Sales,1,COLUMN()-COLUMN(Sales))
There are other functions you can use besides INDEX (such as OFFSET), but the technique is still the same—you must find a way to refer to an offset from the present column.
There is an easier way to get at the desired data, however. Let's say that your Sales range also has a heading row about it, similar to what is shown in the following: (See Figure 1.)
Figure 1. Example sales data.
The heading row lists the years for the range, and the values under the headings are those that actually make up the Sales range. To make sure this technique will work, follow these steps:
Figure 2. The Calculation tab of the Options dialog box.
With this configuration change done, you can use the following as your formulas:
=Sales '2009' – Sales '2004'
What you are actually doing is instructing Excel to work with unions of cells. In this instance, Sales '2009' returns the cell at the intersection of the Sales range and the '2009' column. A similar union is returned for the portion of the formula to the right of the minus sign. The result is the subtraction of the two values you wanted.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (3202) applies to Microsoft Excel 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Relative References within Named Ranges.
Program Successfully in Excel! John Walkenbach's name is synonymous with excellence in deciphering complex technical topics. With this comprehensive guide, "Mr. Spreadsheet" shows how to maximize your Excel experience using professional spreadsheet application development tips from his own personal bookshelf. Check out Excel 2013 Power Programming with VBA today!