Formulas are what make a spreadsheet program so useful. If it weren’t for formulas, a spreadsheet would simply be a glorified word-processing document that has great support for tabular information. You use formulas in your Excel worksheets to calculate results from the data stored in the worksheet. When data changes, those formulas calculate updated results with no extra effort on your part. This chapter introduces formulas and functions and helps you get up to speed with this important element.
A formula is entered into a cell. It performs a calculation of some type and returns a result, which is displayed in the cell. Formulas use a variety of operators and worksheet functions to work with values and text. The values and text used in formulas can be located in other cells, which makes changing data easy and gives worksheets their dynamic nature. For example, you can see multiple scenarios quickly by changing the data in a worksheet and letting your formulas do the work.
A formula can consist of any of these elements:
Mathematical operators, such as +
(for addition) and *
(for multiplication)
Cell references (including named cells and ranges)
Values or text
Worksheet functions (such as SUM
or AVERAGE
)
When you’re working with a table, a new feature in Excel 2007 enables you to create formulas that use column names from the table—which can make your formulas much easier to read. I discuss table formulas later in this chapter. (See “Using Formulas In Tables.”)
After you enter a formula, the cell displays the calculated result of the formula. The formula itself appears in the Formula bar when you select the cell, however.
Following are a few examples of formulas:
| Multiplies 150 times 0.05. This formula uses only values and isn’t all that useful because it always returns the same result. You may as well just enter the value 7.5 into the cell. |
| Adds the values in cells A1 and A2. |
| Subtracts the value in the cell named |
| Adds the values in the range A1:A12. |
| Compares cell A1 with cell C12. If they are identical, the formula returns |
Excel lets you use a variety of operators in your formulas. Operators are symbols that indicate the type of mathematical operation you want the formula to perform. Table 11.1 lists the operators that Excel recognizes. In addition to these, Excel has many built-in functions that enable you to perform additional calculations.
Table 11.1. Operators Used in Formulas
Operator | Name |
---|---|
+ | Addition |
| Subtraction |
| Multiplication |
| Division |
| Exponentiation |
| Concatenation |
| Logical comparison (equal to) |
| Logical comparison (greater than) |
| Logical comparison (less than) |
| Logical comparison (greater than or equal to) |
| Logical comparison (less than or equal to) |
| Logical comparison (not equal to) |
You can, of course, use as many operators as you need to perform the desired calculation.
Following are some examples of formulas that use various operators.
Formula | What It Does |
---|---|
| Joins (concatenates) the two text strings to produce Part-23A. |
| Concatenates the contents of cell A1 with cell A2. Concatenation works with values as well as text. If cell A1 contains |
| Raises 6 to the third power (216). |
| Returns the cube root of 216 (6). |
| Returns |
| Returns |
| Returns |
When Excel calculates the value of a formula, it uses certain rules to determine the order in which the various parts of the formula are calculated. You need to understand these rules if you want your formulas to produce the desired results.
Table 11.2 lists the Excel operator precedence. This table shows that exponentiation has the highest precedence (it’s performed first) and logical comparisons have the lowest precedence (they’re performed last).
You can use parentheses to override the Excel’s built-in order of precedence. Expressions within parentheses are always evaluated first.
The following formula uses parentheses to control the order in which the calculations occur. In this case, cell B3 is subtracted from cell B2 and the result is multiplied by cell B4:
=(B2-B3)*B4
If you enter the formula without the parentheses, Excel computes a different answer. Because multiplication has a higher precedence, cell B3 is multiplied by cell B4. Then this result is subtracted from cell B2, which isn’t what was intended.
The formula without parentheses looks like this:
=B2-B3*B4
It’s a good idea to use parentheses even when they aren’t strictly necessary. Doing so helps to clarify what the formula is intended to do. For example, the following formula makes it perfectly clear that B3 should be multiplied by B4, and the result subtracted from cell B2. Without the parentheses, you would need to remember Excel’s order of precedence.
=B2-(B3*B4)
You can also nest parentheses within formulas—that is, put them inside other parentheses. If you do so, Excel evaluates the most deeply nested expressions first—and then works its way out. Here’s an example of a formula that uses nested parentheses:
=((B2*C2)+(B3*C3)+(B4*C4))*B6
This formula has four sets of parentheses—three sets are nested inside the fourth set. Excel evaluates each nested set of parentheses and then sums the three results. This result is then multiplied by the value in B6.
Although the preceding formula uses four sets of parentheses, only the outer set is really necessary. If you understand operator precedence, it should be clear that you can rewrite this formula as:
=(B2*C2+B3*C3+B4*C4)*B6
Again, using the extra parentheses makes the calculation much clearer.
Every left parenthesis, of course, must have a matching right parenthesis. If you have many levels of nested parentheses, keeping them straight can sometimes be difficult. If the parentheses don’t match, Excel displays a message explaining the problem—and won’t let you enter the formula.
In some cases, if your formula contains mismatched parentheses, Excel may propose a correction to your formula. Figure 11.1 shows an example of the Formula AutoCorrect feature. You may be tempted simply to accept the proposed correction, but be careful—in many cases, the proposed formula, although syntactically correct, isn’t the formula you intended, and it will produce an incorrect result.
Most formulas you create use worksheet functions. These functions enable you to greatly enhance the power of your formulas and perform calculations that are difficult (or even impossible) if you use only the operators discussed previously. For example, you can use the TAN
function to calculate the tangent of an angle. You can’t do this calculation by using only the mathematical operators.
A worksheet function can simplify a formula significantly. To calculate the average of the values in 10 cells (A1:A10) without using a function, you’d have to construct a formula like this:
=(A1+A2+A3+A4+A5+A6+A7+A8+A9+A10)/10
Not very pretty, is it? Even worse, you would need to edit this formula if you added another cell to the range. Fortunately, you can replace this formula with a much simpler one that uses one of Excel’s built-in worksheet functions:
=AVERAGE(A1:A10)
The following formula demonstrates how using a function can enable you to perform calculations that would not be possible otherwise. If (for example) you need to determine the largest value in a range, a formula can’t tell you the answer without using a function. Here’s a simple formula that returns the largest value in the range A1:D100:
=MAX(A1:D100)
Functions also can sometimes eliminate manual editing. Assume that you have a worksheet that contains 1,000 names in cells A1:A1000, and all names appear in all-capital letters. Your boss sees the listing and informs you that the names will be mail-merged with a form letter—so all uppercase is not acceptable; for example, JOHN F. SMITH
must appear as John F. Smith
. You could spend the next several hours reentering the list—or you could use a formula such as the following, which uses a function to convert the text in cell A1 to the proper case:
=PROPER(A1)
Enter this formula once in cell B1 and then copy it down to the next 999 rows. Then select B1:B1000 and use Home Clipboard Copy to copy the range. Next, with B1:B1000 still selected, use Home Clipboard Paste Values to convert the formulas to values. Delete the original column, and you’ve just accomplished several hours of work in less than a minute.
One last example should convince you of the power of functions. Suppose you have a worksheet that calculates sales commissions. If the salesperson sold more than $100,000 of product, the commission rate is 7.5 percent; otherwise the commission rate is 5.0 percent. Without using a function, you would have to create two different formulas and make sure that you used the correct formula for each sales amount. A better solution is to write a formula that uses the IF
function to ensure that you calculate the correct commission, regardless of sales amount:
=IF(A1<100000,A1*5%,A1*7.5%)
This formula performs some simple decision-making. The formula checks the value of cell A1. If this value is less than 100,000, the formula returns cell A1 multiplied by 5 percent. Otherwise it returns what’s in cell A1, multiplied by 7.5 percent.
In the preceding examples, you may have noticed that all the functions used parentheses. The information inside the parentheses is called the list of arguments.
Functions vary in how they use arguments. Depending on what it has to do, a function may use
No arguments
One argument
A fixed number of arguments
An indeterminate number of arguments
Optional arguments
An example of a function that doesn’t use an argument is the NOW
function, which returns the current date and time. Even if a function doesn’t use an argument, you must still provide a set of empty parentheses, like this:
=NOW()
If a function uses more than one argument, you must separate each argument with a comma. The examples at the beginning of the chapter used cell references for arguments. Excel is quite flexible when it comes to function arguments, however. An argument can consist of a cell reference, literal values, literal text strings, expressions, and even other functions.
All told, Excel includes 340 functions. And if that’s not enough, you can purchase additional specialized functions from third-party suppliers—and even create your own custom functions (by using VBA) if you’re so inclined.
Some users feel a bit overwhelmed by the sheer number of functions, but you’ll probably find that you use only a dozen or so on a regular basis. And as you’ll see, Excel’s Insert Function dialog box (described later in this chapter) makes it easy to locate and insert a function, even if it’s not one that you use frequently.
You’ll find many examples of Excel’s built-in functions in Chapters 12 through 18. Appendix A contains a complete listing of Excel’s worksheet functions, with a brief description of each. Chapter 40 covers the basics of creating custom functions with VBA.
As I mentioned earlier, a formula must begin with an equal sign to inform Excel that the cell contains a formula rather than text. Excel provides two ways to enter a formula into a cell: manually or by pointing to cell references. The following sections discuss each way in detail.
Excel 2007 provides additional assistance when you create formulas by displaying a drop-down list that contains function names and range names. The items displayed in the list are determined by what you’ve already typed. For example, if you’re entering a formula and type the letter T, you’ll see the drop-down list shown in Figure 11.2. If you type an additional letter, the list is shortened to show only the matching functions. To have Excel autocomplete an entry in that list, use the arrow keys to highlight the entry, and then press Tab. Notice that highlighting a function in the list also displays a brief description of the function. See the sidebar “Using Formula Autocomplete” for an example of how this new feature works.
Entering a formula manually involves, well, entering a formula manually. In a selected cell, you simply type an equal sign (=) followed by the formula. As you type, the characters appear in the cell and in the Formula bar. You can, of course, use all the normal editing keys when entering a formula.
Even though you can enter formulas by typing in the entire formula, Excel provides another method of entering formulas that is generally easier, faster, and less error-prone. This method still involves some manual typing, but you can simply point to the cell references instead of typing their values manually. For example, to enter the formula =A1+A2 into cell A3, follow these steps:
Move the cell pointer to cell A3.
Type an equal sign (=) to begin the formula. Notice that Excel displays Enter
in the status bar (bottom left of your screen).
Press the up arrow twice. As you press this key, Excel displays a faint moving border around cell A1, and the cell reference appears in cell A3 and in the Formula bar. In addition, Excel displays Point in the status bar.
Type a plus sign (+). A solid-color border replaces the faint border, and Enter reappears in the status bar.
Press the up arrow again, which puts the moving border around cell A2, and adds that cell address to the formula.
Press Enter to end the formula.
If your formula uses named cells or ranges, you can either type the name in place of the address or choose the name from a list and have Excel insert the name for you automatically. Two ways to insert a name into a formula are available:
Select the name from the drop-down list: To use this method, you must know at least the first character of the name. When you’re entering the formula, type the first character and then select the name from the drop-down list.
Press F3: This key displays the Paste Name dialog box. Select the name from the list and click OK (or just double-click the name). Excel will enter the name into your formula. If no names are defined, pressing F3 has no effect.
Figure 11.3 shows an example. The worksheet contains two defined names: Expenses
and Sales
. The Paste Name dialog box is being used to insert a name (Sales
) into the formula being entered in cell B11.
Refer to Chapter 5 for information about defining names.
The easiest way to enter a function into a formula is to use the drop-down list that Excel displays while you type a formula. In order to use this method, however, you must know at least the first character of the function’s name.
Another way to insert a function is to use the Function Library group on the Formulas tab (see Figure 11.4). This is especially useful if you can’t remember which function you need. Click the function category (Financial, Logical, Text, etc.) and you’ll get a list of the function in that category. Click the function you want, and Excel displays its Function Arguments dialog box. This is where you enter the function’s arguments. In addition, you can click the Help On This Function link to learn more about the selected function.
Yet another way to insert a function into a formula is to use Excel’s Insert Function dialog box (see Figure 11.5). You can access this dialog box in several ways:
By using the Formulas Function Library Insert Function command.
By clicking the Insert Function icon, which is directly to the left of the Formula bar. This button displays fx
.
By pressing Shift+F3.
The Insert Function dialog box shows a drop-down list of function categories. Select a category, and the functions in that category are displayed in the list box. To access a function that you’ve used recently, select Most Recently Used from the drop-down list.
If you’re not sure which function you need, you can search for the appropriate function by using the Search For A Function box at the top of the dialog box. Enter your search terms, click Go, and you’ll get a list of relevant functions. When you select a function in the Select A Function list box, Excel displays the function (and its argument names) in the dialog box along with a brief description of what the function does.
When you locate the function you want to use, highlight it and click OK. Excel then displays its Function Arguments dialog box, as shown in Figure 11.6. Use this dialog box to specify the arguments for the function. The dialog box will vary, depending on the function you’re inserting, and it will show one text box for each of the function’s arguments. To use a cell or range reference as an argument, you can enter the address manually or click inside the argument box and then select (that is, point to) the cell or range in the sheet). After you’ve specified all the function arguments, click OK.
Yet another way to insert a function while you’re entering a formula is to use the Function List to the left of the Formula bar. When you are entering or editing a formula, the space normally occupied by the Name box displays a list of the functions you’ve used most recently. After you select a function from this list, Excel displays the Function Arguments dialog box.
Following are some additional tips to keep in mind when you use the Insert Function dialog box to enter functions:
You can use the Insert Function dialog box to insert a function into an existing formula. Just edit the formula and move the insertion point to the location at which you want to insert the function. Then open the Insert Function dialog box (using any of the methods described above) and select the function.
You can also use the Function Arguments dialog box to modify the arguments for a function in an existing formula. Click the function in the Formula bar and then click the Insert Function button (the fx button, to the left of the Formula bar).
If you change your mind about entering a function, click the Cancel button.
How many boxes you see in the Function Arguments dialog box depends on the number of arguments used in the function you selected. If a function uses no arguments, you won’t see any boxes. If the function uses a variable number of arguments (such as the AVERAGE
function), Excel adds a new box every time you enter an optional argument.
As you provide arguments in the Function Argument dialog box, the value of each argument is displayed to the right of each box.
A few functions, such as INDEX
, have more than one form. If you choose such a function, Excel displays another dialog box that lets you choose which form you want to use.
As you become familiar with the functions, you can bypass the Insert Function dialog box and enter the function directly. Excel prompts you with argument names as you enter the function.
After you’ve entered a formula, you can (of course) edit that formula. You may need to edit a formula if you make some changes to your worksheet and then have to adjust the formula to accommodate the changes. Or the formula may return an error value, in which case you edit the formula to correct the error.
The following are some of the ways to get into cell edit mode:
Double-click the cell, which enables you to edit the cell contents directly in the cell.
Press F2, which enables you to edit the cell contents directly in the cell.
Select the cell that you want to edit, and then click in the Formula bar. This enables you to edit the cell contents in the Formula bar.
If the cell contains a formula that returns an error, Excel will display a small triangle in the upper-left corner of the cell. Activate the cell, and you’ll see a Smart Tag. Click the Smart Tag, and you can choose one of the options for correcting the error. (The options will vary according to the type of error in the cell.)
You can control whether Excel displays these formula-error-checking Smart Tags in the Formulas section of the Excel Options dialog box. To display this dialog box, select Office Excel Options. If you remove the check mark from Enable Background Error Checking, Excel no longer displays these Smart Tags.
While you’re editing a formula, you can select multiple characters either by dragging the mouse cursor over them or by pressing Shift while you use the direction keys.
If you have a formula that you can’t seem to edit correctly, you can convert the formula to text and tackle it again later. To convert a formula to text, just remove the initial equal sign (=). When you’re ready to try again, type the initial equal sign to convert the cell contents back to a formula.
Most formulas you create include references to cells or ranges. These references enable your formulas to work dynamically with the data contained in those cells or ranges rather than being restricted to fixed values. For example, if your formula refers to cell A1 and you change the value contained in A1, the formula result changes to reflect the new value. If you didn’t use references in your formulas, you would need to edit the formulas themselves in order to change the values used in the formulas.
When you use a cell (or range) reference in a formula, you can use three types of references:
Relative: The row and column references can change when you copy the formula to another cell because the references are actually offsets from the current row and column.
Absolute: The row and column references do not change when you copy the formula because the reference is to an actual cell address.
Mixed: Either the row or column reference is relative, and the other is absolute.
An absolute reference uses two dollar signs in its address: one for the column letter and one for the row number (for example, $A$5). Excel also allows mixed references in which only one of the address parts is absolute (for example, $A4 or A$4).
By default, Excel creates relative cell references in formulas. The distinction becomes apparent when you copy a formula to another cell.
Figure 11.7 shows a simple worksheet. The formula in cell D2, which multiplies the quantity by the price, is
=B2*C2
This formula uses relative cell references. Therefore, when the formula is copied to the cells below it, the references adjust in a relative manner. For example, the formula in cell D3 is
=B3*C3
But what if the cell references in D2 contained absolute references, like this?
=$B$2*$C$2
In this case, copying the formula to the cells below would produce incorrect results. The formula in cell D3 would be exactly the same as the formula in cell D2.
Now I’ll extend the example to calculate sales tax, which is stored in cell B7 (see Figure 11.8). In this situation, the formula in cell D2 is
=B2*C2*$B$7
The quantity is multiplied by the price, and the result is multiplied by the sales-tax rate stored in cell B7. Notice that the reference to B7 is an absolute reference. When the formula in D2 is copied to the cells below it, cell D3 will contain this formula:
=B3*C3*$B$7
Here, the references to cells B2 and C2 were adjusted, but the reference to cell B7 was not—which is exactly what I want.
Figure 11.9 demonstrates the use of mixed references. The formulas in the C3:F7 range calculate the area for various lengths and widths. The formula in cell C3 is
=$B3*C$2
Notice that both cell references are mixed. The reference to cell B3 uses an absolute reference for the column ($B), and the reference to cell C2 uses an absolute reference for the row ($2). As a result, this formula can be copied down and across, and the calculations will be correct. For example, the formula in cell F7 is
=$B7*F$2
If C3 used either absolute or relative references, copying the formula would produce incorrect results.
You can enter nonrelative references (that is, absolute or mixed) manually by inserting dollar signs in the appropriate positions of the cell address. Or you can use a handy shortcut: the F4 key. When you’ve entered a cell reference (by typing it or by pointing), you can press F4 repeatedly to have Excel cycle through all four reference types.
For example, if you enter =A1 to start a formula, pressing F4 converts the cell reference to =$A$1
. Pressing F4 again converts it to =A$1
. Pressing it again displays =$A1
. Pressing it one more time returns to the original =A1
. Keep pressing F4 until Excel displays the type of reference that you want.
When you name a cell or range, Excel (by default) uses an absolute reference for the name. For example, if you give the name SalesForecast
to A1:A12, the Refers To box in the New Name dialog box lists the reference as $A$1:$A$12
. This is almost always what you want. If you copy a cell that has a named reference in its formula, the copied formula contains a reference to the original name.
Formulas can also refer to cells in other worksheets—and the worksheets don’t even have to be in the same workbook. Excel uses a special type of notation to handle these types of references.
To use a reference to a cell in another worksheet in the same workbook, use this format:
SheetName!CellAddress
In other words, precede the cell address with the worksheet name, followed by an exclamation point. Here’s an example of a formula that uses a cell on the Sheet2
worksheet:
=A1*Sheet2!A1
This formula multiplies the value in cell A1 on the current worksheet by the value in cell A1 on Sheet2
.
To refer to a cell in a different workbook, use this format:
=[WorkbookName]SheetName!CellAddress
In this case, the workbook name (in square brackets), the worksheet name, and an exclamation point precede the cell address. The following is an example of a formula that uses a cell reference in the Sheet1
worksheet in a workbook named Budget
:
=[Budget.xlsx]Sheet1!A1
If the workbook name in the reference includes one or more spaces, you must enclose it (and the sheet name) in single quotation marks. For example, here’s a formula that refers to a cell on Sheet1
in a workbook named Budget For 2008
:
=A1*'[Budget For 2008.xlsx]Sheet1'!A1
When a formula refers to cells in a different workbook, the other workbook doesn’t have to be open. If the workbook is closed, however, you must add the complete path to the reference so that Excel can find it. Here’s an example:
=A1*'C:My Documents[Budget For 2008.xlsx]Sheet1'!A1
A linked file can also reside on another system that’s accessible on your corporate network. The formula below, for example, refers to a cell in a workbook in the files directory of a computer named DataServer
.
='\DataServerfiles[budget.xlsx]Sheet1'!$D$7
Refer to Chapter 27 for more information about linking workbooks.
To create formulas that refer to cells not in the current worksheet, point to the cells rather than entering their references manually. Excel takes care of the details regarding the workbook and worksheet references. The workbook you’re referencing in your formula must be open if you’re going to use the pointing method.
One of the most significant new features in Excel 2007 is its support for tables. In this section I describe how formulas work with tables.
See Chapter 6 for an introduction to the new table features.
Figure 11.10 shows a simple table with three columns. I entered the data, and then converted the range to a table by choosing Insert Tables Table. Note that I didn’t define any names, but the table is named Table1
by default.
If you’d like to calculate the total projected and total actual sales, you don’t even need to write a formula. Simply click a button to add a row of summary formulas to the table:
Activate any cell in the table.
Place a check mark next to Table Tools Design Table Style Options Total Row.
Activate a cell in the Total Row and use the drop-down list to select the type of summary formula to use (see Figure 11.11). For example, to calculate the sum of the Actual column, select SUM
from the drop-down list in cell D15. Excel creates this formula:
=SUBTOTAL(109,[Actual])
For the SUBTOTAL
function, 109 is an enumerated argument that represents SUM
. The second argument for the SUBTOTAL
function is the column name, in square brackets. Using the column name within brackets is a new way to create “structured” references within a table. (I discuss this further in an upcoming section, “Referencing data in a table.”)
In many cases, you’ll want to use formulas within a table. For example, in the table shown in Figure 11.11, you may want a column that shows the difference between the Actual and Projected amounts. As you’ll see, Excel 2007 makes this very easy.
Activate cell E2 and type Difference for the column header. Excel automatically expands the table for you.
Next move to cell E3 and type an equal sign to signify the beginning of a formula.
Press the left arrow key. Excel displays [Actual]
, which is the column heading, in the Formula bar.
Type a minus sign and then press left arrow twice. Excel displays [Projected]
in your formula.
Press Enter to end the formula. Excel copies the formula to all rows in the table.
Figure 11.12 shows the table with the new column.
If you examine the table, you’ll find this formula for all cells in the Difference
column:
=[Actual]-[Projected]
Although the formula was entered into the first row of the table, that’s not necessary. Any time a formula is entered into an empty table column, it will automatically fill all the cells in that column. And if you need to edit the formula, Excel will automatically copy the edited formula to the other cells in the column.
The steps listed above used the pointing technique to create the formula. Alternatively, you could have entered it manually using standard cell references. For example, you could have entered the following formula in cell E3:
=D3-C3
If you type the cell references, Excel will still copy the formula to the other cells automatically.
One thing should be clear, however, about formulas that use the column headers: They are much easier to understand.
Excel 2007 adds some news ways to refer to data that’s contained in a table by using the table name and column headers. There is no need to create names for these items. The table itself has a name (for example, Table1
), and you can refer to data within the table by using column headers.
You can, of course, use standard cell references to refer to data in a table, but the new method has a distinct advantage: The names adjust automatically if the table size changes by adding or deleting rows.
Refer to the table shown in Figure 11.11. This table was given the name Table1
when it was created. To calculate the sum of all the data in the table, use this formula:
=SUM(Table1)
This formula will always return the sum of all the data, even if rows or columns are added or deleted. And if you change the name of Table1, Excel will adjust formulas that refer to that table automatically. For example, if you renamed Table1
to be AnnualData
(by using the Name Manager), the preceding formula would be changed to:
=SUM(AnnualData)
Most of the time, you’ll want to refer to a specific column in the table. The following formula returns the sum of the data in the Actual
column:
=SUM(Table1[Actual])
Notice that the column name is enclosed in square brackets. Again, the formula adjusts automatically if you change the text in the column heading.
Even better, Excel provides some helpful assistance when you create a formula that refers to data within a table. Figure 11.13 shows the formula autocomplete
helping to create a formula by showing a list of the elements in the table.
Sometimes, when you enter a formula, Excel displays a value that begins with a hash mark (#
). This is a signal that the formula is returning an error value. You have to correct the formula (or correct a cell that the formula references) to get rid of the error display.
If the entire cell is filled with hash-mark characters, this means that the column isn’t wide enough to display the value. You can either widen the column or change the number format of the cell.
In some cases, Excel won’t even let you enter an erroneous formula. For example, the following formula is missing the closing parenthesis:
=A1*(B1+C2
If you attempt to enter this formula, Excel informs you that you have unmatched parentheses, and it proposes a correction. Often, the proposed correction is accurate, but you can’t count on it.
Table 11.3 lists the types of error values that may appear in a cell that has a formula. Formulas may return an error value if a cell to which they refer has an error value. This is known as the ripple effect—a single error value can make its way into lots of other cells that contain formulas that depend on that one cell.
Table 11.3. Excel Error Values
Error Value | Explanation |
---|---|
| The formula is trying to divide by zero. This also occurs when the formula attempts to divide by what’s in a cell that is empty (that is, by nothing). |
| The formula uses a name that Excel doesn’t recognize. This can happen if you delete a name that’s used in the formula or if you have unmatched quotes when using text. |
| The formula is referring (directly or indirectly) to a cell that uses the NA function to signal that data is not available. Some functions (for example, |
| The formula uses an intersection of two ranges that don’t intersect. (This concept is described later in the chapter.) |
| A problem with a value exists; for example, you specified a negative number where a positive number is expected. |
| The formula refers to a cell that isn’t valid. This can happen if the cell has been deleted from the worksheet. |
| The formula includes an argument or operand of the wrong type. An operand is a value or cell reference that a formula uses to calculate a result. |
When you’re entering formulas, you may occasionally see a Circular Reference Warning message, shown in Figure 11.14, indicating that the formula you just entered will result in a circular reference. A circular reference occurs when a formula refers to its own value—either directly or indirectly. For example, you create a circular reference if you enter =A1+A2+A3 into cell A3 because the formula in cell A3 refers to cell A3. Every time the formula in A3 is calculated, it must be calculated again because A3 has changed. The calculation could go on forever.
When you get the circular reference message after entering a formula, Excel gives you two options:
Click OK, and Excel displays a Help screen that tells you more about circular references.
Click Cancel to enter the formula as is.
Regardless of which option you choose, Excel displays a message in the left side of the status bar to remind you that a circular reference exists.
Excel won’t tell you about a circular reference if the Enable Interative Calculationsetting is in effect. You can check this setting in the Formulas section of the Excel Options dialog box. (To display this dialog box, select Office Excel Options.) If Enable Interative Calculation is turned on, Excel performs the circular calculation exactly the number of times specified in the Maximum Iterations
field (or until the value changes by less than 0.001 or whatever value is in the Maximum Change
field). In a few situations, you may use a circular reference intentionally. In these cases, the Enable Interative Calculation setting must be on. However, it’s best to keep this setting turned off so you’re warned of circular references. Usually a circular reference indicates an error that you must correct.
Usually, a circular reference is quite obvious—easy to identify and correct. But when a circular reference is indirect—as when a formula refers to another formula that refers to yet another formula that refers back to the original formula—it may require a bit of detective work to get to the problem.
You’ve probably noticed that Excel calculates the formulas in your worksheet immediately. If you change any cells that the formula uses, Excel displays the formula’s new result with no effort on your part. All this happens when Excel’s Calculation mode is set to Automatic. In Automatic Calculation mode (which is the default mode), Excel follows these rules when it calculates your worksheet:
When you make a change—enter or edit data or formulas, for example—Excel calculates immediately those formulas that depend on new or edited data.
If Excel is in the middle of a lengthy calculation, it temporarily suspends the calculation when you need to perform other worksheet tasks; it resumes calculating when you’re finished with your other worksheet tasks.
Formulas are evaluated in a natural sequence. In other words, if a formula in cell D12 depends on the result of a formula in cell D11, Excel calculates cell D11 before calculating D12.
Sometimes, however, you may want to control when Excel calculates formulas. For example, if you create a worksheet with thousands of complex formulas, you’ll find that processing can slow to a snail’s pace while Excel does its thing. In such a case, set Excel’s calculation mode to Manual—which you can do by choosing Formulas Calculation Calculation Options Manual (see Figure 11.15)
If your worksheet uses any data tables (described in Chapter 36), you may want to select the option labeled Automatically Except For Data Tables
. Large data tables calculate notoriously slowly. Note: A data table is not the same as a table created by choosing Insert Tables Table.
When you’re working in Manual Calculation mode, Excel displays Calculate
in the status bar when you have any uncalculated formulas. You can use the following shortcut keys to recalculate the formulas:
F9: Calculates the formulas in all open workbooks.
Shift+F9: Calculates only the formulas in the active worksheet. Other worksheets in the same workbook aren’t calculated.
Ctrl+Alt+F9: Forces a complete recalculation of all formulas.
Ctrl+Alt+Shift+F9: Re-evaluates all formula dependencies and forces a complete recalculation.
Using range names can make your formulas easier to understand, easier to modify, and even help prevent errors. It’s much easier to deal with a meaningful name such as AnnualSales
than with a range reference such as AB12:AB68.
See Chapter 5 for basic information regarding working with names.
Excel offers a number of advanced techniques that make using names even more useful. I discuss these techniques in the sections that follow.
Many Excel users don’t realize that you can give a name to an item that doesn’t appear in a cell. For example, if formulas in your worksheet use a sales-tax rate, you would probably insert the tax-rate value into a cell and use this cell reference in your formulas. To make things easier, you would probably also name this cell something similar to SalesTax
.
Here’s how to provide a name for a value that doesn’t appear in a cell:
Choose Formulas Defined Names Define Name. Excel displays the New Name dialog box.
Enter the name (in this case, SalesTax ) into the field labeled Name
.
Select a scope in which the name will be valid (either the entire workbook or a specific worksheet).
Click the Refers To box, delete its contents, and replace the old contents with a value (such as .075).
Use the Comment box to provide a comment about the name (optional).
Click OK to close the New Name dialog box and create the name.
You just created a name that refers to a constant rather than a cell or range. Now if you type =SalesTax into a cell that’s within the scope of the name, this simple formula returns 0.075
—the constant that you defined. You also can use this constant in a formula, such as =A1*SalesTax
.
Just as you can create a named constant, you can also create named formulas. As with named constants, named formulas don’t appear in the worksheet.
You create named formulas the same way you create named constants—by using the New Name dialog box. For example, you might create a named formula that calculates the monthly interest rate from an annual rate; Figure 11.16 shows an example. In this case, the name MonthlyRate
refers to the following formula:
=Sheet1!$B$1/12
When you use the name MonthlyRate
in a formula, it uses the value in B1 divided by 12. Notice that the cell reference is an absolute reference.
Naming formulas gets more interesting when you use relative references rather than absolute references. When you use the pointing technique to create a formula in the Refers To box of the New Name dialog box, Excel always uses absolute cell references—which is unlike its behavior when you create a formula in a cell.
For example, activate cell B1 on Sheet1
and create the name Cubed for the following formula:
=Sheet1!A1^3
In this example, the relative reference points to the cell to the left of the cell in which the name is used. Therefore, make certain that cell B1 is the active cell before you open the New Name dialog box; this is very important. The formula contains a relative reference; when you use this named formula in a worksheet, the cell reference is always relative to the cell that contains the formula. For example, if you enter =Cubed into cell D12, then cell D12 displays the contents of cell C12 raised to the third power (C12 is the cell directly to the left of D12).
This section describes a concept known as range intersections—individual cells that two ranges have in common. Excel uses an intersection operator—a space character—to determine the overlapping references in two ranges. Figure 11.17 shows a simple example.
The formula in cell B9 is
=B1:B6 A3:D3
This formula returns 10
, the value in cell B3—that is, the value at the intersection of the two ranges.
The intersection operator is one of three reference operators used with ranges. Table 11.4 lists these operators.
Table 11.4. Reference Operators for Ranges
Operator | What It Does |
---|---|
| Specifies a range. |
| Specifies the union of two ranges. This operator combines multiple range references into a single reference. |
(space) | Specifies the intersection of two ranges. This operator produces cells that are common to two ranges. |
The real value of knowing about range intersections is apparent when you use names. Examine Figure 11.18, which shows a table of values. I selected the entire table and then used Formulas Defined Names Create From Selection to create names automatically by using the top row and left column.
Excel created the following names:
North |
|
|
|
South |
|
|
|
West |
|
|
|
East |
|
|
|
With these names defined, you can create formulas that are easy to read and use. For example, to calculate the total for Quarter 4, just use this formula:
=SUM(Qtr4)
To refer to a single cell, use the intersection operator. Move to any blank cell and enter the following formula:
=Qtr1 West
This formula returns the value for the first quarter for the West
region. In other words, it returns the value that exists where the Qtr1
range intersects with the West
range. Naming ranges in this manner can help you create very readable formulas.
When you create a name for a cell or a range, Excel doesn’t automatically use the name in place of existing references in your formulas. For example, suppose you have the following formula in cell F10:
=A1-A2
If you define a name Income
for A1 and Expenses
for A2, Excel won’t automatically change your formula to =Income-Expenses
. Replacing cell or range references with their corresponding names is fairly easy, however.
To apply names to cell references in formulas after the fact, start by selecting the range that you want to modify. Then choose Formulas Defined Names Define Name Apply Names. Excel displays the Apply Names dialog box, as shown in Figure 11.19. Select the names that you want to apply by clicking them and then click OK. Excel replaces the range references with the names in the selected cells.
In this section, I offer a few additional tips and pointers relevant to formulas.
When you create a formula, think twice before you use any specific value in the formula. For example, if your formula calculates sales tax (which is 6.5 percent), you may be tempted to enter a formula, such as the following:
+A1*.065
A better approach is to insert the sales tax rate in a cell—and use the cell reference. Or you can define the tax rate as a named constant, using the technique presented earlier in this chapter. Doing so makes modifying and maintaining your worksheet easier. For example, if the sales tax rate changed to 6.75 percent, you would have to modify every formula that used the old value. If you store the tax rate in a cell, however, you simply change that one cell—and Excel updates all the formulas.
If you simply need to perform a calculation, you can use the Formula bar as a calculator. For example, enter the following formula—but don’t press Enter:
=(145*1.05)/12
If you press Enter, Excel enters the formula into the cell. But because this formula always returns the same result, you may prefer to store the formula’s result rather than the formula itself. To do so, press F9—and watch the result appear in the Formula bar. Press Enter to store the result in the active cell. (This technique also works if the formula uses cell references or worksheet functions.)
When you copy a formula, Excel adjusts its cell references when you paste the formula to a different location. Sometimes, you may want to make an exact copy of the formula. One way to do this is to convert the cell references to absolute values, but this isn’t always desirable. A better approach is to select the formula in Edit mode and then copy it to the Clipboard as text. You can do this in several ways. Here’s a step-by-step example of how to make an exact copy of the formula in A1—and copy it to A2:
Double-click A1 (or press F2) to get into Edit mode.
Drag the mouse to select the entire formula. You can drag from left to right or from right to left. To select the entire formula with the keyboard, press Shift+Home.
Choose Home Clipboard Copy(or press Ctrl+C). This copies the selected text (which will become the copied formula) to the Clipboard.
Press Esc to get out of Edit mode.
Select cell A2.
Home Clipboard Paste (or press Ctrl+V) to paste the text into cell A2.
You also can use this technique to copy just part of a formula, if you want to use that part in another formula. Just select the part of the formula that you want to copy by dragging the mouse, and then use any of the available techniques to copy the selection to the Clipboard. You can then paste the text to another cell.
Formulas (or parts of formulas) copied in this manner won’t have their cell references adjusted when they are pasted to a new cell. That’s because the formulas are being copied as text, not as actual formulas.
You can also convert a formula to text by adding an apostrophe (′
) in front of the equal sign. Then, copy the formula as usual and paste it to its new location. Remove the apostrophe from the pasted formula, and it will be identical to the original formula. And don’t forget to remove the apostrophe from the original formula as well.
If you have a range of formulas that will always produce the same result (that is, dead formulas), you may want to convert them to values. If, say, range A1:A20 contains formulas that have calculated results that will never change—or that you don’t want to change. For example, if you use the RANDBETWEEN
function to create a set of random numbers and you don’t want Excel to recalculate those random numbers each time you press Enter, you can convert the formulas to values. Just follow these steps: